Проблема с защитой импорта

Issues related to VMProtect
Post Reply
Игорь
Posts: 8
Joined: Fri May 18, 2012 9:22 am

Проблема с защитой импорта

Post by Игорь »

В своей программе динамически подключаю ntdll.dll, использую 2 функции

Code: Select all

var
  hLibrary: HMODULE;
begin
  try    
    hLibrary := LoadLibrary('ntdll.dll');
    if hLibrary <> 0 then
    begin
        @_NtQuerySystemInformation := GetProcAddress(hLibrary, 'NtQuerySystemInformation');
        @_NtQueryInformationProcess := GetProcAddress(hLibrary, 'NtQueryInformationProcess');
    end;

Далее упаковываю .exe(64 бит, скомпилирован в DXE2)
1.png
1.png (37.37 KiB) Viewed 17738 times
Windows 7 SP1 x64

Программа завершается с ошибками
2.png
2.png (34.38 KiB) Viewed 17738 times
3.png
3.png (4.67 KiB) Viewed 17738 times
Сигнатура проблемы:
Имя события проблемы: APPCRASH
Имя приложения: procman.vmp.exe
Версия приложения: 1.0.2.0
Отметка времени приложения: 4feb4924
Имя модуля с ошибкой: ntdll.dll
Версия модуля с ошибкой: 6.1.7601.17514
Отметка времени модуля с ошибкой: 4ce7c8f9
Код исключения: c0000005
Смещение исключения: 0000000000018e3d
Версия ОС: 6.1.7601.2.1.0.768.3
Код языка: 1049
Дополнительные сведения 1: 3e17
Дополнительные сведения 2: 3e17cb409254b3461dfbc1155f1bfcc3
Дополнительные сведения 3: bbeb
Дополнительные сведения 4: bbeb3a7898194486c0202e3f8a07a1de


Если не загужаю ntdll.dll и "Защита импорта" включена проблем не возникает

VMProtect Ultimate 2.1.2.6186

С предыдущей версией VMProtect такой проблеммы не замечал
Admin
Site Admin
Posts: 2586
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Проблема с защитой импорта

Post by Admin »

Присылайте тестовый пример, на котором воспроизводится проблема.
Игорь
Posts: 8
Joined: Fri May 18, 2012 9:22 am

Re: Проблема с защитой импорта

Post by Игорь »

Admin wrote:Присылайте тестовый пример, на котором воспроизводится проблема.
http://www.smalldonkey.net/vmerr/procman.zip
Admin
Site Admin
Posts: 2586
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Проблема с защитой импорта

Post by Admin »

Можно собрать с МАР файлом?
Игорь
Posts: 8
Joined: Fri May 18, 2012 9:22 am

Re: Проблема с защитой импорта

Post by Игорь »

Admin wrote:Можно собрать с МАР файлом?
http://www.smalldonkey.net/vmerr/procman2.zip
Admin
Site Admin
Posts: 2586
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Проблема с защитой импорта

Post by Admin »

Под отладчиком ваш оригинальный файл падает в том же самом месте:
Access violation at address 00000000004DE248 in module'procman.exe'. Read of address 0000000000000438
и VMProtect здесь непричем.
Скорее всего у вас идет рассинхронизация 2-х потоков и в потоке, в котором идет работа с GUI идет обращение по нулевому указателю:

Code: Select all

00000000004DE240 53                      push rbx <- Vcl.Controls.TWinControl.HandleNeeded
00000000004DE241 4883EC20                sub rsp, 20 
00000000004DE245 4889CB                  mov rbx, rcx 
00000000004DE248 4883BB3804000000        cmp qword ptr [rbx+0000000000000438], 00 <- падение здесь
00000000004DE250 751C                    jnz 00000000004DE26E
00000000004DE252 48837B6800              cmp qword ptr [rbx+68], 00 
00000000004DE257 7409                    jz 00000000004DE262
00000000004DE259 488B4B68                mov rcx, [rbx+68] 
00000000004DE25D E8DEFFFFFF              call 00000000004DE240 -> Vcl.Controls.TWinControl.HandleNeeded
00000000004DE262 4889D9                  mov rcx, rbx 
00000000004DE265 488B1B                  mov rbx, [rbx] 
00000000004DE268 FF9368010000            call qword ptr [rbx+0000000000000168] 
00000000004DE26E 4883C420                add rsp, 20 
00000000004DE272 5B                      pop rbx 
00000000004DE273 C3                      ret 
Игорь
Posts: 8
Joined: Fri May 18, 2012 9:22 am

Re: Проблема с защитой импорта

Post by Игорь »

Извиняюсь что напряг вас, VMProtect непричем, моя ошибка, пипец настолько она банальная что просто не обращал на неё внимания, и грешным делом подумал на VMProtect.
Post Reply