Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 мая!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

АРХИВ ФОРУМА eXeL@B
https://exelab.ru/f/

   

-= ALEX =- ALEXPROT #0.1 CrackMe Состряпал тут крякми, дабы посмотреть, трудно


-= ALEX =- ALEXPROT #0.1 CrackMe Состряпал тут крякми, дабы посмотреть, трудно или нет распаковать прогу, запакованную моим протектором :) Цель - распаковать прогу, ну и конечно взломать ее. Разрешается сделать in-line patch, но лучше распаковать... пишите plz ваше мнение, буду очень благодарен...
ссылка - http://www.alex2kx.nm.ru/crackme1.rar
infern0 :: -= ALEX =- пишет:
цитата:
Состряпал тут крякми, дабы посмотреть, трудно или нет распаковать прогу, запакованную моим протектором :)


в таких случаях протектор навешивается например на блокнот виндусовый.

sanek :: -= ALEX =-
Помоги со взломом DLLки не доганяю че делать с ней

-= ALEX =- :: infern0 да вот что-то не догадался ...

MC707 :: Первое впечатление - довольно затруднен поиск ОЕР (по крайней мере на 98-ой), очень много SEH-ловушек.

dMNt :: ну не так уж и много
когда основной код отработает и управление в выделенную virtualalloc’ом память перейдет - то там их не будет, но там будут веселые проверки после GetProcAddr типа а не int3 ли нам подсовывают
ЗЫ: хм, олли показала себя с хорошей стороны, хотя не доверял я раньше user-mode debuggers ... а зря

Dragon :: OEP, сразу находиться по условному бряку на конец GetModuleHandleA(Условие - адрес возврата в первой секции). А начало оттуда уже спёрли, правда его прямо вручную туда вписать можно. Здесь единственная трудность - импорт, IAT нет, чтобы восстановить, надо написать что-нибудь.

-= ALEX =- :: интересненько :)

MoonShiner :: OEP есть, спертые байты есть, импорт восстановлен, хотя пришлось подолбаться... Приду домой - добью...
А так, штука веселая и нудная, молодец:)

Dragon :: MoonShiner
А как ты его смог так быстро, создание его подправил что ли?

В протекторе оригинальных идей так особо и нет. Вот антиотладка. Ну какой смысл в CreateFile(»\\\\.\\ntice’, ...)? Вот EnumServicesStatus даёт результат, или ветку реестра просмотреть со службами, или OpenService+QueryServiceStatus, или ... хватит, а то этот протектор отладить нельзя будет. bpm также спокойно ставяться. Вообще антиотладка в протекторе сейчас самое главное. Если её нет, то протектор твой за десять минут снимут. Всё остальное так себе, на уровне, по сложности премерно как аспр старый версии 1.1.

MoonShiner :: Dragon пишет:
цитата:
А как ты его смог так быстро, создание его подправил что ли?


я прогулялся по коллу на 44**6B (не пишу, чтобы другим не подсказывать:), наткнулся на первую импортируемую функцию, в переходнике не ковырялся... Потом зашел с другого конца ловив GetProcAddress. Там увидал, куда копируются адреса (а идут они через 86h байтов), подождал, пока ?все? функции импортировались и накатал прямо в коде проги код, который весь этот импорт писал прямо в секцию кода (времени не было, начальство ныло постоянно над ухом) разбавил thunk-и нулями и засунул в импрек. Подробнее больше не смотрел, времени не было. Седня вечерком еще гляну, правильно ли я все понял...

nice :: -= ALEX =-
Респект тебе брат ;)
Эта та же версия, что ты мне давал, или обновленная?

AnteC :: конечно же я не распаковал прогу но лоадер даже я состряпал за 5 минут :(
http://www5.domaindlx.com/antec/LOADER.RA_

Dragon :: MoonShiner
Вот и закономерность - 86h байт, если было случайное число, то сложнее. А если прямые jmp на переходники, как в XtremeProtector’е, то с imprec’ом уже ничего не сделать, всё руками писать надо.

AnteC :: а вот и патч
http://www5.domaindlx.com/antec/PATCH.RA_

AnteC :: Ps DZA - rullez

2-=Alex=- видишь даже такой ламер как я не распаковывая в ручную ломанул прогу отюда вывод ...

The DarkStranger :: вобщем все делается просто но я не как не могу понять что у меня за глюк вобщем IAT востановить просто как я делал :
с getprocaddress вышел на цикл в котором строятся jmp [alex] вот там написал мини процедуру которая бы писала адресса api в адресное пространство проги то есть в то место которое физически в програме существует ( я просто нашел нули :) ) дальше доходим до oep и все тут дампим и через revergin востанавливаем все и вот тут бы все хорошо но вот только загвоздка вышла после фикса IAT файл перестает быть win 32 приложением не какие rebuld и т.д. не помагают еще я заметил такую вещь если просто дампишь а потом добавляешь секцию то файл автоматом становится не прелдожение win32 так вот вопрос что это и как это подедить чесно презнаюсь сталкиваюсь 1 раз стаким :(
в аспре 1.3 аналогично делал ( ну только там раз в 5 сложнее ) все работало а здесь какойто глюк не могу понять

xDriver :: Подскажите пожалуйста я правильно начал копать ?
SEH - ловушки это замусоривание кода ?

.rsrc:00450400 public start
.rsrc:00450400 start proc near
.rsrc:00450400 pusha
.rsrc:00450401 call sub_450407
.rsrc:00450406 nop
.rsrc:00450406 start endp
.rsrc:00450407 sub_450407 proc near ; CODE XREF: start+1p
.rsrc:00450407 add esp, 4
.rsrc:0045040A xor ecx, ecx
.rsrc:0045040C call sub_450412
.rsrc:00450411 nop
.rsrc:00450411 sub_450407 endp
.rsrc:00450412 sub_450412 proc near ; CODE XREF: sub_450407+5p
.rsrc:00450412 add esp, 4
.rsrc:00450415 call sub_45041B
.rsrc:0045041A nop
.rsrc:0045041A sub_450412 endp
.rsrc:0045041B sub_45041B proc near ; CODE XREF: sub_450412+3p
.rsrc:0045041B add esp, 4
.rsrc:0045041E mov ecx, 16h
.rsrc:00450423 call sub_450429
.rsrc:00450428 nop
.rsrc:00450428 sub_45041B endp
.rsrc:00450429 sub_450429 proc near ; CODE XREF: sub_45041B+8p
.rsrc:00450429 add esp, 4
.rsrc:0045042C call $+5
.rsrc:00450431 call sub_450437
.rsrc:00450436 nop
.rsrc:00450436 sub_450429 endp
.rsrc:00450437 sub_450437 proc near ; CODE XREF: sub_450429+8p
.rsrc:00450437
.rsrc:00450437 arg_0 = dword ptr 4
.rsrc:00450437
.rsrc:00450437 add esp, 4
.rsrc:0045043A mov ebp, [esp-4+arg_0]
.rsrc:0045043D add esp, 4
.rsrc:00450440 call sub_450446
.rsrc:00450445 nop
.rsrc:00450445 sub_450437 endp
.rsrc:00450446 sub_450446 proc near ; CODE XREF: sub_450437+9p
.rsrc:00450446 add esp, 4
.rsrc:00450449 sub ebp, offset dword_401031
.rsrc:0045044F
.rsrc:0045044F loc_45044F: ; CODE XREF: sub_450469+5j
.rsrc:0045044F call sub_450455
.rsrc:00450454 nop
.rsrc:00450454 sub_450446 endp
.rsrc:00450455 sub_450455 proc near ; CODE XREF: sub_450446+9p
.rsrc:00450455 add esp, 4
.rsrc:00450458 call $+5
.rsrc:0045045D call $+5
.rsrc:00450462 dec ecx
.rsrc:00450463 call sub_450469
.rsrc:00450468 nop
.rsrc:00450468 sub_450455 endp
.rsrc:00450469 sub_450469 proc near ; CODE XREF: sub_450455+Ep
.rsrc:00450469 add esp, 4
.rsrc:0045046C test ecx, ecx
.rsrc:0045046E jnz short loc_45044F
.rsrc:00450470 call sub_45072E
.rsrc:00450475 call sub_45047B
.rsrc:0045047A nop
.rsrc:0045047A sub_450469 endp

GL#0M :: xDriver пишет:
цитата:
SEH - ловушки это замусоривание кода ?


Почитай про сехи здесь http://xtin.km.ru/view.shtml?id=92
или http://xtin.km.ru/view.shtml?id=135

xDriver :: 2 GL#0M
Спасибо прочитал ! Въехал !

Если не влом плз. линк насчет «спертых байт» можно (дорого искать)
Сенкс!

Mario555 :: -= ALEX =-
Пёртые байты теперь мусорным кодом разбавлены... куль...
В olly есть trace log и подсветка изменений регистров (HighLight register), а твой мусорный код изменяет только Esi, поэтому среди него очень хорошо видны stolen bytes...

MoonShiner :: Делать нечего, начал писать свой загрузчик импорта...

-= ALEX =- :: спасибо всем :) я и сам его за несколько минут распаковывал, теперь узнал мнения других. Все это делалось для того, чтобы доработать протектор. Ждите еще версий :) Может у кого еще идеи есть по улучшению, напишите plz

-= ALEX =- :: AnteC что-то я ниче скачать так и не смог :(

MoonShiner :: -= ALEX =- , самые веселые вещи были с импортом, советую продолжить в этом направлении. Избавиться от 86-ти, о которых я говорил выше, попробовать не использовать GetProcAddress (типа как в обсидиуме) и перемешать импортируемые функции, то есть располагать их не в том порядке, в котором они представлены в оригинале.

-= ALEX =- :: MoonShiner окей, бум стараться :)

Bad_guy :: Ну что, ALEX. Можно уже пока дальше не писать. Теперь покупай 10-100 млн. показов баннеров, открывай alexprot.com и так далее. А не то из хорошей коммерческой идеи выйдет просто «крэкерская игрушка».

-= ALEX =- :: Bad_guy :)

Bad_guy :: -= ALEX =-
Я вполне серьезно. Это может стать основной работой !

MoonShiner :: Bad_guy , ну ты, блин, еще насоветуешь... Мало всяких аспров на нашу голову развелось:)

Bad_guy :: MoonShiner
Рано или поздно ALEX сам бы додумался - чего хорошему человеку не подсказать

-= ALEX =- :: MoonShiner да ты че, все так и задумывалось, вы мне поможите защиту написать, а я буду на этом бабки зашибать :) ШУТКА конечно... пишу пока ради интереса. Кстати вопросик насчет эмуляции getprocaddress, где можно узнать об этом, в каком протекторе ?

Bad_guy :: -= ALEX =- пишет:
цитата:
вы мне поможите защиту написать, а я буду на этом бабки зашибать :)


А что, Солодовников так и делает...

-= ALEX =- :: Bad_guy да я не сомневаюсь :)

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

MC707 :: Интересно, с какими крякерами общается солод, и под каким ником

-= ALEX =-
А вообще реально коммерческим его сделать! И чем больше он раскрутится, тем больше нам выгоды будет имхо

MoonShiner :: MC707 пишет:
цитата:
Интересно, с какими крякерами общается солод, и под каким ником


Хмм... А ну ка вспомни, какое у Солода имя:)

Bad_guy :: MC707 пишет:
цитата:
с какими крякерами общается солод


Год назад качал архив форума реверсинга - вот там были посты от солода, с таким высокомерием главное... типа «идите детишки сникерсы кушайте, а я тут бабки делаю»

MaDByte :: Bad_guy
А поточнее? какие именно посты и в каких темах?

MC707 :: MoonShiner
лол

Bad_guy
круто. сейчас бы к нам сюда зашел

AlexZ CRaCker :: AnteC пишет:
цитата:
2-=Alex=- видишь даже такой ламер как я не распаковывая в ручную ломанул прогу отюда вывод ...


AnteC
Молоток! А скока часов/дней/мес/лет занимаишся крэком?
зы :
заходите на опрос «о времени» (нау на 2й странице форума).

MozgC [TSRh] :: -= ALEX =-
ALEX у меня есть твой адрес, так что если твой протектор станет мне надоедать и мешать при сломе программ, то тебе лучше переехать =)

-= ALEX =- :: MozgC [TSRh] от куда у тебя мой адрес ? :)

Bad_guy :: MozgC [TSRh]


Bad_guy :: MaDByte
Откуда я помню. Просто увидел ник «Alexey Solodovnikov» и поиском изучил я этого человека...

AnteC :: 2 -=Alex=- используй какой-нить download manager
и добавь _ в конец линка (хостер не разрешает архивы выкладывать вот и приходится изголяться :( но зато 100 Mb free :)

Mario555 :: Э-э... дык как/чем всё-таки импорт в дамп загнать ? Imprec пишет Invalid dump.
Есть ли статьи по восстановлению импорта без использования Imprec’а ? Что он вообше делает, когда FixDump жмешь ?

MsFUCK :: -= ALEX =-
Вышло, на несколько первых взглядов, очень даже ничего!
Только мало нового... да и зачем столько SEH? Это что модно стало?
Как импорт починить я так и допёр... может быть в причину отсутствия времяни...
Я тут, как помнишь, тоже начал творить протектор... вот разбираюсь в упаковке и налегаю на антиотладку, пока только OllyDbg отрезал, да и без некоторого разбора и SI не пашет...
И вот... где про упаковку импорта прочитать...?

Runtime_err0r :: Bad_guy , MozgC [TSRh]
На самом деле Солодовников скорее всего «расковыряет» этот AlexProt и реализует все интересные фишки в новом аспре, а сам проект загнётся

-= ALEX =- :: Runtime_err0r пока еще нечего ковырять в AlexProt :) а так - он все и так сдирает, все примемы из вирей и из других протекторов...
MsFUCK что вы все заладили насчет SEH’ов ? там их только один, в самом начале, ну и по одному разу используется в процедурке удаления отладочных регистров :) вас никто не просит заходить в эту процедурку, и не будет вам seh’ов :) А вот насчет того, что ты начал тоже протектор писать... мда... рано пока еще

-= ALEX =- :: Mario555 насчет импорта, то тебе надо сначала самому написать небольшую процедурку, которая будет переходники проги исправлять, т.к. я над этим потрудился, а пока еще рано на ImpRec гнать :)

-= ALEX =- :: [RU].Ban0K я как понял ты ник сменил на MsFUCK ? нахрена ? а вообще надо предупреждать, а если б я обкурился и не узнал тебя ?...

-= ALEX =- :: AnteC посмотрел щас твой патч... что-то не похоже, что этот патч сделал новичок, как ты говоришь, код этот я уже видел. остается сделать вывод, что юзалась какая-то прожка :) А так интересно конечно, я вообще-то просил сделать in-line патч, а не внедрять в тело свой код.
P.S. что за прога выделывает такие кренделя ?

-= ALEX =- :: уже куча идей заготовлена, ждите обновленную версию. если не интересно вам, так и скажите, не буду делать. я вот думаю, что интересно будет... Ну а так, кто-нить выложит распакованный crackme ?

MsFUCK :: -= ALEX =- пишет:
цитата:
[RU].Ban0K я как понял ты ник сменил на MsFUCK ?


Не правильно ты решил, это просто форум забыл пароль... или я... :)

AnteC :: 2-=Alex=-
не возвышай меня так высоко а то падать больно будет :)

на самом деле ломанул просто - сделал дамп при помощи LordPe (естественно он не запускался но исследовать то можно :)
потом патч в DZA patcher’e
ЗЫ только в нем галку Append patcher to last section надо снять ...
вот так вот =› может тебе сделать как в последнем АСПР’е (2 распаковки) DZA на нем обламывается


dMNt :: [Offtopic]
AnteC блин, поймать тебя не могу никак, стукнись в асю № 1999389
[/Offtopic]

-= ALEX =- :: AnteC пишет:
цитата:
может тебе сделать как в последнем АСПР’е (2 распаковки) DZA на нем обламывается


:) да ты хоть 10 сделай :) дело в другом...

Mario555 :: -= ALEX =- пишет:
цитата:
тебе надо сначала самому написать небольшую процедурку


Ну дык я сделал процедуру, которая создаёт iat (с адресами api, а не переходников) в адресном пространстве exe (где нули), при переходе к новому модулю (после вызова LoadLibrary) тоже дописал немного своего кода увеличивающего переменную (которую я использую для создания iat) на 4, тоесть между функциями из разных модулей будут нули, таким образом импрек сможет корректно видеть эту таблицу. Также правятся переходы
с Jmp [protector]
на Jmp [адрес ячейки создаваемой IAT]
Нужно что-то ещё ?
Прога, если после изменений продолжить её выполнение, будет нормально работать с моей Iat, а вот импрек при попытке запихнуть эту Iat в дамп пишет Invalid dump file .

PS я бы не спрашивал «как загнать импорт в дамп», если бы у меня не было этого самого импорта.

PPS и всё-таки что делает импрек при нажатии FixDump ? реально ли сделать тоже самое вручную ?

Mario555 :: Все распаковали или все «забили» ?

-= ALEX =- :: Mario555 еще никто не распаковал :) щас вот дописываю новую версию алекспротектора...

FEUERRADER :: ALEXProt распаковал Asterix. Всем желающим он вышлет распакованный файл на мыло. Оставляйте мыла в этой теме.

-= ALEX =- :: FEUERRADER ну хоть кто-то пару часов, а может и минут потратил :) ща я в полной отладке протектора... столько багов собралось, что УЖАСС

Mario555 :: FEUERRADER пишет:
цитата:
распакованный файл на мыло


А зачем нужен распакованный крякми ?!
Мне бы лучше прогу, которой к дампу импорт прицепить...

[RU].Ban0K! :: Mario555
Попробуй так...
Ты же восстановил в память IAT, ну так натрави на эту IAT ImpRec, по моему он должен восстановить...

Mario555 :: [RU].Ban0K! пишет:
цитата:
по моему он должен восстановить...


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

-= ALEX =- :: странные вещи...

Aster!x :: ImpRec тебе тут вряд ли поможет придётся всё-таки что-то накодить.

The DarkStranger :: да вся тема что importrec отказывается добовлять секцию а revergin добовляет но после добовления файл не win32 преложение я так подрузомеваю что нужно перестроить файл .... ну там отрезать секции алекса и перстроить ресурсы после чего я надеюсь нормально все будет
да вот собственно назрела прозьба если у когонибуть есть ресурс ребулдер от доктора головы плиззз кинте в мыло angel_aka_ks сабачка pisem.net

GL#0M :: The DarkStranger

Ушло.

Aster!x :: Revirgin скорее всего тоже обломается..
Вот, если кто-то захочет глянуть на распакованный, то
лежит здесь: http://asterix-coder.pochta.ru/Unpacked.exe
(извините что не в архиве, но это сервер его сам распаковал :-)
ЗЫ: perl+asm - рулят.

To Admins:
Не могли бы вы удалить юзера под ником fff из базы форума, это
я протестил возможность написать что-то в форум, но теперь форум
не пускает меня говорит что совпадение IP по зоне c fff

The DarkStranger :: вобщем анпакил я его там одну чтуку сделал и все revergin востановил импорт и все файл пашет !!! смысла выкладываеть его куда то не вижу если кому интересно пишите выложу принципиальные раздичаи между моим дампом и астериксом есть .....

-= ALEX =- :: Aster!x и The DarkStranger молодцы !!!

Mario555 :: Фуф... наконец-то и я распаковал...
И не надо никаких свойх загрузчиков импорта делать, и даже в дампе ничего править не надо. Просто Imprec с «правильными» options ! Поставить нужные флажки (я их методом «научного тыка» обнаружил) и импрек без проблем загрузит импорт (чтобы его получить ессно нужно цикл создания править, тут уж никакие флажки не помогут) в дамп.

-= ALEX =- :: Mario555 тоже молодец ;)






   
Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS