![]() |
eXeL@B —› Основной форум —› IAT in PELock 1.068 with Heuristic Mode |
Посл.ответ | Сообщение |
|
Создано: 25 сентября 2006 06:14 · Личное сообщение · #1 Распаковываю программу, запротекченую этим протом. Собственно распаковка по началу не отличается от PELock 1.x , только когда надо восстановить IAT сталкиваешся с проблеммой: там все импорты функций через редиректинг api протектора идет, все api ссылаются куда-то в 520000 а там код который вызывает уже нормальную api. Не уверен, но кажется импорт восстанавливается по хэшам, т.е. вместо имени процедуры ее хэш. процедура хэша: 00340334 56 push esi ; user32.77D34B94 00340335 51 push ecx 00340336 8BF0 mov esi,eax 00340338 83C9 FF or ecx,FFFFFFFF 0034033B 8A06 mov al,byte ptr ds:[esi] 0034033D 46 inc esi ; user32.77D34B94 0034033E 84C0 test al,al 00340340 74 14 je short 00340356 00340342 32C8 xor cl,al 00340344 B0 08 mov al,8 00340346 D1E9 shr ecx,1 00340348 73 06 jnb short 00340350 0034034A 81F1 2083B8ED xor ecx,EDB88320 00340350 FEC8 dec al 00340352 ^ 75 F2 jnz short 00340346 00340354 ^ EB E5 jmp short 0034033B 00340356 8BC1 mov eax,ecx 00340358 59 pop ecx ; 00340062 00340359 5E pop esi ; 00340062 0034035A C3 retn и до кучи собственная процедура GetProcAddress... Как это побороть и восстановить нормальую IAT? ![]() |
|
Создано: 25 сентября 2006 06:19 · Личное сообщение · #2 |
|
Создано: 25 сентября 2006 06:26 · Личное сообщение · #3 |
|
Создано: 25 сентября 2006 06:39 · Личное сообщение · #4 |
|
Создано: 25 сентября 2006 06:58 · Личное сообщение · #5 |
|
Создано: 25 сентября 2006 07:22 · Личное сообщение · #6 |
|
Создано: 25 сентября 2006 07:31 · Личное сообщение · #7 |
|
Создано: 25 сентября 2006 07:57 · Поправил: sER · Личное сообщение · #8 |
|
Создано: 25 сентября 2006 11:27 · Личное сообщение · #9 |
|
Создано: 25 сентября 2006 19:44 · Личное сообщение · #10 |
|
Создано: 25 сентября 2006 22:46 · Личное сообщение · #11 |
|
Создано: 25 сентября 2006 23:04 · Личное сообщение · #12 |
|
Создано: 25 сентября 2006 23:46 · Личное сообщение · #13 кинул, чтобы каждому не отписывать вот что я делаю, прошу указать ошибки: 1)в debugging options убираю все галки 2)жму f9 (попадаю в эксепшен) 3)22 раза жму shift+f9 (там будет большая пауза),а за ней эксепшн (последний ексепшн перед стартом проги) 4)смотрю куда хендлер сеха указывает и ставлю туда бряк, жму shift+f9 (адрес на 3ххххх) 5)оказываюсь на бряке 6)дальше по F7 трассирую пока не стану на RETN (выход в кернел) /чтобы найти stolen code в предвдущих версиях прота: |7)открыть закладку memory и бряк на 3ххххх(тот диапазон что seh) память break on access |8)обратно в код и shift+f9 , убираю break on access с этой памяти, после пункта 9 stolen code будет в trace \ log) в куче мусора. 9)break on access на 401000 10)ctrl+f11, брякаемся в коде проги (там будет переход в область памяти протектора) 11)поднимаемся чуть вверх там oep дельфийской проги 004D8A2C 55 DB 55 ; CHAR 'U' 004D8A2D > /8BEC mov ebp,esp 004D8A2F . |83C4 F0 add esp,-10 004D8A32 . |B8 8C874D00 mov eax,tool.004D878C 004D8A37 . |E8 DCE2F2FF call tool.00406D18 004D8A3C . A1 7CC44D00 mov eax,dword ptr ds:[4DC47C] 004D8A41 . 8B00 mov eax,dword ptr ds:[eax] на 004D8A2C и New origin here из структуры дельфовских прог IAT должен быть тут: E3000 – Е6000, но у меня там мусор... если убрирать break on access с 401000 и F9 – программа запустится... ![]() |
|
Создано: 26 сентября 2006 02:36 · Личное сообщение · #14 sER, а для чего собственна программа? Там ни хелпа, ни описания нет... Единственное что понял - что то связано с электроникой... sER пишет: 004D8A2C 55 DB 55 ; CHAR 'U' У меня OPE немного другое получилось... странно... Вообше адреса немного отличаются.... 004D79D8 55 PUSH EBP 004D79D9 > 8BEC MOV EBP, ESP 004D79DB . 83C4 F0 ADD ESP, -10 004D79DE . B8 30774D00 MOV EAX, unpacked.004D7730 004D79E3 . E8 28F8F2FF CALL unpacked.00407210 004D79E8 . A1 8CB84D00 MOV EAX, DWORD PTR DS:[4DB88C] 004D79ED . 8B00 MOV EAX, DWORD PTR DS:[EAX] 004D79EF . E8 A405F9FF CALL unpacked.00467F98 004D79F4 . A1 8CB84D00 MOV EAX, DWORD PTR DS:[4DB88C] 004D79F9 . 8B00 MOV EAX, DWORD PTR DS:[EAX] 004D79FB . BA 387A4D00 MOV EDX, unpacked.004D7A38 Затем ниже гиганская куча нулей.... ----- -=истина где-то рядом=- ![]() |
|
Создано: 26 сентября 2006 02:47 · Личное сообщение · #15 KingSise пишет: sER, а для чего собственна программа? Там ни хелпа, ни описания нет... Единственное что понял - что то связано с электроникой... Это автософт KingSise пишет: Затем ниже гиганская куча нулей.... всё правильно, как правило стартовую ф-ию Дельфя пихает в конец ----- Подписи - ЗЛО! Нужно убирать! ![]() |
|
Создано: 26 сентября 2006 13:20 · Личное сообщение · #16 |
|
Создано: 26 сентября 2006 15:33 · Личное сообщение · #17 |
|
Создано: 26 сентября 2006 16:27 · Личное сообщение · #18 |
![]() |
eXeL@B —› Основной форум —› IAT in PELock 1.068 with Heuristic Mode |
Эта тема закрыта. Ответы больше не принимаются. |