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

 eXeL@B —› Основной форум —› Теперь у меня проблема при распаковке... (EXECryptor)
Посл.ответ Сообщение


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

Создано: 08 июля 2007 01:23 · Поправил: ToBad
· Личное сообщение · #1

Это моя первая попытка распаковки. Вдохновился недавним туториалом от RSI и решил учится на EXECryptor-e. Конечно не получилось в итоге, но очень хотел бы узнать свои ошибки. Импорт вроде правильно нашёл и снял… В общем всё мучения заснял и выкладываю:
1) Нахождение импорта (743 Кб): h..p://tobadko.narod.ru/getimp.htm http://tobadko.narod.ru/getimp.htm
2) Дамп и прикрутка импорта №1 (379 Кб): h..p://tobadko.narod.ru/fixdump.htm http://tobadko.narod.ru/fixdump.htm
3) Дамп и прикрутка импорта №2 (447 Кб): h..p://tobadko.narod.ru/fixdump2.htm http://tobadko.narod.ru/fixdump2.htm
Всё в архиве (1.5 Мб): h..p://tobadko.narod.ru/all.rar http://tobadko.narod.ru/all.rar

Это не туториал, прошу не судить строго, на Оле я ранее не работал и ручной распаковкой не занимался.
Подскажите, что делал не так.



Ранг: 35.1 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 08 июля 2007 06:36
· Личное сообщение · #2

ToBad
ИМХО ты ОЕР не правильно нашел.
Выложи прогу, которую распаковываешь.



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

Создано: 08 июля 2007 06:40
· Личное сообщение · #3

ToBad
А какая у тебя винда? я там небольшое примечание к ролику написал...




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

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

RSI пишет:
А какая у тебя винда? я там небольшое примечание к ролику написал...


Читал примечание. По твоему финальному ролику повторил всё до _lread... Винда XPSP2. Нахождение OEP делал по твоему первому ролику.

Amok пишет:
ИМХО ты ОЕР не правильно нашел.
Выложи прогу, которую распаковываешь.


А импорт нашёл и восстановил правильно ? Программу готовл. Размер большой, так что урезаю до минимума. Сейчас проверю на чистой винде и вышлю. Что касается OEP, то как я написал в ролике на этот адрес идёт первый переход из секции протектора в секцию кода, так же этот адрес выдавал oepfinder. Правда у последнего с разными опциями есть несколько вариантов... Кстати, а OEP может же быть изувечен протектором ? Как быть тогда ?




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

Создано: 08 июля 2007 13:22 · Поправил: ToBad
· Личное сообщение · #5

Amok пишет:
Выложи прогу, которую распаковываешь.


Вот ссылка. http://hexcsl.com/upload/stats/60 Урезал до 9.5 Мб. Папка должна находится в корне диска С:. Буду очень благодарен если поможешь найти ОЕП или направить на его правильные поиски.



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

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

ToBad
Посмотрел твой ролик,
ИМХО странно ты определял границы IAT - попробуй прокрути еще пониже может не все нашел...

И OEP у тебя сперто, но когда ты на него поятвим бряк и потом перешел, там в стеке был адресс возврата 66BEB5 попробуй перейди туда мож там найдешь спертый код который выполнился ранее.

ИМХО с таким OEP которое ты нашел - у тебя прога не запустится.

Почитай как PE_Kill восстанавливал OEP, конечно там нет обоснований почему он так делал...

З.Ы. слить твою прогу пока не могу, поэтому тока советую...



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

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

ToBad
Как вариант, посмотри а хватило ли тебе места в старой секции импорта...

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

И OEP по-любому нужно будет поправить... ( ну типа там "push ebp" и т.д. )




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

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

ToBad
в теле распакованной проги есть такой текст - "Borland C++ - Copyright 1999 "
поэтому я взял подобный экзешник чтоб посмотреть на oep
что получилось в аттаче

94ff_09.07.2007_CRACKLAB.rU.tgz - unp.zip



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

Создано: 09 июля 2007 15:16
· Личное сообщение · #9

r99
меня опередил...

ToBad
Если надо вот и моя версия ( часа 2 потратил на восстановление OEP ) - получилось в 2 раза больше чем у r99, и секции гад отрезать на дал, т.к. он туда часто обращается...

ifolder.ru/2613329



Ранг: 35.1 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 09 июля 2007 16:29
· Личное сообщение · #10

RSI
Прикольно ОЕР лежало в самом начале секции кода, а я его задолбался искать. Пробывал F2 на секцию кода и бряк на GetModuleHandleA. В двух словах скажи как туда попал.



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

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

Amok
Оно там не лежало!!! просто я тоже делал как r99, нашел прогу на Borland C++ и глянул какое там было OEP, по сигнатурам нашел эти функции и записал его обратно!!! Получилось один в один



Ранг: 35.1 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 09 июля 2007 19:57
· Личное сообщение · #12

RSI
Тогда сформулирую вопрос иначе. Где стоял когда делал дамп и как там оказался?


После бряка на _lread, ставлю бряк-на-доступ на секцию кода
0040659D 8945 C0 MOV DWORD PTR SS:[EBP-40],EAX <-- брякаюсь тут
004065A0 FF4D E0 DEC DWORD PTR SS:[EBP-20]
004065A3 6A 02 PUSH 2
004065A5 8D4D F4 LEA ECX,DWORD PTR SS:[EBP-C]
004065A8 51 PUSH ECX
004065A9 E8 EA030000 CALL ZForever.00406998
004065AE 83C4 08 ADD ESP,8
004065B1 66:C745 D4 1400 MOV WORD PTR SS:[EBP-2C],14


Смотрю адрес 00401000 EB 10 JMP SHORT ZForever.00401012
RSI пишет:
Оно там не лежало!!!

А оно там лежит.



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

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

Первая команда OEP в Borland C++

004015A2 > A1 8B704700 MOV EAX,DWORD PTR DS:[XXXXXXX]

я делал так! сначала ищешь строку:
00477000 42 6F 72 6C 61 6E 64 20 43 2B 2B 20 Borland C++

После того как нашел эту строку , XXXXXXXX = смещение от нее + 0x8B.

Просто перезапускал и ставил туда бряк на чтение - вываливался в таком месте

006B97FE 8B00 MOV EAX,DWORD PTR DS:[EAX] <- вот это и есть первая команда!
006B9800 E8 D441FCFF CALL ZForever.0067D9D9
006B9805 FD STD
006B9806 3300 XOR EAX,DWORD PTR DS:[EAX]

Тут дампил, а потом восстанавливал импорт и TLS - затем открывал в оле и вписывал OEP ( которое восстановил )

Эт часть будет для всех одинакова.... (кроме адресов)

00401000 > EB 10 JMP SHORT unpacked.00401012
00401002 66:623A BOUND DI,DWORD PTR DS:[EDX]
00401005 43 INC EBX
00401006 2B2B SUB EBP,DWORD PTR DS:[EBX]
00401008 48 DEC EAX
00401009 4F DEC EDI
0040100A 4F DEC EDI
0040100B 4B DEC EBX
0040100C 90 NOP
0040100D -E9 94DC4D00 JMP thtml.008DECA6

А вот самое спертое OEP:

00401012 A1 87DC4D00 MOV EAX,DWORD PTR DS:[4DDC87]
00401017 C1E0 02 SHL EAX,2
0040101A A3 8BDC4D00 MOV DWORD PTR DS:[4DDC8B],EAX
0040101F 52 PUSH EDX
00401020 6A 00 PUSH 0
00401022 E8 0BB80D00 CALL <JMP.&kernel32.GetModuleHandleA>
00401027 8BD0 MOV EDX,EAX
00401029 E8 5A690C00 CALL unpacked.004C7988
0040102E 5A POP EDX
0040102F E8 40F10A00 CALL unpacked.004B0174
00401034 E8 57260B00 CALL unpacked.004B3690
00401039 6A 00 PUSH 0
0040103B E8 D86A0C00 CALL unpacked.004C7B18
00401040 59 POP ECX
00401041 68 30DC4D00 PUSH unpacked.004DDC30
00401046 6A 00 PUSH 0
00401048 E8 E5B70D00 CALL <JMP.&kernel32.GetModuleHandleA>
0040104D A3 8FDC4D00 MOV DWORD PTR DS:[4DDC8F],EAX
00401052 6A 00 PUSH 0
00401054 E9 F5BC0D00 JMP <JMP.&cc3250mt.__startup>



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

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

Amok
Если хочешь потренироваться, то я седня распаковавал Golden FTP Server Pro 3.06 - там аналогичная ситуация.




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

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

RSI пишет:
в теле распакованной проги есть такой текст - "Borland C++ - Copyright 1999 "
поэтому я взял подобный экзешник чтоб посмотреть на oep
что получилось в аттаче


Твой аттач - отлично работает ! Насчёт С++ я не понял. Деде простой дамп без импорта и прочего разбирает на раз и по всему что внутри я был твёрдо уверен, что это дельфи.

r99 перезалей пожалуйста или скинь мне на мыло: tobadko(сабака)mail.ru - Rar ошибку выдаёт, но zip распаковывает. Или у других всё нормально ? Там 3 файла ?
Патчить нужно оригинальный exe или дамп ?

Я в своём ролике IAT восстанавливал правильно ? Моя проблема была только в неправильно найденном ОЕП и спёртом коде ?

Спасибо всем, что помогли разобраться, что потратили своё время !!! Буду теперь пытаться повторить это сам. Если всё получится, это будет хорошим началом для освоения ручной распаковки.




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

Создано: 09 июля 2007 23:59
· Личное сообщение · #16

ToBad
там 3 файла всего и патч конечно для оригинала.



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

Создано: 10 июля 2007 11:35
· Личное сообщение · #17

ToBad
Насчет цитаты - ты немного ошибся, это писал r99.

Как я заметил DeDE - отлично работает со всеми продуктами Borland ( будь то Delphi или C++ ), поэтому тут особо не определишь разницу.

Насчет IAT, там и в моем архиве( и в его тоже) лежит IAT - поэтому можешь сравнить...

З.Ы. тока я не понял чей вариант ( мой или r99) у тебя не открывается???




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

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

RSI - сорри за ошибку с цитатой... Твой вариант работает.
Насчёт архива r99 я сперва не понял что там. Меня сбила твоя реплика: получилось в 2 раза больше чем у r99, плюс rar писал про ошибку, от того я и переспросил насчёт содержимого архива. В архиве импорт, оеп и патч для снятия антиотладки с exe (как я понял). То есть всё для того, что бы я без проблем сделал дамп. Пока что у меня проблема с Ольгой, мы с ней не работали ранее и я не знаю тонкостей... Сейчас ищу разные сборки и читаю про плаги которые вы то включаете в обсуждениях ExeCryptor-а, то выключаете. Так что пока поиск по форуму...
Так же мне не понятен принцип нахождения спёртого кода. Он был в теле программы или его дописывали по аналогии с другими C++ программами ? Или заглянуть нужно было только для того, что бы знать что искать ?




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

Создано: 10 июля 2007 12:53
· Личное сообщение · #19

ToBad
патч не для борьбы с антиотладкой - а
для борьбы с CRC-проверками плюс там и свой код можно вставить (где NOP-ы)




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

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

r99 пишет:
патч не для борьбы с антиотладкой - а
для борьбы с CRC-проверками плюс там и свой код можно вставить (где NOP-ы)


Да, я не грамотно выразился... В принципе эту проверку и имел ввиду. Я делал это лоадером заменив:
00670908: 3B45F4 cmp eax, [ebp-0Ch]
на
00670908: 3BC0 cmp eax, eax

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



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

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

ToBad пишет:
Твой вариант работает.


Ну ясно! хорошо что хоть что-то работает...

ToBad пишет:
Меня сбила твоя реплика: получилось в 2 раза больше чем у r99


Ну просто я посмотрел какое OEP получилось у r99, у него оно обрезано, т.е. выполняется половина команд а дальше он идет в тело криптора где криптор выполнить все остальное, а я все OEP восстанавливал, т.к. хотел отрезать секции криптора, но не получилось...

ToBad пишет:
Так же мне не понятен принцип нахождения спёртого кода. Он был в теле программы или его дописывали по аналогии с другими C++ программами ?


Я его дописывал по аналогии с прогой скомпиленной таким же компилятором ( почти все функции по сигнатурам совпали - чисто шара).


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


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