Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Реверсинг (https://forum.antichat.xyz/forumdisplay.php?f=94)
-   -   hidden's крякми 2 (https://forum.antichat.xyz/showthread.php?t=23246)

hidden 28.08.2006 20:21

hidden's крякми 2
 
Итак наступило время для моего нового крякми, просто пришла в на мой взгляд интересная идея, хотел сделать его простеньким, но..., потраченное на него время не позволяет сделать его таким, так-что берите как есть :) .

Достоинства:
  • Именной ключ ( на каждое имя может быть не один ключ ( это подсказка ;) ) )
  • Новый метод криптовки ( не просто заXORривание)
  • Палюбившийся всем нам способ защиты ( вылетает при вводе неправельного люча :D , а если повезёт, может и циклонутся)

Недостатки:
  • Ключ не криптуется, т.е. если знаешь один ключ, легко сделать другой

Для любителей пропатчить, это не стоит того, если можешь пропачить, значит ключь очень близко ;)

<-[ Мой крякми 2 ]-> - 8.7 Кб ( Какие-то проблемы со старым хостингом, так что переименуйте gif в rar :D )

Удачи...

Не выкладывайте здесь ключи, другим будет не интересно.

BUG(O)R 28.08.2006 20:55

Хоть бы тестили свои крякмисы на паре осей...
У меня падает по адресу:
00401113 3232 Xor Dh,byte Ptr Ds:[edx]

hidden 28.08.2006 21:02

Цитата:

Сообщение от BUG(O)R
Хоть бы тестили свои крякмисы на паре осей...
У меня падает по адресу:
00401113 3232 Xor Dh,byte Ptr Ds:[edx]

:) Туда вообще управление никогда передаваться не должно.
Видема неверный ключ ;)

ProTeuS 28.08.2006 21:24

вообщем алго таков:
после 4 циклов симметри4еского шифрования (ну или хэширования, если это так можно назвать)сериала модифицируется EAX и мы прыгаем
00401155 FFD0 CALL EAX
если клю4 будет верным (в EAX будет константный опкод), то мы прыгнем на .00401140, на котором с либы вызовется MessageBox с сообщением о правильном серийнике. Влом было брутить и расшифровывать, я просто сделал пат4 тут:

00401140 -E9 BB00D8FF JMP MYUTILS.00181200
00401145 90 NOP
00401146 90 NOP
00401147 90 NOP
00401148 90 NOP

в принципе, тут и есть логи4еское окон4ание защиты...

hidden 28.08.2006 21:31

Никакого брута, ключь есть его надо найти!
Какое сообщение ты получил, "Congratulation ProTeuS"?

ProTeuS 28.08.2006 21:39

при4ем тут сообщение, я имею ввиду 4то в слу4ае ввода правильного серийника вызов будет тут:
00181200 57 PUSH EDI
00181201 6A 40 PUSH 40
00181203 68 13121800 PUSH MYUTILS.00181213 ; ASCII "hidden's CrackMe"
00181208 50 PUSH EAX
00181209 6A 00 PUSH 0
0018120B FF15 B0101800 CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; USER32.MessageBoxA
00181211 5F POP EDI

а текст сообщения о верном серийнике формируется тут:
0040114F 66:C740 02 FFE0 MOV WORD PTR DS:[EAX+2],0E0FF
00401155 FFD0 CALL EAX

как я понимаю, половину строки будет браться из серийника, половину из зашифрованного буфера на 10 байт выше (после расшифроваки
00401140 34 12 XOR AL,12
00401142 FFE0 JMP EAX ; hcm.00401152
)

hidden 28.08.2006 21:46

Я понимаю что легко воспользоваться зараннее заготовленной функцией для замены стандартной, но ведь в зашифрованном блоку предпологается хнанить саму программу.
Как ты уже заметил в ключе присутствует 2х байтовая инструкция, неужели так много 2х байтовых очень распространённых инструкций?
В серийнеке содержится 2х байтовая инструкция и имя пользователя.

ProTeuS 28.08.2006 22:01

забавный момент, если ввести в ка4естве сериала "feeb свое имя", то прога запишет в следующую после прос4ета серийника команду "ebfe" и зациклится =)

а вообще, .00401140 именно сюда записываются введенные в серийник первые 2 оппкод-байта

ProTeuS 28.08.2006 22:33

а клю4 вида "EBEBProTeuS", где 1 байт нужно подобрать немного "вверх", 2 байт-для прыжка на MessageBox после расшифровки зашифрованного текста, остальные - имя пользователя

ProTeuS 28.08.2006 22:36

2hidden, я сна4ала думал, 4то после СМК будет инструкция не безусловного перехода, а 4то-то вроде inc eax. тогда бы 2 байта оставались на jmp ****, а остальные (модифицируемые 0040114F 66:C740 02 FFE0 MOV WORD PTR DS:[EAX+2],0E0FF) на jmp eax


Время: 07:01