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

 eXeL@B —› Протекторы —› DYAMAR OBFUSCATOR
<< . 1 . 2 .
Посл.ответ Сообщение

Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

Создано: 01 июня 2010 10:10 · Поправил: pavka
· Личное сообщение · #1

DYAMAR OBFUSCATOR

Complete and easy to use Anti-Reverse Engineering Toolkit.
Hides and obfuscates private algorithms implemented in any
Windows application. Modifies x86 assembly language to
make the application structure incomprehensible.
www.dyamar.com/trial/DYAMARObfuscatorTrialSetup.exe



Ранг: 162.4 (ветеран), 11thx
Активность: 0.060
Статус: Участник

Создано: 03 июня 2010 11:15
· Личное сообщение · #2

ЭЭЭЭ бля сплошной мат (интересно что у вас привате ))) )




Ранг: 67.4 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 03 июня 2010 11:26
· Личное сообщение · #3

А вот и не подеретесь :D



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

Создано: 03 июня 2010 11:40
· Личное сообщение · #4

сколько срача вызвал очередно говнопрот...китайцы останутся довольны



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 03 июня 2010 12:04
· Личное сообщение · #5

SaNX
В данном случае не поломано, потому что ты на EP его запускал, регистры неинициализированы и так. Проверь в более интересных местах.




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 03 июня 2010 16:38 · Поправил: Gideon Vi
· Личное сообщение · #6

int пишет:
любая модификация ниже ESP может быть потёрта (и будет)


коноплей?



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 03 июня 2010 16:54
· Личное сообщение · #7

Конопля это для тех, кого флуд на форуме забавляет больше, чем реальные конечные результаты. Кому-то нравится Code doctor, а кто-то написал свой инструмент. SaNX'у более важно было выпендриться, отписав в тему, что сабж ерунда. Я представил реальные алгоритмы обхода и способы защиты от них. Если человек не может или не хочет понять, что делают 4 инструкции ассемблера, он не заслуживает моего уважения как реверсер. Твёрдый лоб, не желающий проигрывать и признавать свои ошибки, тоже вызывает гнев. Мне больше заняться нечем как доказывать элементарные вещи.

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




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 03 июня 2010 17:17
· Личное сообщение · #8

Ням. Раньше, где появлялся Павка, там начинался срач, теперь "почетную" этафету принял int.
Бро, хочешь поклонения - сбрасывай свои мега тулзы нубам, они на тебя молиться некоторое время будут. А так, ни два, ни полтора: всплывает где-нибудь софт, следом всплываешь на понтах, аки понтонах ты, следом тему трут так, что топикстартер узнать не может.



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 03 июня 2010 17:27
· Личное сообщение · #9

Gideon Vi
До твоего поста по крайней мере оффтопа не было.
Вот это так беспокоит:
int пишет:
кто-то написал свой инструмент
?
Вообще-то я не про свой инструмент говорил, а про тот, который у вас всех есть .

Скоро сольём одну "приватную" тулзу. Нубам правда не по зубам будет ей пользоваться, скорее всего. Только доделать надо, не хочется кривой софт релизить.

Поклонения мне не нужны. Тема нормально развивалась, пока не пришёл SaNX (ничего личного Сангзег ) со своим матом, бредом и понтами. И SaNX, кстати, хороший реверсер. Но неумение признавать свои ошибки не лучшая черта.



Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

Создано: 03 июня 2010 18:12
· Личное сообщение · #10

ну раз уже пошли такие разборки....

я еще раз перечитал с 1-й страницы тему. и как мне кажется весь оффтоп пошел после этой фразы

SaNX пишет:
фубля, даже codedoctor без проблем расчистил это говно


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

но ИМХО тут int переборщил если вчитаться, то SaNX полностью обосновал что написал. не стоило так про ошибки. в данном моменте это не уместно.




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 03 июня 2010 18:22
· Личное сообщение · #11

Gideon Vi пишет:
Раньше, где появлялся Павка, там начинался срач, теперь "почетную" этафету принял int.

imho: Что первый, что второй всегда всё пишут чётко и в тему (пусть порой грубовато, зато познавательно). А то что срачь разводится, это чаще или из зависти, что кто-то знает больше и стрёмных попытках моймать на всякой х..не или докопаться хоть к словам, если первое не вышло

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 03 июня 2010 19:40
· Личное сообщение · #12

RSI
Вот, что дал SaNX:
Code:
  1. .dtext:010617EA                 push    70h
  2. .dtext:010617EC                 mov     dword ptr [esp-0F00h], 7977h
  3. .dtext:010617F7                 push    offset unk_10015E0
  4. .dtext:010617FC                 mov     dword ptr [esp-0F00h], 67Ch
  5. .dtext:01061807                 mov     eax, 67Ch
  6. .dtext:0106180C                 call    __SEH_prolog
  7. .dtext:01061811                 mov     [esp-0F00h], eax
  8. .dtext:01061818                 mov     eax, edi
  9. .dtext:0106181A                 mov     edi, [esp-0F00h]
  10. .dtext:01061821                 mov     ebx, eax
  11. .dtext:01061823                 xor     ebx, eax
  12. .dtext:01061825                 mov     [esp-0F00h], edi
  13. .dtext:0106182C                 mov     edi, ecx
  14. .dtext:0106182E                 mov     ecx, [esp-0F00h]
  15. .dtext:01061835                 push    ebx
  16. .dtext:01061836                 wait
  17. .dtext:01061837                 mov     eax, edi
  18. .dtext:01061839                 mov     edi, ds:__imp__GetModuleHandleA@4 ; GetModuleHandleA(x)
  19. .dtext:0106183F                 wait
  20. .dtext:01061840                 mov     [esp-0F00h], ecx
  21. .dtext:01061847                 mov     ecx, ebx
  22. .dtext:01061849                 mov     ebx, [esp-0F00h]
  23. .dtext:01061850                 xchg    eax, ecx
  24. .dtext:01061851                 xchg    eax, ebx
  25. .dtext:01061852                 call    edi ; GetModuleHandleA(x) ; GetModuleHandleA(x)
  26. .dtext:01061854                 cmp     word ptr [eax], 5A4Dh
  27. .dtext:01061859                 jnz     loc_102FB77

Вот что можно получить моим скриптом (улучшенный слегка, чем тот, что я постил выше) после убирания NOP'ов:
Code:
  1. MOV EAX,7977
  2. PUSH 70
  3. MOV EAX,67C
  4. PUSH 010015E0
  5. CALL 010127C8
  6. MOV EBX,EDI
  7. XOR EBX,EBX
  8. BSWAP EDI
  9.  PUSH EBX
  10. WAIT
  11. MOV EDI,2E58
  12. MOV EDI,DWORD PTR DS:[<&KERNEL32.GetModu>; kernel32.GetModuleHandleA
  13. WAIT
  14. СALL EDI
  15. CMP WORD PTR DS:[EAX],5A4D
  16. JNZ 0102FB77

Вот что на самом деле должно было получиться:
Code:
  1. PUSH 70
  2. PUSH 010015E0
  3. CALL 010127C8
  4. XOR EBX,EBX
  5. PUSH EBX
  6. MOV EDI,DWORD PTR DS:[<&KERNEL32.GetModu>; kernel32.GetModuleHandleA
  7. СALL EDI
  8. CMP WORD PTR DS:[EAX],5A4D
  9. JNZ 0102FB77


А теперь о политике.
1. Верно ли, что Code doctor "всё расчистил"?
нет, неверно
2. Верно ли, что код после Code doctor'а функционально тождественен в данном случае?
да, верно

Теперь подробнее. Вот этот блок:
Code:
  1. .dtext:01061811                 mov     [esp-0F00h], eax
  2. .dtext:01061818                 mov     eax, edi
  3. .dtext:0106181A                 mov     edi, [esp-0F00h]

можно заменить на xchg eax, edi. Таким образом, вот что получается после деобфускации после доктора (на адерса просьба не обращать внимание):
Code:
  1. .dtext:010617EA                 push    70h
  2. .dtext:010617F7                 push    offset unk_10015E0
  3. .dtext:0106180C                 call    __SEH_prolog
  4. .dtext:01061811                 xchg    edi, eax
  5. .dtext:01061823                 xor     ebx, ebx
  6. .dtext:01061825                 xchg    edi, eсx
  7. .dtext:01061835                 push    ebx
  8. .dtext:01061837                 mov     eax, edi
  9. .dtext:01061839                 mov     edi, ds:__imp__GetModuleHandleA@4 ; GetModuleHandleA(x)
  10. .dtext:01061840                 xchg    ebx, ecx
  11. .dtext:01061850                 xchg    eax, ecx
  12. .dtext:01061851                 xchg    eax, ebx
  13. ; итог по регистрам
  14. ; eax = eax0
  15. ; ebx = 0 ; верно, т.к. была операция 'xor ebx, ebx'
  16. ; ecx = ecx0
  17. ; edi = GetModuleHandleA ; верно
  18. .dtext:01061852                 call    edi ; GetModuleHandleA(x) ; GetModuleHandleA(x)
  19. .dtext:01061854                 cmp     word ptr [eax], 5A4Dh
  20. .dtext:01061859                 jnz     loc_102FB77

А вот, что могло бы быть (совпадает с кодом выше):
Code:
  1. .dtext:010617EA                 push    70h
  2. .dtext:010617F7                 push    offset unk_10015E0
  3. .dtext:0106180C                 call    __SEH_prolog
  4. .dtext:01061823                 xor     ebx, ebx
  5. .dtext:01061835                 push    ebx
  6. .dtext:01061839                 mov     edi, ds:__imp__GetModuleHandleA@4 ; GetModuleHandleA(x)
  7. .dtext:01061852                 call    edi ; GetModuleHandleA(x) ; GetModuleHandleA(x)
  8. .dtext:01061854                 cmp     word ptr [eax], 5A4Dh
  9. .dtext:01061859                 jnz     loc_102FB77




Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 03 июня 2010 20:03
· Личное сообщение · #13

Кстате, я и дальше доктором деобфусцировал, и один хер все работает

-----
SaNX




Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

Создано: 04 июня 2010 02:52
· Личное сообщение · #14

Gideon Vi пишет:
где появлялся Павка, там начинался срач

Похоже ты не совесем аднкватно воспринмаешь дествительнось? Или у тебя появилось желание выступить в роли юриста неудчника на понтах?



Ранг: 196.0 (ветеран), 72thx
Активность: 0.140.02
Статус: Участник

Создано: 04 июня 2010 03:55
· Личное сообщение · #15

pavka пишет:
Похоже ты не совесем аднкватно воспринмаешь дествительнось? Или у тебя появилось желание выступить в роли юриста неудчника на понтах?

Ну всё, теперь точно можно флудо топик закрывать. На помощь пришла тяжёлая артеллерия



Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 04 июня 2010 05:58
· Личное сообщение · #16

жжоте сцуко ))))

-----
SaNX





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 04 июня 2010 08:01
· Личное сообщение · #17

Не хочу в очередной раз перебанить половину участников, посему лучше закрою.
По теме скажу, что писать выше стека херово. Никто вообще не обещает, что ESP валидный, на асм-вставке или асм-коде можно навернуть, что угодно. Тем более, что при передаче исключения в ринг3 стек выше будет перезаписан. В ринг0 это и того чаще случается. Я почти уверен, что протектор это не проверяет. Обфускация должна работать всегда, а не полагаться на костыли, очередной пример говнообфускации. Типа POC на костылях, который будет работать далеко не на всех реальных примерах из-за корявого проектирования.



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 04 июня 2010 08:46
· Личное сообщение · #18

И ещё одно замечание по теме. CodeDoctor не сможет справиться с вот такой конструкцией (как деобфускатор, работающий с блоками кода, а не всем кодом):
Code:
  1. .dtext:01061832                 xchg    eax, edi
  2. .dtext:01061833                 mov     [esp-0F00h], edi
  3. .dtext:0106183A                 mov     edi, eax
  4. .dtext:0106183C                 mov     eax, [esp-0F00h]

Нет гарантий, что потом никто не будет читать из [esp-0F00h]. Такие гарантии можно получить либо проведя полный анализ программы (именно так и строятся деобфускаторы), либо точно зная о данном типе обфускации в данном протекторе (знать, что эта конструкция может быть удалена целиком без потери функционала).

P.S. CodeDoctor не ломает функционал, я перепутал с другим деобфускатором (тот, что в виде плагина под IDA писался). В любом случае в публичном доступе есть только один (ткните пальцем, если я ошибаюсь) нормальный деобфускатор, но он решает специфическую задачу и его применение довольно сложно осуществить.




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 04 июня 2010 10:00
· Личное сообщение · #19

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


<< . 1 . 2 .
 eXeL@B —› Протекторы —› DYAMAR OBFUSCATOR
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати