Сейчас на форуме: Rio (+4 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Помогите отодрать Аспр1.2x |
Посл.ответ | Сообщение |
|
Создано: 26 марта 2008 05:51 · Личное сообщение · #1 dump.ru/files/o/o960600308/ -> AnyplaceControlInstall.exe V3.0 1,68Мб Типа Радмина, особо нравится FileTransfer. (Высокая скорость загрузки + ДрагнДроп Файлоа + Докачка) PEiD -> "ASProtect 1.23 RC4 - 1.3.08.24 -> Alexey Solodovnikov" PE Shiffer -> ASProtect v1.2x (New Strain) stripper_v211rc2 -> Снял пакер но приложение не рабочее. OllyDbg + Плагин IsDebugPresent, Снимаю галки Exceptions, Жму F9 потом Shift + F9 26раз Дохожу до последнего исключения, ставлю бряк на RETN, F9, Отрываю карту памяти ставлю бряк на секцию code, Жму Ctrl + F11, чуть жду. Открыва Стек Вызовов Alt + K, на нижний Called from кликаю два раза. Подкимаю листинг немного вверх вижу. 0050A251 97 XCHG EAX,EDI 0050A252 50 PUSH EAX 0050A253 00A497 500>ADD BYTE PTR DS:[EDI+EDX*4+50],AH 0050A25A 0000 ADD BYTE PTR DS:[EAX],AL 0050A25C 209D 50000>AND BYTE PTR SS:[EBP+50],BL 0050A262 0000 ADD BYTE PTR DS:[EAX],AL <= OEP 0050A264 0000 ADD BYTE PTR DS:[EAX],AL 0050A266 0000 ADD BYTE PTR DS:[EAX],AL 0050A268 0000 ADD BYTE PTR DS:[EAX],AL 0050A26A 0000 ADD BYTE PTR DS:[EAX],AL 0050A26C 0000 ADD BYTE PTR DS:[EAX],AL 0050A26E 0000 ADD BYTE PTR DS:[EAX],AL 0050A270 0000 ADD BYTE PTR DS:[EAX],AL 0050A272 0000 ADD BYTE PTR DS:[EAX],AL 0050A274 0000 ADD BYTE PTR DS:[EAX],AL 0050A276 00E8 ADD AL,CH 0050A278 A8 CE TEST AL,0CE 0050A27A EF OUT DX,EAX ; I/O command 0050A27B FF33 PUSH DWORD PTR DS:[EBX] 21 Stolen Byte Смотрю EAX = 00509D48. Открываю журнал трассировки ... , нахожу строки REP STOS BYTE PTR ES:[EDI] кликаю два раза по любой из них, вижу. 00ABDC3F F3:AA REP STOS BYTE PTR ES:[EDI] 00ABDC41 9D POPFD 00ABDC42 5F POP EDI 00ABDC43 59 POP ECX 00ABDC44 C3 RETN 00ABDC45 55 PUSH EBP <= Start Stolen 00ABDC46 8BEC MOV EBP,ESP 00ABDC48 53 PUSH EBX 00ABDC49 56 PUSH ESI 00ABDC4A 8B75 0C MOV ESI,DWORD PTR SS:[EBP+C] 00ABDC4D 8B5D 08 MOV EBX,DWORD PTR SS:[EBP+8] 00ABDC50 EB 11 JMP SHORT 00ABDC63 00ABDC52 0FB703 MOVZX EAX,WORD PTR DS:[EBX] 00ABDC55 03C6 ADD EAX,ESI 00ABDC57 83C3 02 ADD EBX,2 00ABDC5A 8BD0 MOV EDX,EAX 00ABDC5C 8BC6 MOV EAX,ESI <= End Stolen 00ABDC5E E8 0C00000>CALL 00ABDC6F 00ABDC63 66:833B 00 CMP WORD PTR DS:[EBX],0 00ABDC67 ^ 75 E9 JNZ SHORT 00ABDC52 00ABDC69 5E POP ESI 00ABDC6A 5B POP EBX 00ABDC6B 5D POP EBP 00ABDC6C C2 0800 RETN 8 00ABDC6F 0102 ADD DWORD PTR DS:[EDX],EAX 00ABDC71 C3 RETN 25 Byte + 5 Byte MOV EAX,00509D48 Запускаю PETools -> FullDump, ImpRec OEP = 0050A262 - 400000, Жму IAT AutoSearch, Get Import, Show Invalid, Trace Level1, Show Invalid, Plugin aspr 1.23 rc4, Fix Dump. Вопрос. Правельно ли я всё зделал? и как запихать найденых 25+5байт если украдено 21байт? Извращался с байтами по разному но результата так и нет. Нужна помощь. ![]() ![]() |
|
Создано: 26 марта 2008 16:41 · Личное сообщение · #2 |
|
Создано: 26 марта 2008 22:18 · Поправил: daFix · Личное сообщение · #3 |
|
Создано: 27 марта 2008 01:24 · Личное сообщение · #4 |
|
Создано: 27 марта 2008 10:05 · Личное сообщение · #5 |
|
Создано: 27 марта 2008 11:52 · Личное сообщение · #6 PE_Kill пишет: Boss жесть, иди на IRC канал Спасибо за подсказку UR-Shark пишет: http://exelab.ru/art/?action=view&id=222 Неа у меня нет SoftICE, Мне как то кажется что это очень тяжёлый отладчик, походу для него надо отдельную виндовс иметь. Я тут нарыл в инете как до спёртых байт добратся, но тема старая там нет картинок, а автор на картинки операется. ОН пишет С EP Дойти по F7 до PUSHAD, выполнит инструкции PUSHAD, по регистру ESP кликнуть Follow In Dump и поставь бряк на 4байта, и как обычно до OEP. Попадаем туда куда надо там мутирующий код очень забавно. Но опыта у меня нет в таких телах потомучно откуда мне знать что MOV DWORD PTR SS:[ESP+4],EBP ; Спертая команда PUSH Ebp SUB ESP,0C ; Спертая команда ADD ESP,-0C ну это есчё понятно, а кике есчё бывают? Вот здесь в аттаче тутр правда на английском воще просто после трейса до секции code, в трейсе найти EBP=ESP вот там и байтики, но я счё проще зделал в трейси двойной клик по REP STOS BYTE PTR ES:[EDI] я уже их писал, теже самые байты и в мутирующем коде я тоже их видил, но походу тут что-то не то, зачем там цикл? куда CALL привизать? и воще нужен ли этот цикл? а первй байт не RETN должен? (В отладчики видил что сверху EP стоит RETN). ![]() ![]() |
|
Создано: 27 марта 2008 13:12 · Личное сообщение · #7 daFix пишет: 23 байта спёрто Для наглядности добавил NOP'ы 0050A25C 209D 50909090 AND BYTE PTR SS:[EBP+90909050],BL
Не выходит 23 даже ModuleEntryP'а не видать всёже 21Byt спёрт вроде. но всёравно спасибо са наводку ![]() ![]() |
|
Создано: 27 марта 2008 14:00 · Личное сообщение · #8 |
|
Создано: 27 марта 2008 14:56 · Личное сообщение · #9 VaZeR пишет: что тебе мешает ставить все байты 0050A25C _.<EP> 55 PUSH EBP
поставил 23B c adr 50A25C Какой смыс JMP'е прыгает в середину CALL'а, прибавил 4 к JMP прыгает на PUSH прога до первого CALL'a доходит и валится ![]() VaZeR пишет: Там же как раз 23 байта до CALL мож я неправельно считаю 25? ![]() |
|
Создано: 27 марта 2008 15:46 · Личное сообщение · #10 |
|
Создано: 28 марта 2008 06:07 · Личное сообщение · #11 VaZeR ты про этот 0050A277 CALL Dumped_.00407124? Я наверно упустил очень важную детал. Дело втом что я поподаю не на этот CALL а на ниже инструкцию 0050A27C XOR EAX,EAX. А откуда это калл взялся понять немогу, ставил бряки (в ориг. прог.) на него и на адрес этот хардваребряк не сробатывает. Попробую всётаки разобратся, какойто он скрытый но откудато он же берётся ![]() ![]() |
|
Создано: 28 марта 2008 09:47 · Личное сообщение · #12 Вот поковырялся, результат ноль ![]() После 17 исключеня дошёл до 7C90EB03 E8 11EBFFFF CALL ntdll.ZwContinue
<= После выполнения этой команды, сразу вываливаются все инструкции.
если поставить бряк на 0050A277 CALL то Protection Error : 15
Я так понял что этот калл вопщем не используется. Мож у daFix получится? подожду. ![]() |
|
Создано: 28 марта 2008 11:31 · Личное сообщение · #13 |
|
Создано: 28 марта 2008 11:40 · Личное сообщение · #14 |
|
Создано: 31 марта 2008 18:19 · Личное сообщение · #15 Ну ну, что мне за тебя мусоре копаться... Вот тебе тогда ещё один тутор, в этом всё хорошо расписано и ещё всё для оли ![]() --> Йа тутор <-- 00ABE3E5 55 PUSH EBP 00ABE3ED 8BEC MOV EBP,ESP 00ABE3EF 81EC 18000000 SUB ESP,18 (Можно и в 3х байтах записать) и пошло поехало... Настоящее ОЕР ты правильно нашел: 0010A260, ровно 23 байта до кола. Вот тебе накрайняк, на случай если придется тяжко: скрыпты + импорт... ![]() |
|
Создано: 31 марта 2008 18:23 · Поправил: UR-Shark · Личное сообщение · #16 Блин не аттачится... Кстати иногда дампить нужно раньше фальшивого ОЕР, ну ты почитай... ![]() ![]() |
|
Создано: 01 апреля 2008 08:14 · Личное сообщение · #17 |
|
Создано: 01 апреля 2008 10:21 · Личное сообщение · #18 |
|
Создано: 01 апреля 2008 14:16 · Поправил: Boss · Личное сообщение · #19 UR-Shark пишет: Вот тебе тогда ещё один тутор ага спасибо, девушка кракер написала. Там на восьмой страничке табличка с кодом, ну да есть такой код в проге, полностью совподает до байтика. (а, что с табличей делать? зачем она нужна?). а, дальше както всё мутно. скрипт asprsto.txt прогу запускает, два других работают. вот нарыл даже не знаю то-ли? 00ABE48D 55 PUSH EBP
![]() ![]() |
|
Создано: 01 апреля 2008 18:12 · Личное сообщение · #20 Boss Взял бы сам сначала разобрался, статей валом... P.S. ИМХО твое OEP будет: 0050A260 > 55 PUSH EBP 0050A261 8BEC MOV EBP,ESP 0050A263 83C4 E8 ADD ESP,-18 0050A266 53 PUSH EBX 0050A267 33C0 XOR EAX,EAX 0050A269 8945 F0 MOV DWORD PTR SS:[EBP-10],EAX 0050A26C 8945 E8 MOV DWORD PTR SS:[EBP-18],EAX 0050A26F 8945 EC MOV DWORD PTR SS:[EBP-14],EAX 0050A272 B8 489D5000 MOV EAX,unpacked.00509D48 0050A277 E8 A8CEEFFF CALL unpacked.00407124 0050A27C 33C0 XOR EAX,EAX 0050A27E 55 PUSH EBP 0050A27F 68 33A35000 PUSH unpacked.0050A333 ![]() |
|
Создано: 02 апреля 2008 08:17 · Личное сообщение · #21 |
|
Создано: 04 апреля 2008 21:10 · Поправил: Maximus · Личное сообщение · #22 |
|
Создано: 05 апреля 2008 11:11 · Личное сообщение · #23 |
|
Создано: 05 апреля 2008 11:14 · Личное сообщение · #24 Что то я туплю ![]() 0050A277 . E8 A8CEEFFF CALL apc_Admi.00407124 0050A27C . 33C0 XOR EAX,EAX <==Сюда ,минуя первый call. А в распакованном в этом call'е идет обращение к несуществующей странице памяти... Вот мой распакованный: --> dump <-- http://rapidshare.com/files/104994539/dump.rar.html ![]() |
|
Создано: 05 апреля 2008 11:41 · Личное сообщение · #25 |
|
Создано: 05 апреля 2008 12:07 · Поправил: UR-Shark · Личное сообщение · #26 |
![]() |
eXeL@B —› Вопросы новичков —› Помогите отодрать Аспр1.2x |