![]() |
eXeL@B —› Вопросы новичков —› Помогите с Asprotect |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 22 октября 2009 18:53 · Поправил: VladOnline · Личное сообщение · #1 Здравствуйте господа хакеры! Раньше никогда не занимался распаковкой программ. Но вот время настало. Программа очень нужная. Но выкладывать не буду, хочется разобраться самому. Запакована Asprotect. PiD показывает [!] ASProtect v1.40 Build 11.20 detected !, а PEiD показал ASProtect 1.2x - 1.3x [Registered] -> Alexey... Пользую Олли. Перечитал кучу статей, но что то пока результат не очень. Пробовал распаковщики, ни один не справился. Пробовал скрипты под олли, те вобще зависают на ret. Подскажите как найти OEP, каковы его признаки?? Ставил бряк на esp-4, но после второго срабатывания программа завершается некоректно. Помогите добрым советом, спасибо! ![]() |
|
Создано: 22 октября 2009 19:25 · Поправил: Bonez92 · Личное сообщение · #2 |
|
Создано: 22 октября 2009 19:27 · Личное сообщение · #3 |
|
Создано: 22 октября 2009 19:34 · Поправил: Bonez92 · Личное сообщение · #4 Ну тогда для начала скачайте плагин для PEiD VerA. Этот плагин уже более менее не ошибается при выдачи точной версии ASProtect. Ну далее пробуйте найти туториал для соответствующей версии ASProtect. ![]() |
|
Создано: 22 октября 2009 21:35 · Личное сообщение · #5 |
|
Создано: 22 октября 2009 21:38 · Личное сообщение · #6 |
|
Создано: 23 октября 2009 10:15 · Личное сообщение · #7 |
|
Создано: 23 октября 2009 20:09 · Личное сообщение · #8 |
|
Создано: 25 октября 2009 14:47 · Личное сообщение · #9 вобщем на данный момент расклад такой. Олли с плагами Phantom, Command Bar, ODbgScript, OllyDbg PE Dumper. Пользую вот такой скрипт, поскольку ручками дойти пока москов не хватает. Script written by VolX Script : Aspr2.XX_unpacker version : v1.14E (написано что аспр 1.4 поддерживает =)) Я так понял дальше надо дамп снять и загнать процесс в ImpRec чтоб таблицу импортов востановить. Дамп снял плагином. В ImpRec забиваю адреса которые выдал скрипт. ImpRec все импорты успешно распознал. А вот дальше каша в голове... Куда писать таблицу? На старое место или новой секцией?? Если новой сейкцией то я так понимаю мне потом пол проги переделывать? Помогите пожалуйста. ![]() |
|
Создано: 25 октября 2009 15:08 · Личное сообщение · #10 VladOnline пишет: Куда писать таблицу? На старое место или новой секцией?? Да куда хочешь, главное чтоб это было чистое место (т.е. там должны быть нули), а то ImpRec не любит переписывать импорт поверх, часто косяки вылезают. VladOnline пишет: Если новой сейкцией то я так понимаю мне потом пол проги переделывать? С какого перепугу? ImpRec как раз и сделан для переделывания проги под новый импорт. ![]() |
|
Создано: 25 октября 2009 19:54 · Личное сообщение · #11 Пасибо, понял) Тогда такой вопрос. Вот я загрузил прогу в олли (само собой с фантомом, наставил галок на всех исключениях), запустил скрипт и он через некоторое время остановился на адресе отличном от OEP, это правильно??? А еще выдал вот такое "There are stolen code, check IAT data in log window", это нормально??? Вот содержимое она логов: File '(текст скрыт)' >> Status: Driver already loaded >> Status: hide ollydbg pid [5728] New process with ID 00000FB8 created 00401000 Main thread with ID 00001054 created >> Status: PEB patched [on system] 00170000 Module (текст скрыт) 00400000 Module (текст скрыт) 72F00000 Module C:\Windows\system32\winspool.drv 744C0000 Module C:\Windows\system32\OLEACC.dll 74500000 Module C:\Windows\system32\winmm.dll 74C60000 Module C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1 df_6.0.6002.18005_none_5cb72f96088b0de0\comctl32.dll 755A0000 Module C:\Windows\system32\version.dll 75F10000 Module C:\Windows\system32\GDI32.dll 76480000 Module C:\Windows\system32\shell32.dll 76F90000 Module C:\Windows\system32\user32.dll 77170000 Module C:\Windows\system32\msvcrt.dll 77220000 Module C:\Windows\system32\RPCRT4.dll 77300000 Module C:\Windows\system32\oleaut32.dll 77390000 Module C:\Windows\system32\ole32.dll 774E0000 Module C:\Windows\system32\SHLWAPI.dll 77540000 Module C:\Windows\system32\kernel32.dll 77620000 Module C:\Windows\system32\comdlg32.dll 776A0000 Module C:\Windows\system32\ADVAPI32.dll 77860000 Module C:\Windows\system32\ntdll.dll 6D040000 Module C:\Windows\system32\ShimEng.dll 75D40000 Module C:\Windows\system32\apphelp.dll 77AA0000 Module C:\Windows\system32\IMM32.DLL 779D0000 Module C:\Windows\system32\MSCTF.dll 76470000 Module C:\Windows\system32\LPK.DLL 76140000 Module C:\Windows\system32\USP10.dll 745A0000 Module C:\Windows\system32\wsock32.dll 779A0000 Module C:\Windows\system32\WS2_32.dll 77990000 Module C:\Windows\system32\NSI.dll 6D040000 Unload C:\Windows\system32\ShimEng.dll 75D40000 Unload C:\Windows\system32\apphelp.dll 00401000 Program entry point 77541840 Breakpoint at kernel32.GetSystemTime 0204DAFA Breakpoint at 0204DAFA 0205945A Breakpoint at 0205945A 0203011A Breakpoint at 0203011A 0204D7AE Breakpoint at 0204D7AE 02057CB2 Hardware breakpoint 1 at 02057CB2 0204D8CF Breakpoint at 0204D8CF 0204D902 Breakpoint at 0204D902 0204D957 Breakpoint at 0204D957 Delphi initialization table address 004C8CBC 020469B8 Breakpoint at 020469B8 020469B8 Breakpoint at 020469B8 020469B8 Breakpoint at 020469B8 02410163 Breakpoint at 02410163 0203002E Breakpoint at 0203002E 02030077 Breakpoint at 02030077 020300C5 Breakpoint at 020300C5 02030250 Breakpoint at 02030250 02030034 Breakpoint at 02030034 VMlength: 0000071C VMcodeloc: 02430000 02432CDE Breakpoint at 02432CDE 0204EAA2 Breakpoint at 0204EAA2 02030024 Breakpoint at 02030024 0203C8AC Breakpoint at 0203C8AC 020466FF Breakpoint at 020466FF 0204CE8C Hardware breakpoint 1 at 0204CE8C 0230026C Breakpoint at 0230026C 020307D9 Breakpoint at 020307D9 0203003E Breakpoint at 0203003E 020300F2 Breakpoint at 020300F2 02030030 Breakpoint at 02030030 Std function at 00408C98 Std function at 00409714 Std function at 0040972C Std function at 00409740 Std function at 0040977C Std function at 00409848 Std function at 004098FC Std function at 00409950 Address of IAT = 004CF1B8 RVA of IAT = 000CF1B8 Size of IAT = 00000824 02030079 Breakpoint at 02030079 Address of OEP = 004C909C RVA of OEP = 000C909C ![]() |
|
Создано: 25 октября 2009 20:05 · Личное сообщение · #12 |
|
Создано: 25 октября 2009 20:55 · Личное сообщение · #13 |
|
Создано: 25 октября 2009 21:57 · Личное сообщение · #14 |
|
Создано: 25 октября 2009 21:58 · Личное сообщение · #15 |
|
Создано: 26 октября 2009 10:10 · Личное сообщение · #16 |
|
Создано: 26 октября 2009 17:38 · Личное сообщение · #17 |
|
Создано: 26 октября 2009 18:07 · Поправил: Модератор · Личное сообщение · #18 |
|
Создано: 28 октября 2009 10:00 · Личное сообщение · #19 Посмотрите вроде все необходимое для работы проги выложил. Там еще словари есть, но для запуска они не понадобятся. ДЛЛка миралиб тоже запакована аспром, до нее пока руки не дошли. А там аспр еще круче (ASProtect SKE 2.1x (dll) -> Alexey Solodovnikov). ifolder.ru/14708377 полученый распакованый дамп у меня все время вылетает на exceptions. Как его лечить?? ![]() |
|
Создано: 28 октября 2009 11:10 · Личное сообщение · #20 Тебе не нужно самому дампить, после отработки скрипта в папке должен появиться новый файл de_espancd.exe у которого есть дополнительная секция aspr. Удаляй у этого файла секцию .adata и восстанавливай импорт. чтоб диск не просила 004B6F95 JG <->JMP на всякий случай секция aspr rapidshare.com/files/298970424/aspr.rar ps Лучше использовать скрипт версии 1.15 ![]() |
|
Создано: 28 октября 2009 12:22 · Личное сообщение · #21 |
|
Создано: 28 октября 2009 15:40 · Личное сообщение · #22 |
|
Создано: 28 октября 2009 16:12 · Поправил: VladOnline · Личное сообщение · #23 Не у меня нормуль запахала, ну только одна ошибочка выскакивает об мемори аксэс виолэйшн, ну да и фиг с ней, зато работает. Первый наг скрин типа "Неправильный серийный номер, переустановите прогу и т.д." обошел. Вот теперь активацию просит, а там импорт из ДЛЛки миралиб. Ставил бряки на АПИ получение строки текста, не сробатывают. Походу аспр хорошо апи обламывает. Зато через поиск по памяти все решилось быстро. Вот только ДЛЛку запакованую ковырять вобще не удобно( Подскажите как ДЛЛку распаковать?? ![]() |
|
Создано: 28 октября 2009 18:49 · Личное сообщение · #24 |
|
Создано: 28 октября 2009 22:42 · Личное сообщение · #25 |
|
Создано: 28 октября 2009 23:23 · Личное сообщение · #26 |
|
Создано: 29 октября 2009 10:46 · Личное сообщение · #27 |
|
Создано: 29 октября 2009 11:29 · Поправил: VladOnline · Личное сообщение · #28 Всё с ДЛЛкой разобрался, через loaddll всё прекрасно распаковалось и импорт востановился. Теперь такой вопрос: там есть textbox в который надо код активации вбить и кнопочка активация загарается только при правильном коде. соответственно прога проверяет код при каждом изменении текста в поле. Ставил бряки на GetWindowTextA GetDlgItemTextA GetWindowTextW эти не сробатывают. На memcpy срабатывает, но там че сложновато врубиться. Через поиск в памяти строка каждый раз в новом месте. Вроде какая то еще АПИ есть при нажатии клавиши. Подскажите что в таком случае делать?? ![]() |
|
Создано: 29 октября 2009 19:37 · Личное сообщение · #29 |
|
Создано: 30 октября 2009 20:22 · Личное сообщение · #30 |
. 1 . 2 . >> |
![]() |
eXeL@B —› Вопросы новичков —› Помогите с Asprotect |