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

 eXeL@B —› Вопросы новичков —› Проблема при ручной распаковке tElock 0.90
Посл.ответ Сообщение

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

Создано: 25 июля 2007 12:50 · Поправил: alchemister
· Личное сообщение · #1

Приветствую всех посетителей форума!
Не знаю, насколько мой вопрос соответствует разделу "Вопросы новичков", но всё же...
Вот решил распаковать одну прогу, запакованную tElock 0.90, и возникли проблемы.
Автоматические распаковщики есть для более низких и более высоких версий, а эту никто не
берёт И статей про распаковку этой версии я не нашёл, даже самого упаковщика нигде нет.
Где-то в нэте висит информация, что tElock подобной версии собирался чуть ли не на заказ и
не вывешивался в сети.

В общем, вот что я делал (использовал Olly Debugger):

Загрузил прогу, на EP=436000 стоит PUSHAD - стандартно.
Ставлю бряк на чтение из [esp-04], запускаю прогу.
Дальше идут вещи типа int 3, div 0, access violation, я всё пропускаю и в конце концов
вылетаю по бряку. Вижу такой код:

00437137 CD 20 INT 20
00437139 61 POPAD
0043713A -FF6424 D0 JMP DWORD PTR SS:[ESP-30] ; videocap.0040BCA5

Естественно, 40BCA5 - OEP, тем более там стоит стандартный для MS Visual C++ 7.0 код (а все
вспомогательные проги и dll'ки созданы именно этим компилятором):

0040BCA5 6A DB 6A ; CHAR 'j'
0040BCA6 70 DB 70 ; CHAR 'p'
0040BCA7 68 DB 68 ; CHAR 'h'
...
(да уж, Olly не слишком правильно декомпилировал ;)

Делаю дамп.

Далее восстанавливаю импорт: ImpRec => IAT auto search => Get Imports

Находит 2 неверные ветки, делаю Auto trace, Show Invalid и удаляю оставшуюся ошибку.
После чего жму Fix dump, фиксирую... и полученный файл вообще не запускается.
PEiD про него говорит Micorsoft Visual C++ 7.0 Method2, WinDASM вообще не показал ни
строчки кода, IDA загрузила, нашла OEP, однако при попытке дебага процесс (в смысле
программа) выгрузился с exit code 0.

Может кто-нибудь знает, я что-то делал неправильно или, может, что-то недоделал?
Буду благодарен за помощь (сама прога мне не нужна, просто тренируюсь в ручной распаковке).
Исходные файлы программы(640 Кб): hidden123.narod.ru/videocap/VideoCAP.7z
Дамп(60 Кб): hidden123.narod.ru/videocap/dumped.7z
Дамп с восстановленным импортом(60 Кб): hidden123.narod.ru/videocap/recovered.7z



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

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

alchemister

Скачал твой фаил, распакован верно, просто там какая-то проверка стоит, если интересно то копай от kernel32.ExitProcess

0040547A |. 8985 B0FEFFFF MOV DWORD PTR SS:[EBP-150],EAX
00405480 |. 81BD B0FEFFFF >CMP DWORD PTR SS:[EBP-150],1B800
0040548A |. 7E 05 JLE SHORT videocap.00405491 ->тут исправь на JMP и прога будет работать
0040548C |. 6A 00 PUSH 0
0040548E |. FF55 E8 CALL DWORD PTR SS:[EBP-18] ; kernel32.ExitProcess
00405491 |> 8B4D EC MOV ECX,DWORD PTR SS:[EBP-14]



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

Создано: 26 июля 2007 20:08 · Поправил: El_Diablo
· Личное сообщение · #3

0040BCA5 6A DB 6A ; CHAR 'j'
0040BCA6 70 DB 70 ; CHAR 'p'
0040BCA7 68 DB 68 ; CHAR 'h'
...
(да уж, Olly не слишком правильно декомпилировал ;)

Правая кнопка мыши Analysis-> Remove analysis from module
и все



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

Создано: 26 июля 2007 22:59 · Поправил: alchemister
· Личное сообщение · #4

Amok, большое спасибо! Странно, как я умудрился лохануться на такой проверке... Наверно потому что WinDASM 8.93 не смог дизассемблировать, я и решил, что что-то не так с распаковкой.
El_Diablo спасибо, буду иметь в виду.
И напоследок хочу спросить (наверно вопросы дико тупые, но я распаковкой занимаюсь не так давно, а как дизассемблер и дебаггер предпочитал WinDASM):
1. Почему в ВинДАСМ'е не видно импортируемых функций (ни в 8.93, ни в 10) (в смысле после распаковки - с чем это вообще может быть связано?)
2. Как в Olly увидеть импорт или поставить бряк на API?



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

Создано: 26 июля 2007 23:11
· Личное сообщение · #5

1. Почему в ВинДАСМ'е не видно импортируемых функций (ни в 8.93, ни в 10) (в смысле после распаковки - с чем это вообще может быть связано?)
У меня видит.Там в самом начале листинга в Imported Functions
2. Как в Olly увидеть импорт или поставить бряк на API?
Search for -> binary string ff 25
Или ставь бряк на GetProcAddress



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

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

Спасибо, понятно.
Ещё раз всем большое спасибо, закрываю тему.




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 15 февраля 2009 09:27
· Личное сообщение · #7

Файл в аттаче
PEiD и QuickUnpack показывают, что tElock 0.90
По мануалу из RCE Unpacking eBook...
Press F8 2 times, to look at the screen FPU, ESP xxxx, right click -> Follow in dump.
Hight light first 4 bytes -> Breakpoint -> Hardware on access -> Dword:
Now press the Shift + F9 8 times (in the child is 8 times), you stand in this place:
Вот на этом месте я нифига не стою... при чем в ecx счётчик на чуть больше 1000h при каждом нажатии на Shift + F9... Когда кончается, начинается ещё один (где-то на 200h) потом прога запускается
Все скрипты для поиска OEP и распаковки для tElock 0.90 обламываются
Это вообще он? И как его загнуть?

6be5_15.02.2009_CRACKLAB.rU.tgz - sb_serialme.exe

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

Создано: 15 февраля 2009 11:41
· Личное сообщение · #8

Isaev
Не читай всякую фигню там даже импорт не нужно восстанавливать

d26d_15.02.2009_CRACKLAB.rU.tgz - sb_serialmeU.rar




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 15 февраля 2009 13:03
· Личное сообщение · #9

pavka спасибо конечно, но не результат интересен, а процесс
расскажи лучше в кратце

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 15 февраля 2009 17:19
· Личное сообщение · #10

Isaev В 36 главе "Введение в крэкинг с OllyDbg", Нарваха, telock 0.98 распаковывает
wasm.ru/article.php?article=ollydbg36

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes





Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 15 февраля 2009 17:52
· Личное сообщение · #11

Isaev
Начало кода
/*415000*/ CLD
/*415001*/ PUSHAD
/*415002*/ CALL sb_seria.00415009=======>ESP=>Folloving Damp=>BPHA

Жмёшь F9 и останавливаешься здесь
/*41613A*/ JMP [DWORD SS:ESP-30]=====JMP OEP(нажимаешь F7)

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.




Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

Создано: 15 февраля 2009 17:54
· Личное сообщение · #12

Isaev пишет:
расскажи лучше в кратце

Типа пусть мы не знаем что это за пакер
Откроем в ольке карту памяти
00400000 00001000 sb_seria PE header Imag R RWE
00401000 00004000 sb_seria CODE code Imag R RWE
00405000 00001000 sb_seria DATA data Imag R RWE
00406000 00001000 sb_seria BSS Imag R RWE
00407000 00001000 sb_seria .idata Imag R RWE
00408000 00001000 sb_seria .tls Imag R RWE
00409000 00002000 sb_seria .rdata Imag R RWE
0040B000 0000A000 sb_seria .rsrc resources Imag R RWE
00415000 00002000 sb_seria SFX,imports Imag R RWE
Видим стандартное делфи с лишней секцией
ставим бряк на запись секции DATA запускаем , брякнулись ставим бряк на доступ секции CODE, запускаем
и брякаемся на оеп
Можно открыть в дампе idata и поставить бряк на запись, как только оригинальня табличка бкдет заполнена просто сдампить и поменять значения оеп и иат , вот и все.




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 15 февраля 2009 18:29
· Личное сообщение · #13

pavka спасибо, твой метод очень быстрый

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes





Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 15 февраля 2009 20:04 · Поправил: Isaev
· Личное сообщение · #14

ClockMan пишет:
Жмёшь F9 и останавливаешься здесь
/*41613A*/ JMP [DWORD SS:ESP-30]

а почему я останавливаюсь здесь:
/*415030*/ XOR BYTE PTR DS:[ESI],AL ? (снизу пишет Hardware breackpoint 2 at sb_seria.00415030 - EIP points to next instruction)
В общем то по этому по туторам и не выходит (coderess у Нарвахи тот же принцип... да и в RCE Unpacking eBook тоже)... Что-то где-то в настройках
PS: всё понял... Это скрипты наставили ещё 3 BPHA левых... Теперь работает!

pavka ты гений! 4 клика Возьми меня в ученики

Вопрос: Есть способ точного и безошибочного определения RVA и её размера?
А то в большинстве статей этот момент как-то не уверенно описан

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 17 февраля 2009 22:44
· Личное сообщение · #15

pavka пишет:
там даже импорт не нужно восстанавливать

в унпакнутом файле твоём картинка пропала... (там вроде какая-то функция всё-таки импортировалась, может поэтому?)
Дамп рабочий так и не получился... Чем его лучше снимать?

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 18 февраля 2009 00:40
· Личное сообщение · #16

IsaevВото пробуй

4673_17.02.2009_CRACKLAB.rU.tgz - test.7z

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.




Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

Создано: 18 февраля 2009 05:35
· Личное сообщение · #17

Isaev пишет:
в унпакнутом файле твоём картинка пропала... (там вроде какая-то функция всё-таки импортировалась, может поэтому?)
Дамп рабочий так и не получился... Чем его лучше снимать?

Дамп рабочий ) Какая функция? там иат оригинальная. Лениниво было ресурсы персесобирать так как мне это не к чему ,думал сам сообразишь
Выдерни ресурсы утилей др Головы.Отреж из дампа две последних секции перебей тлс и приатач ресурсы

d798_17.02.2009_CRACKLAB.rU.tgz - sb_serialmeU.rar


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


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