![]() |
eXeL@B —› Вопросы новичков —› Помогите новичку распаковать программу :s14: |
Посл.ответ | Сообщение |
|
Создано: 17 августа 2006 01:09 · Личное сообщение · #1 Отучил от регистрации несколько простых, незапакованых прог и решил попробовать запакованую. Выбор пал на offline explorer enterprise 4.3.2442. Запустил peid- он говорит aspack 2.12b (overlay), pesniffer говорит Asprotect x.xx. Ну я подумал, дело плохо. Запустил для интереса quickunpack, он говорит asprotect. Запучкаю stripper, он вроде начинает что-то делать, запускает прогу, потом пишет "error in finding last SEH". Короче автоматическая распаковка не получилась. Решил попробовать вручную. Почитал несколько статей по распаковке aspacka. Короче нашел в проге место 00A8D3B0 61 POPAD 00A8D3B1 75 08 JNZ SHORT OE.00A8D3BB 00A8D3B3 B8 01000000 MOV EAX,1 00A8D3B8 C2 0C00 RETN 0C 00A8D3BB 68 00000000 PUSH 0 00A8D3C0 C3 RETN Я так понял по последнему ret'у мы попадаем на пресловутый OEP, зашел туды, через plugin ollydump задампил. Запускаю ImpRec, вписываю OEP, жму ITAAutoSearch, пишет че-то нашла, жму get imports, появляется одна функция на конце valid:no. Делаю fixdump, пишет IAT is still invalid... Дамп не запускается. Где я накосячил? Еще 2 ламерских вопроса в догонку: 1)При просмотре проги в Olly натыкаюсь на такие места: 00878A04 . 55 PUSH EBP 00878A05 ? 8BEC MOV EBP,ESP 00878A07 ? B9 0C000000 MOV ECX,0C 00878A0C . 6A 00 PUSH 0 00878A0E . 6A 00 PUSH 0 00878A10 . 49 DEC ECX 00878A11 ?^75 F9 JNZ SHORT OE.00878A0C 00878A13 ? 53 PUSH EBX 00878A14 . 56 PUSH ESI 00878A15 ? 57 PUSH EDI Причём при перемещении по строчкам команды постоянно меняются... а если зайти на любой call в этих местах то попадаешь на такое дело: 0040571D C2 DB C2 0040571E 58 DB 58 ; CHAR 'X' 0040571F 52 DB 52 ; CHAR 'R' 00405720 8B DB 8B 00405721 48 DB 48 ; CHAR 'H' 00405722 FC DB FC 00405723 E8 DB E8 00405724 B4 DB B4 Что это все значит? 2) Уж извините если чушь спрашиваю, но тем не менее, можно ли сделать такой патч для запакованой проги который "прикручивается" к ней и в момент запуска программы (когда программа уже распаковалась в памяти но еще не запустилась) меняет нужные байты в памяти тем самым избавляя ее от регистрации и т.д? ![]() |
|
Создано: 17 августа 2006 01:17 · Личное сообщение · #2 |
|
Создано: 17 августа 2006 08:50 · Поправил: cadet · Личное сообщение · #3 |
|
Создано: 17 августа 2006 09:16 · Личное сообщение · #4 |
|
Создано: 17 августа 2006 12:06 · Личное сообщение · #5 |
|
Создано: 17 августа 2006 17:03 · Личное сообщение · #6 |
|
Создано: 17 августа 2006 21:33 · Поправил: cadet · Личное сообщение · #7 |
|
Создано: 18 августа 2006 09:12 · Личное сообщение · #8 |
|
Создано: 18 августа 2006 10:56 · Личное сообщение · #9 |
|
Создано: 19 августа 2006 01:30 · Личное сообщение · #10 sliderZ - не геморойся распросами, лучше почитай по этой тематике отличную статью (на краклабе она есть - "Об упаковщиках в последний раз. Часть вторая"), в ней есть подраздел "9. Практический пример: Aspack" - где подробно описанно что, как и главное почему именно так делается, тебе только останется отрезать секции аспака (там неописанно=>можешь спросить), а таким шаманством заниматься - жуть одним словом. В аттаче скрипт для Олли, иногда помогает ;) ![]() ----- Само плывет в pуки только то, что не тонет. ![]() |
|
Создано: 19 августа 2006 18:18 · Личное сообщение · #11 |
|
Создано: 19 августа 2006 18:54 · Поправил: Hellspawn · Личное сообщение · #12 |
|
Создано: 20 августа 2006 00:37 · Личное сообщение · #13 |
![]() |
eXeL@B —› Вопросы новичков —› Помогите новичку распаковать программу :s14: |