Сейчас на форуме: (+7 невидимых)

 eXeL@B —› Основной форум —› Vmprotect. Хитрая защита от отладки.
. 1 . 2 . 3 . 4 . 5 . >>
Посл.ответ Сообщение


Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 24 мая 2017 20:14 · Поправил: Vamit
· Личное сообщение · #1

При реверсе одной проги встретил хитрую защиту от отладки: она не позволяет работать проге под дебагером, после F9 терминация, приаттачиться к работающей то же нельзя - сразу терминация. Приложение накрыто последним Vmprotect, все функции защиты также под протектором, основные виртуализованы, остальные обфусцированы, а всего их более 200шт. Терминирует именно защита, а не вмпрот. В TLS сидят 2 каллбака защиты, первый из них есть в листинге. Дебаг работает только до первого каллбака, тут можно снять дамп проги и девиртуализовать вмпрот. А суть задачи такова: прога посылает запрос на сервер, в котором одним из куков является состояние защиты (32 бита), проэмулировать мне его не удалось и сервак не отвечает.
Прошу любые идеи как победить, или идентифицировать защиту, она явно не самописная, и прилинкована к проге из какой-то либы.
Вот листинг нескольких функций ядра защиты, вытащенных из под Vmprotect:
Code:
  1. .text:004894F0 sub_4894F0      proc near
  2. .text:004894F0                 dec     esp
  3. .text:004894F1                 mov     edx, ecx
  4. .text:004894F3                 mov     eax, 0Ah
  5. .text:004894F8                 syscall
  6. .text:004894FA                 retn
  7. .text:004894FA sub_4894F0      endp
  8.  
  9. .text:004894FB sub_4894FB      proc near
  10. .text:004894FB arg_0           = dword ptr  4
  11. .text:004894FB
  12. .text:004894FB                 push    0
  13. .text:004894FD                 push    4
  14. .text:004894FF                 push    [esp+8+arg_0]
  15. .text:00489503                 push    7
  16. .text:00489505                 push    0FFFFFFFFh
  17. .text:00489507                 mov     eax, 9Ah
  18. .text:0048950C                 push    0
  19. .text:0048950E                 call    sub_489522
  20. .text:00489513                 add     esp, 18h
  21. .text:00489516                 retn
  22. .text:00489516 sub_4894FB      endp
  23.  
  24. .text:00489517 sub_489517      proc near
  25. .text:00489517                 dec     esp
  26. .text:00489518                 mov     edx, ecx
  27. .text:0048951A                 mov     eax, 16h
  28. .text:0048951F                 syscall
  29. .text:00489521                 retn
  30. .text:00489521 sub_489517      endp
  31.  
  32. .text:00489522 sub_489522      proc near
  33. .text:00489522                 mov     edx, esp
  34. .text:00489524                 sysenter
  35. .text:00489526                 retn
  36. .text:00489526 sub_489522      endp
  37.  
  38. .text:00489527 sub_489527      proc near
  39. .text:00489527                 push    0
  40. .text:00489529                 push    0
  41. .text:0048952B                 push    11h
  42. .text:0048952D                 push    0FFFFFFFEh
  43. .text:0048952F                 push    0
  44. .text:00489531                 mov     eax, 0E5h
  45. .text:00489536                 call    sub_489522
  46. .text:0048953B                 add     esp, 14h
  47. .text:0048953E                 retn
  48. .text:0048953E sub_489527      endp
  49.  
  50. .text:0048953F sub_48953F      proc near
  51. .text:0048953F                 mov     eax, offset sub_489517
  52. .text:00489544                 cmp     dword ptr [eax], 0B8D18B4Ch
  53. .text:0048954A                 jnz     short locret_489587
  54. .text:0048954C                 add     eax, 4
  55. .text:0048954F                 cmp     dword ptr [eax], 16h
  56. .text:00489552                 jnz     short locret_489587
  57. .text:00489554                 mov     eax, offset sub_4894F0
  58. .text:00489559                 cmp     dword ptr [eax], 0B8D18B4Ch
  59. .text:0048955F                 jnz     short locret_489587
  60. .text:00489561                 add     eax, 4
  61. .text:00489564                 cmp     dword ptr [eax], 0Ah
  62. .text:00489567                 jnz     short locret_489587
  63. .text:00489569                 mov     eax, offset sub_489522
  64. .text:0048956E                 cmp     dword ptr [eax], 340FD48Bh
  65. .text:00489574                 jnz     short locret_489587
  66. .text:00489576                 mov     eax, offset sub_489595
  67. .text:0048957B                 cmp     dword ptr [eax], 99C32DCDh
  68. .text:00489581                 jnz     short locret_489587
  69. .text:00489583                 mov     ax, 0
  70. .text:00489587 locret_489587:
  71. .text:00489587                 retn
  72. .text:00489587 sub_48953F      endp
  73.  
  74. .text:00489595 sub_489595      proc near
  75. .text:00489595                 int     2Dh
  76. .text:00489597                 retn
  77. .text:00489597 sub_489595      endp
  78.  
  79. .text:0048A845 sub_48A845      proc near
  80. .text:0048A845 arg_4           = byte ptr  8
  81. .text:0048A845
  82. .text:0048A845                 cmp     dword_C45424, 0
  83. .text:0048A84C                 jnz     short loc_48A854
  84. .text:0048A84E loc_48A84E:
  85. .text:0048A84E                 mov     edx, esp
  86. .text:0048A850 loc_48A850:
  87. .text:0048A850                 sysenter
  88. .text:0048A852                 jmp     short locret_48A85A
  89. .text:0048A854 loc_48A854:
  90. .text:0048A854                 lea     edx, [esp+arg_4]
  91. .text:0048A858                 int     2Eh
  92. .text:0048A85A locret_48A85A:
  93. .text:0048A85A                 retn
  94. .text:0048A85A sub_48A845      endp
  95.  
  96. .text:0048A877 sub_48A877      proc near
  97. .text:0048A877                 mov     eax, offset loc_48A850
  98. .text:0048A87C                 cmp     word ptr [eax], 340Fh
  99. .text:0048A881                 jnz     short locret_48A89E
  100. .text:0048A883                 mov     eax, offset loc_48A854
  101. .text:0048A888                 cmp     dword ptr [eax], 824548Dh
  102. .text:0048A88E                 jnz     short locret_48A89E
  103. .text:0048A890                 add     eax, 4
  104. .text:0048A893                 cmp     word ptr [eax], 2ECDh
  105. .text:0048A898                 jnz     short locret_48A89E
  106. .text:0048A89A                 mov     ax, 0
  107. .text:0048A89E locret_48A89E:
  108. .text:0048A89E                 retn
  109. .text:0048A89E sub_48A877      endp
  110.  
  111.  
  112. .text:0062C6F0 TlsCallback_1   proc near
  113. .text:0062C6F0 Reason          = dword ptr  0Ch
  114. .text:0062C6F0
  115. .text:0062C6F0                 push    ebp
  116. .text:0062C6F1                 mov     ebp, esp
  117. .text:0062C6F3                 and     esp, 0FFFFFFF8h
  118. .text:0062C6F6                 cmp     [ebp+Reason], 1
  119. .text:0062C6FA                 push    ebx
  120. .text:0062C6FB                 push    esi
  121. .text:0062C6FC                 push    edi
  122. .text:0062C6FD                 jz      short loc_62C708
  123. .text:0062C6FF                 pop     edi
  124. .text:0062C700                 pop     esi
  125. .text:0062C701                 pop     ebx
  126. .text:0062C702                 mov     esp, ebp
  127. .text:0062C704                 pop     ebp
  128. .text:0062C705                 retn    0Ch
  129. .text:0062C708 loc_62C708:
  130. .text:0062C708                 push    offset TlsCallback_2
  131. .text:0062C70D                 call    ?????                  ;packet call
  132. .text:0062C712                 add     esp, 4
  133. .text:0062C715                 test    eax, eax
  134. .text:0062C717                 jnz     short loc_62C71E
  135. .text:0062C719                 call    ?????                  ;packet call
  136. .text:0062C71E loc_62C71E:
  137. .text:0062C71E                 push    ebx
  138. .text:0062C71F                 xor     eax, eax
  139. .text:0062C721                 lea     edi, [ebp+4]
  140. .text:0062C724                 cdq
  141. .text:0062C725                 add     edi, 8
  142. .text:0062C728                 mov     ecx, 100h
  143. .text:0062C72D                 rep stosd
  144. .text:0062C72F                 mov     edi, dword_C93D70
  145. .text:0062C735                 mov     ecx, edi
  146. .text:0062C737                 mov     ebx, dword_C93D74
  147. .text:0062C73D                 mov     esi, dword_C93D78
  148. .text:0062C743                 mov     edx, dword_C93D7C
  149. .text:0062C749                 mov     dword_C93D74, edx
  150. .text:0062C74F                 mov     eax, ebx
  151. .text:0062C751                 shld    eax, ecx, 17h
  152. .text:0062C755                 shl     ecx, 17h
  153. .text:0062C758                 xor     edi, ecx
  154. .text:0062C75A                 xor     ebx, eax
  155. .text:0062C75C                 mov     dword_C93D70, esi
  156. .text:0062C762                 mov     eax, esi
  157. .text:0062C764                 mov     ecx, edx
  158. .text:0062C766                 shrd    eax, ecx, 9
  159. .text:0062C76A                 shr     ecx, 9
  160. .text:0062C76D                 xor     ecx, ebx
  161. .text:0062C76F                 xor     eax, edi
  162. .text:0062C771                 shrd    eax, ecx, 11h
  163. .text:0062C775                 shr     ecx, 11h
  164. .text:0062C778                 xor     eax, esi
  165. .text:0062C77A                 push    0
  166. .text:0062C77C                 xor     eax, edi
  167. .text:0062C77E                 xor     ecx, edx
  168. .text:0062C780                 xor     ecx, ebx
  169. .text:0062C782                 sub     edx, edx
  170. .text:0062C784                 mov     dword_C93D78, eax
  171. .text:0062C789                 mov     dword_C93D7C, ecx
  172. .text:0062C78F                 add     eax, esi
  173. .text:0062C791                 mov     ecx, 0FFFh
  174. .text:0062C796                 div     ecx
  175. .text:0062C798                 mov     dword ptr [edx+1], 18BBB819h
  176. .text:0062C79F                 mov     ecx, offset unk_C93CB0
  177. .text:0062C7A4                 call    ?????                  ;packet call (constructor)
  178. .text:0062C7A9                 pop     edi
  179. .text:0062C7AA                 pop     esi
  180. .text:0062C7AB                 pop     ebx
  181. .text:0062C7AC                 mov     esp, ebp
  182. .text:0062C7AE                 pop     ebp
  183. .text:0062C7AF                 retn    0Ch
  184. .text:0062C7AF TlsCallback_1   endp


-----
Everything is relative...




Ранг: 64.9 (постоянный), 47thx
Активность: 0.120.02
Статус: Участник

Создано: 24 мая 2017 20:25
· Личное сообщение · #2

>> При реверсе одной проги встретил хитрую защиту, она не позволяет работать проге под дебагером, после F9 терминация, приаттачиться к работающей то же нельзя - сразу терминация.

Как же так, если прога юзермодная то ведь все антидебаг трюки известны.
Только GetTickCount рубит иногда. Трейс, бряк на ExitProcess (или как она ложиться) и смотреть? Ловим custom rdtsc.



Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 24 мая 2017 20:53
· Личное сообщение · #3

Как насчет спрятать процес? (scyllahide/etc)




Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 24 мая 2017 21:20
· Личное сообщение · #4

sendersu пишет:
Как насчет спрятать процес?

Ничего не помогает, ни фантом, ни стронг, ни кернел моде, ни сцилла и всё прочее. Все эти антидебаги с вмпротом работают без вопросов, но они патчат системные либы, а защита похоже их проверяет...
Причем эти syscall, sysenter, int 2E, int 2D для меня темный лес, причем в динамике ничего не пашет, даже слепок памяти не сделать чтоб посмотреть, а чтоб добраться до их аргументов нужно кучу фунок из под вмпрота вытащить, а виртуализация там самая суровая - ультра со всеми опциями. Это полгода работы в статике, не меньше...

-----
Everything is relative...




Ранг: 112.9 (ветеран), 186thx
Активность: 0.090.01
Статус: Участник

Создано: 24 мая 2017 21:57 · Поправил: vden
· Личное сообщение · #5

SysEnter(0x9A...) это же вроде NtQueryInformationProcess ? (на xp)
SysEnter(0xE5... ) - NtSetInformationThread

http://j00ru.vexillium.org/ntapi/

тупо заинлайнили вызовы

Code:
  1. .text:004894FB sub_4894FB      proc near
  2. .text:004894FB arg_0           = dword ptr  4
  3. .text:004894FB
  4. .text:004894FB                 push    0
  5. .text:004894FD                 push    4
  6. .text:004894FF                 push    [esp+8+arg_0]
  7. .text:00489503                 push    7
  8. .text:00489505                 push    0FFFFFFFFh
  9. .text:00489507                 mov     eax, 9Ah
  10. .text:0048950C                 push    0
  11. .text:0048950E                 call    DoSysEnter
  12. .text:00489513                 add     esp, 18h
  13. .text:00489516                 retn
  14. .text:00489516 sub_4894FB      endp

=

NtQueryInformationProcess(0x0FFFFFFFF, ProcessDebugPort, ...)


Code:
  1. .text:00489527 sub_489527      proc near
  2. .text:00489527                 push    0
  3. .text:00489529                 push    0
  4. .text:0048952B                 push    11h
  5. .text:0048952D                 push    0FFFFFFFEh
  6. .text:0048952F                 push    0
  7. .text:00489531                 mov     eax, 0E5h
  8. .text:00489536                 call    DoSysEnter
  9. .text:0048953B                 add     esp, 14h
  10. .text:0048953E                 retn
  11. .text:0048953E sub_489527      endp

=

NtSetInformationThread(0x0FFFFFFFE, ThreadHideFromDebugger, 0, 0)

| Сообщение посчитали полезным: Vamit


Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 24 мая 2017 22:20
· Личное сообщение · #6

vden пишет:
тупо заинлайнили вызовы

Там ещё есть одна функа sub_48A845, которая вызывает sysenter или int 2E, а она сама вызывается из 26 виртуализованных фунок.
Весь вопрос в том, как это победить?

-----
Everything is relative...




Ранг: 64.9 (постоянный), 47thx
Активность: 0.120.02
Статус: Участник

Создано: 24 мая 2017 22:36
· Личное сообщение · #7

Если прога юзермодная, то TitanHide/Phatom должен всё нормально в кернел памяти хукать и нихуя эта прога эти хуки не увидит.




Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 24 мая 2017 22:55
· Личное сообщение · #8

Конечно юзермодная, и всё хукается, вмпрот ничего не видит, а эта долбаная защита всё видит. Даже если запустить в системе пустой дебагер в кернел моде, то оригинальная прога уже не стартует.

-----
Everything is relative...




Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 24 мая 2017 23:03
· Личное сообщение · #9

Vamit
видимо нашелся тот, кто прочитал все 42 анти-трюка от Петра Ферри
у нас тоже есть



Ранг: 64.9 (постоянный), 47thx
Активность: 0.120.02
Статус: Участник

Создано: 24 мая 2017 23:21
· Личное сообщение · #10

>> видимо нашелся тот, кто прочитал все 42 анти-трюка от Петра Ферри
плохо видишь, мне как то похуй
у вас тут завтра будет 0дэй антидебаг вот как вот



Ранг: 33.4 (посетитель), 24thx
Активность: 0.020
Статус: Участник

Создано: 24 мая 2017 23:26
· Личное сообщение · #11

int 2d
ntcallbackreturn ?
анти дебаг
где клерк? он знает матчасть в сисколах

| Сообщение посчитали полезным: v00doo

Ранг: 112.9 (ветеран), 186thx
Активность: 0.090.01
Статус: Участник

Создано: 25 мая 2017 00:01 · Поправил: vden
· Личное сообщение · #12

TitanHide должен перехватывать SSDT.

Например HookNtQueryInformationProcess

Если успешно, то в логе должно быть
Log("[TITANHIDE] ProcessDebugPort by %d\n", pid);
и
Log("[TITANHIDE] ThreadHideFromDebugger by %d\n", pid);

Лог пишется в C:\TitanHide.log




Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 25 мая 2017 11:25 · Поправил: Vamit
· Личное сообщение · #13

Решил обновить весь антидебаг, с последней Сциллой (март 2017) ситуация изменилась, теперь Олька при старте проги не терминирует, а выдает пустые окна, одни только адреса - контекста нет.
С Титаном вообще непонятно, сервис создается, но не стартует - Не найден указанный путь, а в списке служб сервис отсутствует.
Олька 1 чистая, из плагов только OllyDump, ODbgScript и свипер с отключенным антидебагом.
Да, всё эти манипуляции на виртуалке HyperV под Win10, возможности проверить на чистой ХР нет
Пробовал Ольку 2 со Сциллой на Вин10, стоп на первой вмпротовской ТЛС есть, далее прога стартует вне Ольки, в дебагере только пустые окна - писал уже об этом в теме декомпилятора.
Вот сам экзешник, может кто попробует...
--> Link <--

-----
Everything is relative...




Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 25 мая 2017 12:02 · Поправил: TryAga1n
· Личное сообщение · #14

Vamit пишет:
Олька при старте проги не терминирует, а выдает пустые окна, одни только адреса - контекста нет.

На ХП под VirtualBox'ом точно так же --> Link <--
Запуск без отладчика и с запущенным рядом отладчиком, происходит в штатном режиме.
При попытке приаттачиться, получаем Terminate в одном из потоков, но это скорее всего антиотладка ВМпрота уже. --> Link <--

| Сообщение посчитали полезным: Vamit


Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 25 мая 2017 12:17
· Личное сообщение · #15

TryAga1n пишет:
Запуск без отладчика и с запущенным рядом отладчиком, происходит в штатном режиме.

Это если отладчик без кернел моде, а рядом с кернел моде у меня прога не стартует.
получаем Terminate в одном из потоков, но это скорее всего антиотладка ВМпрота уже
Нет, вмпрот антидебагом обходится легко, это реакция защиты.

-----
Everything is relative...




Ранг: 64.9 (постоянный), 47thx
Активность: 0.120.02
Статус: Участник

Создано: 25 мая 2017 15:16
· Личное сообщение · #16

Windows 10 x64 Enterprise build 1703
x32dbg, Scyllahide

Шо надо не смотрел, врубил всё. Атачицца. Memory map есь, тред cpu cycles есь.

А вот это имхо self check.

Один тред главный, за окошко итд отверчает. Другой, с 53мил. дельта, крутится так, "для прикола".
Start address интересен, один и тот же на всех.

Даже на hardware бряках на например UpdateWindow в user32.dll рубится, создаёт новый процесс и видать эксэпшн -> winfault.ехе

| Сообщение посчитали полезным: Vamit


Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 25 мая 2017 17:50
· Личное сообщение · #17

hash87szf пишет:
Windows 10 x64 Enterprise build 1703 x32dbg, Scyllahide

Под x32dbg не смотрел, да и Вин 10 не особо интересен, пробовал под ним, правда давненько, с Олькой 2 и вмпротом невозможно под ним работать, да, к проге вроде бы аттачится, только толку мало, хардбяки не работают и стопануться где нужно никак, а в памяти того что нужно нет.
Актуально именно на ХП.
На ранних версиях этой проги был только вмпрот, с дебагом не было никаких проблем. Затем всунули в ТЛС один каллбак, прога под дебагером уже не стартовала, но можно было приаттачиться и подебажить. А не так давно добавили в ТЛС второй каллбак и началась полная хрень.

-----
Everything is relative...





Ранг: 328.7 (мудрец), 73thx
Активность: 0.170.01
Статус: Участник

Создано: 25 мая 2017 18:51
· Личное сообщение · #18

vmware-xpsp3-olly1+phantom+strongod
все запускается

| Сообщение посчитали полезным: Vamit


Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 25 мая 2017 19:28 · Поправил: Bronco
· Личное сообщение · #19

ну не первый же раз на поток нарываетесь, говорилось же и давно, что надо декомпильнуть код в тредгварде для комьюнити, чтобы разобраться до конца. это проделки дерьмопрота.
на вин10 хоть с еп, хоть с аттача, не вижу проблем.

-----
Чтобы юзер в нэте не делал,его всё равно жалко..





Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 25 мая 2017 20:08 · Поправил: Vamit
· Личное сообщение · #20

r99
Неужели всё дело в виртуалке (в HyperV и VirtualBox не пашет, а в варе всё норм), с трудом в это верится.
У тебя Олька чистая или сборка? Может дать настройки фантома и стронга для проверки, можно просто ини файл ольки, вроде бы оба туда пишут. И ещё их версии для надежности.

что надо декомпильнуть код в тредгварде для комьюнити, чтобы разобраться до конца
200 фунок декомпильнуть, это не как два пальца ..., причем почти половину из них вручную, чистую обфускацию свипер не берет.

-----
Everything is relative...




Ранг: 64.9 (постоянный), 47thx
Активность: 0.120.02
Статус: Участник

Создано: 25 мая 2017 20:26
· Личное сообщение · #21

r99 пишет:
vmware-xpsp3-olly1+phantom+strongod
все запускается

А бряки?




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 26 мая 2017 03:49
· Личное сообщение · #22

redlord

> где клерк? он знает матчасть в сисколах

Умный человек возьмёт мой модуль фильтрации из подобной темы, он сильный и позволяет решить сабж простой загрузкой до старта апликухи(нэйтив, до инит длл). Но вам же нужно это настройками плагов сделать, так что я хз.

Добавлено спустя 25 минут
> Другой, с 53мил. дельта, крутится так, "для прикола".

Это всё обычная системная обработка, не тот случай, где необходимо взять приложение под визор. Достаточно обычной системной фильтрации.

-----
vx





Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 26 мая 2017 09:43 · Поправил: Vamit
· Личное сообщение · #23

difexacaw пишет:
он сильный и позволяет решить сабж простой загрузкой до старта апликухи

Основная цель не изучение защиты, а чтобы прога под дебагером работала. А вот если цель не достигнута, то на крайний случай, изучение. Эта защита сидит не только до старта проги, она во все важные функи вшита, в том числе и в треды и естественно всё обращение к защите завиртуализовано вмпротом. Все нужные функи тела проги я девиртуализовал, там простая виртуализация без всяких опций, декомпилится без вопросов. А вот функи самой защиты накрыли по максимуму.
Пока у одного r99 всё работает, но написал и пропал...

А 5 потоков с одним адресом это _NtWaitForWorkViaWorkerFactory, нужны для организации пула потоков для I/O completion port (пул сокетов, распараллеленный между ядрами процессора), всего их может быть до 100шт.

-----
Everything is relative...




Ранг: 64.9 (постоянный), 47thx
Активность: 0.120.02
Статус: Участник

Создано: 26 мая 2017 14:39
· Личное сообщение · #24

я вроде понял почему он столько cpu жрёт
с procmon картинка, показывает время
адрес перед waitforsingleobject без кода, он динамически заполняется, как и все остальные, и с мусором тоже..
поэтому циклы так и юзает





Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 26 мая 2017 16:42
· Личное сообщение · #25

Проверил с Олькой от r99, всё то же самое, дальше второй ТЛС идет терминация. Объясните, плиз, может ли виртуалка так влиять, уж очень не хочется варю ставить для проверки..., да и интуиция подсказывает, что будет то же самое, ну нет в этой защите детекта виртуалок.

-----
Everything is relative...




Ранг: 112.9 (ветеран), 186thx
Активность: 0.090.01
Статус: Участник

Создано: 26 мая 2017 17:26 · Поправил: vden
· Личное сообщение · #26

На примере TitanHide я бы убедился:

1. что драйвер стартует (titanhide.sys)
2. на win10 может быть проблема с нахождением SSDT

There is partial Windows 10 support. Hooking works, but finding the SSDT will currently fail. If you must run TitanHide on Windows 10, a workaround is to find the RVA of KeServiceDescriptorTable in ntoskrnl.exe and hardcode it in SSDTFind().

Ради интереса поставлю 10-ку x86, посмотрю.




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 26 мая 2017 18:49
· Личное сообщение · #27

Vamit

> А 5 потоков с одним адресом это _NtWaitForWorkViaWorkerFactory

Да без разницы какие там пулы тредов, фишка в том, что стартап нэйтив поинт у них ничем не отличается от других тредов. Так что Ki* ентри хучим и вуаля.

Может вам лень и мне поискать обсуждение, окей.

-----
vx





Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 26 мая 2017 18:52 · Поправил: Vamit
· Личное сообщение · #28

vden
Я уже про это писал: С Титаном вообще непонятно, сервис создается, но не стартует - Не найден указанный путь, а в списке служб сервис отсутствует.
Пытался поставить TitanHide на WinXP sp3 на виртуалке HyperV под Win10 x64. Я не понимаю какой нужен путь для старта сервиса? Вот для создания путь нужен.

difexacaw пишет:
Так что Ki* ентри хучим и вуаля.

Если такой умный, то захучь и покажи решение, экзешник выложен, а болтать мы все можем...

-----
Everything is relative...




Ранг: 112.9 (ветеран), 186thx
Активность: 0.090.01
Статус: Участник

Создано: 26 мая 2017 18:56 · Поправил: vden
· Личное сообщение · #29

Я только установил win10 x86,

Пока попробовал создать папку c:\dbg с драйвером TitanHide.sys

sc create TitanHide binPath= c:\Dbg\TitanHide.sys type=kernel
sc start TitanHide

Дальше лог из c:\TitanHide.log

[TITANHIDE] FileSize of ntdll.dll is 0018A568!
[TITANHIDE] UndocumentedInit() was successful!
[TITANHIDE] Device \Device\TitanHide created successfully!
[TITANHIDE] Symbolic link \DosDevices\TitanHide->\Device\TitanHide created!
[TITANHIDE] SSDThook(NtQueryInformationProcess:0x810EEBB0, 0xA5C1171A)
[TITANHIDE] SSDThook(NtQueryObject:0x81110956, 0xA5C1183E)
[TITANHIDE] SSDThook(NtQuerySystemInformation:0x810D5C26, 0xA5C119A2)
[TITANHIDE] SSDThook(NtSetInformationThread:0x810D8B8A, 0xA5C11AF2)
[TITANHIDE] SSDThook(NtClose:0x810F5F64, 0xA5C11694)
[TITANHIDE] SSDThook(NtSetContextThread:0x812E2159, 0xA5C11A22)
[TITANHIDE] Hooks::Initialize() returned 6
[TITANHIDE] HiderProcessData OK!
[TITANHIDE] ProcessDebugPort by 2248

И на этом отладчик виснет.




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 26 мая 2017 19:01 · Поправил: difexacaw
· Личное сообщение · #30

Vamit

--> Link <--

Тут есть топик, но я не могу найти, так как я не могу подобрать критерий поиска. Вероятно это тот архив, хотя я не уверен. Форумный двиг уг и не позволяет найти свои аттачи етц.
Была тема про детект .net отладчика, может вы сможите найти.

> то захучь и покажи решение

Хучилось через конструктор - морфом. Но не суть важно, не нужно так вопрос формулировать, не гопники же за углом.

-----
vx



. 1 . 2 . 3 . 4 . 5 . >>
 eXeL@B —› Основной форум —› Vmprotect. Хитрая защита от отладки.
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати