Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
Crackme - кто хочет секаса.. |

08.06.2008, 16:55
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме: 5339610
Репутация:
4360
|
|
Crackme - кто хочет секаса..
Сделал крякмис от нечего делать,
Ссыль: http://gr8.cih.ms/uploads/crackme_vm.exe (6 кб)
Сложность: средняя
Задача:
найти серийник под ваш ник =)
Дерзайте, у кого есть время и кому не лень разгребать кодесы)
|
|
|

08.06.2008, 19:44
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
При беглом осмотре - ключ dword, так что можно набрутить =) Глубже пока не копал, просто любопытно - защита от брута есть?
|
|
|

08.06.2008, 20:02
|
|
Постоянный
Регистрация: 20.08.2006
Сообщений: 327
Провел на форуме: 2472378
Репутация:
1077
|
|
раска, ты засранец... я так не успею первым сбрутить =)))
хотя отрыв ото всех у мну уже есть
ЗЫ: там футбол начался.... ток что, Great... секаса у меня не будет)))
пойду смотреть
Последний раз редактировалось taha; 08.06.2008 в 20:05..
|
|
|

08.06.2008, 20:18
|
|
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме: 10046345
Репутация:
4589
|
|
Облин о_0 йа думал ток йа брутить решил :d
|
|
|

08.06.2008, 20:18
|
|
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме: 3008839
Репутация:
1502
|
|
если пропустить прыжок на вывод неправильного сообщения, то выводит превуюи последнюю букву "М" в сообщении. Если пропустить всю проверку, то М только в конце  Было бы время, поиздевался, а так - нет. Только зачем там SEH я не понял...
PS Блин, расскажите кто-нибудь про это ваше приватное коммьюнити cih.ms 
__________________
Bedankt euch dafür bei euch selbst.
H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
|
|
|

08.06.2008, 21:40
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
Ну кароч структура команд ясна - первый байт - опкод с двумя флагами. второй байт - по 4 бита индексы регистров вм. еще 2 дворда - добавление к содержимому регистров вм. за суммирование отвечает флаг в команде. данные грузятя из регистров вм в стековые переменные функции-обработчика. еще важным является регистр edx, ибо в нем результат выполняемой команды лежит. иль я где-то накосячил?
ну а теперь надо декодировать команды вм.
[ADDED]
хехе, уже переписываю пикод на псевдоасм =)
Ваще вм больше напоминает реальный проц нежели систему, целью которой служит усложнение исследования =) Больно все академично.
Ах да, ключег вот:
Ra$cal
568AA687
Ща допишу табличку опкодов и псевдокод.
Код:
mov r0, name
mov r1, E98FB720
mov r7, key
xor r4, r4
mov r5, name
add r5, name_len
lbl_NEXT_1:
mov r3, dword_ptr [r0]
xor r3, r1
add r4, r3
inc r0 ;// к следующей букве имени
cmp r0, r5
jle lbl_NEXT_1
cmp r4, r7
jnz lbl_EXIT
mov r8, 87148712
lbl_EXIT:
mov r4, 0
ret
6 млабших бит первого байта команды - opcode
8ой бит первого байта команды - управление разыменовыванием r1
7ой бит первого байта команды - управление разыменовыванием r2
4 млабших бита второго байта - r1. Индекс регистра вм
4 старших бита второго байта - r2. Индекс регистра вм
4 байта - data_r2
4 байта - data_r1
Длина команды - 10 байт
Если r1 или r2 равно 0x0C, то загружается в функцию data_r1 или data_r2 соответственно
rvm0 - адрес имени
rvm2 - длина имени
rvm7 - ключ
rvm1 - константа ксора
6 - xor r2, r1
3 - mov r2, r1
4 - add r2, r1
A - inc r1
F - cmp r2, r1
14 - jg $+0x0A
10 - jz $+0x0A
3F - ret
Последний раз редактировалось Ra$cal; 08.06.2008 в 23:53..
|
|
|

09.06.2008, 00:53
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме: 5339610
Репутация:
4360
|
|
Ra$cal, довольно точно реверснул структуру команд VM, за исключением неокторых моментов.
Могу дать подсказку, что регистр edx ничем не отличается от остальных в реализации VM, в самом интерпретаторе используются команды фиксированного размера по 10 байт, эмулируются 10 регистров общего назначения, а так же регистр указателя инструкций, регистр указателя стека и набор флагов для осуществления условных операций (только на условия e, g, l, ge, le)
А вообще половина эмулируемых возможностей в коде не используется..
Вообще писал чисто ради интереса, если реверсить было так же интересно, то мне лишь приятно)
Вообще было большое желание усложнить все это дело, что, видимо, и сделаю в следующий раз
В следующий раз будет пожестче + некоторые интересные антиотладочные приемы.
Последний раз редактировалось _Great_; 09.06.2008 в 00:55..
|
|
|

09.06.2008, 01:22
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
да, я описал только то, что используется и не очень очевидно, vm_eip думаю каждый нашел =). ну и солюшн напешу для тех, кто неосилел.
зы: на счет edx не согласен
Код:
004020DD |> \807D 08 01 CMP BYTE PTR SS:[EBP+8], 1
004020E1 |. 75 02 JNZ SHORT crackme_.004020E5
004020E3 |. 8B3F MOV EDI, DWORD PTR DS:[EDI]
004020E5 |> 8917 MOV DWORD PTR DS:[EDI], EDX
edx приходит из обработчиков команд. может это сделал компилятор, но в регистр вм пишется всегда содержимое регистра edx.
Последний раз редактировалось Ra$cal; 09.06.2008 в 01:27..
|
|
|

09.06.2008, 01:44
|
|
Постоянный
Регистрация: 20.08.2006
Сообщений: 327
Провел на форуме: 2472378
Репутация:
1077
|
|
Nick: taha
Password: 45F6431E
Извините за задержку... просто мне тут друзья позвонили... пришлось отлучится попить пива и покурить пару бульбиков
Вобщем Ай эм хеккер! Сериал ок
Солюшен:
1. Патчим прогу
Код:
004025A7 . FF35 7D154000 push dword ptr ds:[40157D]
004025AD . 68 55154000 push offset <crackme_.Nick> ; ASCII "taha"
004025B2 . E8 06FFFFFF call crackme_.004024BD
004025B7 . 84C0 test al,al
004025B9 75 08 jnz short crackme_.004025C3
004025BB FF05 7D154000 inc dword ptr ds:[40157D]
004025C1 ^ EB E4 jmp short crackme_.004025A7
004025C3 CC int3
004025C4 CC int3
2. Уходим пить пиво и курить траву!
3. Постим ник и пас
Вот такой вот простой хэкк!
add:
Брут брутом, а я уже почти дореверисл вм
Последний раз редактировалось taha; 09.06.2008 в 19:17..
|
|
|

09.06.2008, 22:49
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме: 5339610
Репутация:
4360
|
|
>> может это сделал компилятор
я на фасме писал  )
edx используется просто тупо потому, что в одном месте я написал код, который его юзает, а потом просто скопипастил с изменениями. получилось, что он везде юзается для одной цели. с другими регистрами в принципе так же ввиду того же копипаста)
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|