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

 eXeL@B —› Основной форум —› Разминка для ума
Посл.ответ Сообщение

Ранг: 11.1 (новичок)
Активность: 0.010
Статус: Участник

Создано: 14 июня 2007 11:16
· Личное сообщение · #1

Доброго времени суток, уважаемые знатоки реверс-инженеринга!

Против Вас играет... хе-хе, вообщем-то ни кто здесь против Вас не играет.
Недавно, дизассемблируя одну из стандартных виндовых библиотек я наткнулся на интересную, недокументированную вещь (ну, по крайней мере в ИНете документации по этой теме я почти не нашел). В голове промелькнула мысль - почему бы не использовать эту фишку при создании защит?

И я написал свой первый CrackMe... Зная, что здесь к CrackMe от людей с малым количеством постов (к коим я принадлежу) относятся с подозрением, хотелось бы заверить особо осторожных, погоревших на "творениях" от "продвинутых" кулхацкеров (видел я тут на форуме пару топиков - то файловую систему затрут, используя чистый копипаст чужого кода, то еще что) - ни чего вредоносного в моем коде нет, за свои слова я отвечаю. Любителей "занозить" тоже хочу обломать - протектор писать я не собираюсь и выкладываю "сиё творение" просто так, а не для того, чтобы за Ваш счет протестировать устойчивость защиты (да и о какой устойчивости может идти речь - мне кажется для взлома потребуется не больше получаса, тем более, что размер файла всего 4 кб. - писалось все это дело на ассемблере).

Собственно, писалось оно не для того чтобы ломать было сложнее, а для того, чтобы процесс исследования доставил как можно больше удовольствия. Не знаю только на сколько хорошо это у меня вышло. Судить Вам. У CrackMe есть одно ограничение - писался он (или она/оно, как угодно ;) под WinXP и на других ОСях не тестировался. Ни каких ограничений по правилам взлома, естественно, нет. Хотите - кейгенте, хотите - патчите, дело вкуса, главное чтобы по нажатию кнопки "ОК" высветилась надпись "REGISTERED".

Аттачить ни чего сюда не стал, взять можно здесь: twister.orgfree.com/other/crackme.rar

Надеюсь что кому-нибудь это будет интересно...




Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 14 июня 2007 11:19
· Личное сообщение · #2

www.orgfree.com./images/no.gif
Bad request

Не открывается.




Ранг: 282.8 (наставник), 24thx
Активность: 0.260
Статус: Участник
win32.org.ru

Создано: 14 июня 2007 11:21 · Поправил: Guru_eXe
· Личное сообщение · #3

Twister пишет:
Аттачить ни чего сюда не стал, взять можно здесь: http://twister.orgfree.com/other/crackme.rar http://twister.orgfree.com/other/crackme.rar

Некачается чета

add: незаметил предыдущий пост

-----
may all your PUSHes be POPed!




Ранг: 11.1 (новичок)
Активность: 0.010
Статус: Участник

Создано: 14 июня 2007 11:22
· Личное сообщение · #4

Да, я заметил что через браузер не хочет. А вот менеджером закачек (Flash/ReGet) легко. Ну да ладно, лучше в аттач.

4867_14.06.2007_CRACKLAB.rU.tgz - crackme.rar



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

Создано: 14 июня 2007 11:35 · Поправил: SWR
· Личное сообщение · #5

Под висту не фурычит

Хотябы левый импорт прикрутил



Ранг: 11.1 (новичок)
Активность: 0.010
Статус: Участник

Создано: 14 июня 2007 11:42
· Личное сообщение · #6

Левый импорт не спасет - чтоб заработал на Висте нужно писать под Висту ;)



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

Создано: 14 июня 2007 11:54
· Личное сообщение · #7

да. крякми интересная, без отладчика сложновато разобратся (нужны смещения).
хотя полно антитросировачных метод.
А сервиспак в ХР какой нужон?




Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 14 июня 2007 12:24
· Личное сообщение · #8

Что-то всех на одно и то же попёрло. Уже ставший классикой метод бг - смешиваем имя и пароль, получаем некий указатель, по которому вызывается процедура. Принципиально нового ничего нету =(
Для себя - полезно, для народа - извините.

Про недокументированную функцию я не очень понял - разбор таблиц импорта библиотек вручную что ли?


SWR пишет:
хотя полно антитросировачных метод.

Ну договорились же писать по-русски Только трюк с IsDebuggerPresent.

SWR пишет:
А сервиспак в ХР какой нужон?

У меня 2-й, работает.



Ранг: 11.1 (новичок)
Активность: 0.010
Статус: Участник

Создано: 14 июня 2007 12:43 · Поправил: Twister
· Личное сообщение · #9

Про недокументированную функцию я не очень понял - разбор таблиц импорта библиотек вручную что ли?

Нет конечно. Ищите - колоться пока не буду. Необходимо найти то место, где считывается РегКод и обрабатывается.

А вот трюка с IsDebugPresent нет, просто мен кажется это совсем уж примитив.



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

Создано: 14 июня 2007 13:00
· Личное сообщение · #10

Twister пишет:
А вот трюка с IsDebugPresent нет, просто мен кажется это совсем уж примитив.

Так нафига этот примитив было пихать в крякмис, типа показать что ты знаеш примитив?



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

Создано: 14 июня 2007 13:02
· Личное сообщение · #11

7C7011F6 6A 20 PUSH 20
7C7011F8 C12424 08 SHL DWORD PTR SS:[ESP],8
7C7011FC 830424 20 ADD DWORD PTR SS:[ESP],20
7C701200 C12424 10 SHL DWORD PTR SS:[ESP],10
7C701204 812C24 9493FFFF SUB DWORD PTR SS:[ESP],FFFF9394
7C70120B 83EC 04 SUB ESP,4
7C70120E C70424 00003332 MOV DWORD PTR SS:[ESP],32330000
7C701215 C12C24 10 SHR DWORD PTR SS:[ESP],10
7C701219 810C24 00002E64 OR DWORD PTR SS:[ESP],642E0000
7C701220 83C4 FC ADD ESP,-4
7C701223 C70424 00000050 MOV DWORD PTR SS:[ESP],50000000
7C70122A C12C24 04 SHR DWORD PTR SS:[ESP],4
7C70122E 810C24 00000070 OR DWORD PTR SS:[ESP],70000000
7C701235 C12C24 04 SHR DWORD PTR SS:[ESP],4
7C701239 810C24 00000030 OR DWORD PTR SS:[ESP],30000000
7C701240 C12C24 04 SHR DWORD PTR SS:[ESP],4
7C701244 810C24 00000070 OR DWORD PTR SS:[ESP],70000000
7C70124B C12C24 04 SHR DWORD PTR SS:[ESP],4
7C70124F 810C24 00000050 OR DWORD PTR SS:[ESP],50000000
7C701256 C12C24 04 SHR DWORD PTR SS:[ESP],4
7C70125A 810C24 00000060 OR DWORD PTR SS:[ESP],60000000
7C701261 C12C24 04 SHR DWORD PTR SS:[ESP],4
7C701265 810C24 00000020 OR DWORD PTR SS:[ESP],20000000
7C70126C C12C24 04 SHR DWORD PTR SS:[ESP],4
7C701270 810C24 00000070 OR DWORD PTR SS:[ESP],70000000
7C701277 54 PUSH ESP

классно =]

кейген в аттаче...

547c_14.06.2007_CRACKLAB.rU.tgz - slv.keygen.rar

-----
Shalom ebanats!





Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 14 июня 2007 13:07
· Личное сообщение · #12

Вызов Sysenter'а напрямую, без API.



Ранг: 11.1 (новичок)
Активность: 0.010
Статус: Участник

Создано: 14 июня 2007 13:34
· Личное сообщение · #13

Так нафига этот примитив было пихать в крякмис, типа показать что ты знаеш примитив?

Уважаемый, может тебе дать исходник? Я же сказал, там этого нет!



Ранг: 161.0 (ветеран)
Активность: 0.120
Статус: Участник

Создано: 14 июня 2007 13:37
· Личное сообщение · #14

SLV молодец!
В кейгене взят участок кода 7С7016D5 - 7C7016E8..
А так все нормально смотрится в виндасме



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

Создано: 14 июня 2007 13:40
· Личное сообщение · #15

А сдвиг адреса возврата например? (или это не антитросировка?)



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

Создано: 14 июня 2007 13:45
· Личное сообщение · #16

SWR, чтото типа...

call @F
db 68h
jmp @1
@F:
inc [esp]
ret
@1:

это просто гавнокод... хз может кому и антитрейс... =]

-----
Shalom ebanats!




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

Создано: 14 июня 2007 13:51
· Личное сообщение · #17

Ну для профи сложно придумать чето ценное.
А для начинающих нормально.



Ранг: 11.1 (новичок)
Активность: 0.010
Статус: Участник

Создано: 14 июня 2007 13:54
· Личное сообщение · #18

Да, как я и предполагал, CrackMe на полчаса.
А кто-нить дошел до сути, т.е. как (примерно) все это чудо работает?
Например, откуда процедура генерации пароля выуживает имя пользователя и пароль?



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

Создано: 14 июня 2007 14:08 · Поправил: SLV
· Личное сообщение · #19

Twister,
к чему вопрос?

.text:7C701385 lea eax, [ebp-100h]
.text:7C70138B
.text:7C70138B loc_7C70138B: ; DATA XREF: .text:7C70156Co
.text:7C70138B push eax
.text:7C70138C push 1004
.text:7C701391 push dword ptr [ebp+8]
.text:7C701394 call ds:pGetDlgItemTextA
.text:7C70139A test eax, eax
.text:7C70139C jz loc_7C701482
.text:7C7013A2 push 256
.text:7C7013A7 lea eax, [ebp-200h]
.text:7C7013AD push eax
.text:7C7013AE push 1005
.text:7C7013B3 push dword ptr [ebp+8]
.text:7C7013B6 call ds:pGetDlgItemTextA
.text:7C7013BC test eax, eax
.text:7C7013BE jz loc_7C7014AE

читает и проверяет... и там процедура проверки скорее чем генерации... и ошибка в том что адрес GoodBoy используется в подсчётах... убрать его из edi и было бы сложнее... пришлось бы анализировать код...

-----
Shalom ebanats!




Ранг: 11.1 (новичок)
Активность: 0.010
Статус: Участник

Создано: 14 июня 2007 14:14
· Личное сообщение · #20

Не верно! Но близко.

.text:7C7013B6 call ds:pGetDlgItemTextA
Да, это обращение к тексту в EditBox-е, но к процедуре проверки оно не имеет прямого отношения. Соль не в этом.



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

Создано: 14 июня 2007 14:16
· Личное сообщение · #21

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

-----
Shalom ebanats!




Ранг: 11.1 (новичок)
Активность: 0.010
Статус: Участник

Создано: 14 июня 2007 14:16
· Личное сообщение · #22

Добавлю:

Недокументированная фишка, состоит в том, чтоб писать и, что важно, читать заголовки и классы окон в обход АПИ (SysCall'ы тут не причем).



Ранг: 11.1 (новичок)
Активность: 0.010
Статус: Участник

Создано: 14 июня 2007 14:18
· Личное сообщение · #23

Не, кейген пашет на ура. Ни кто и не сомневался в компетентности наших крякеров.
Но ведь просто сломать не совсем интересно, интересней понять как оно работает. Я не прав?



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

Создано: 14 июня 2007 14:19
· Личное сообщение · #24

Twister, не будем разводить оффтоп...

-----
Shalom ebanats!




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

Создано: 14 июня 2007 14:21
· Личное сообщение · #25

Это для всех окон или тока для Edita (или что там)



Ранг: 11.1 (новичок)
Активность: 0.010
Статус: Участник

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

SLV
Не будем.

SWR
Заголовок окна и текст в окне разные вещи. А так вообще для всех.



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

Создано: 14 июня 2007 15:01
· Личное сообщение · #27

я знаю ))))
(но для некоторых они равны (так заделаны))


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


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