![]() |
eXeL@B —› Софт, инструменты —› Распаковка AsProtect на примерах |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 12 . 13 . >> |
Посл.ответ | Сообщение |
|
Создано: 17 января 2007 12:10 · Поправил: Модератор · Личное сообщение · #1 Здравствуйте! Очень прошу, помогите найти или выдайте пжалста из запасов прогу Advanced Archive Password Recovery v.3.00 кто может, очень хочется научиться распаковке, а проги нормальной нет. Далее повтор моего вчерашнего письма(лежит в чужой теме, найти можно в поиске введите: Распаковка ASProtecta - моё сообщение самое свежее) ---------------------------------------------------------------------- ------------------------------------------------------------------ Здравствуйте. Понимаю, что лезу немного не туда, но обсуждения статьи "Распаковка нового ASProtect на примере Advanced Archive Password Recovery v.3.00" автора SergSh на форуме и в поисковике вроде бы не видно(может статья просто древняя), а тут вроде бы тоже у ASR-ра 2-я версия. Суть проблемы: 1 Сам по вашим статьям научился распаковывать ASProtect 1.22-1.23 ,1.23 RC4, 1.24(проги типа Electra, Куриная месть.Первая разборка, скринсейвер и т.д. с затиранием репой краденого начала проги и без). 2 Нужно двигаться дальше и тут с удивлением обнаруживаю, что статей по распаковке версий 1.3-2.0 нет вааще(может я в шары долблюсь, незнаю). Плиз, если можно, то ссылку на подобную статью, а то руководство как починить велосипед есть(1.21-1.22), как починить мопед-есть(1.23 RC4), как починить боинг747 и космический челнок-есть(2.0x-2.12xx и выше). А вот как отремонтировать просто машину нет. 3 Из всех имеющихся статей более всего понятно было у SergSh в "Распаковка нового ASProtect на примере Advanced Archive Password Recovery v.3.00", но тут такой казус. Проискав в инете подопытную прогу версии 3.0 нашел две ссылки, скачал, инсталятор обещал версия 3.0 (как в статье),- в итоге версия 3.01, чем забиты все ссылки на эту прогу в инете и PEID говорит не ASProtect 1.2-1.3 registered(2.0x по словам SergSh),а ASProtect 2.1x SKE. Ну ладно: а)34раз Shift+F9 ставим бряк на ближайший переход внизу, ещё раз Shift+F9, снимаем бряк,ставим на Alt+M на секцию кода(401000), но не снова Shift+F9, как в статье, а trace into(а то EOP будет на две команды ниже и затруться два Push-а). Останавливаемся на EOP 42A910. Ctrl+A и всё видится чинно и благородно. б)Читаем статейку дальше и пробуем запустить его скрипт(в папку его,в Script , в Олю, в виде txt предварительно). И оля повисает пробовал подождать 1,5 часа думал это скрипт так долго на более свежей версии ASp-ра трудится(хрен то там:s14. Запущено как положено без бряков и с OEP после trace into и я в plugin->IsDebuggerPresent ->Hide, с полным игнором исключений. в) Руками по его совету IAT пока не пробовал, всё так пока трудно для понимания и непривычно и завтра на работу а уже 2ночи. Граждане, слезно молю дайте ссылку на настоящий Advanced Archive Password Recovery v.3.00, а то шатл починить не могу пока, дайте хоть чертежи к боингу. А если почти серьезно, то научиться распаковывать ASPr до второй версии включительно руками хочется так, что аж эти руки зудят. P.S. Не пинайте сильно за дурацкие просьбы самого маленького. Это первый выход в свет. Начал реверсить 18.12.06 с нуля. Реверсил даже в новогоднюю ночь. Для меня это очень важно(научиться распаковывать)! ![]() |
|
Создано: 22 января 2007 11:21 · Личное сообщение · #2 Small_S пишет: Это часть аспровой защиты или это к делу не относится? Это баги анализатора. Small_S пишет: Чё это в большинстве случаев Оля определяет калл как лишний префикс, а иногда нет? Мб в зависимости от того, в какой зоне кол находится? Либо как мусор, либо как осмысленная команда, чето типа того наверно.. ![]() |
|
Создано: 22 января 2007 16:20 · Личное сообщение · #3 Хм… скачал статью, пипец ((: Неудивительно, что такие вопросы! =))) Короче… после так сказать найденного JMP DWORD PTR DS:[45C7F8] и т. д. И перехода в дампе на адрес 45C7F8 мы увидим Байду типа как в статье на картинке 0045C7F8 14 9B 80 7C 59 B8 80 7C ...|Y..| 0045C800 CC 90 E6 18 5A 25 B2 3E М.ж.Z%.> 0045C808 C7 A0 80 7C 3C 84 88 56 З..|<..V 0045C810 4C 8E 07 09 29 C7 80 7C LЋ..)З.| Делаем следующее Правый кнопкой щелчок по окну дампа, в выбираем меню->Long->Address with ASCII dump И видим следующее 0045C7F8 7C809B14 ...| kernel32.VirtualFree 0045C7FC 7C80B859 Y..| kernel32.VirtualQuery 0045C800 18E690CC М.ж. 0045C804 3EB2255A Z%.> 0045C808 7C80A0C7 З..| kernel32.WideCharToMultiByte 0045C80C 5688843C <..V 0045C810 09078E4C LЋ.. 0045C814 7C80C729 )З.| kernel32.lstrcpyA 0045C818 F6A0EC7A zм.ц 0045C81C 7C809A39 9љ.| kernel32.lstrlenW 0045C820 00000000 .... 0045C824 77D4716C lqФw USER32.AppendMenuA 0045C828 77D3B4B1 ±.Уw USER32.BeginPaint 0045C82C 77D5EED5 ХоХw USER32.CharLowerA 0045C830 77D3AD9B ..Уw USER32.CharToOemA Отсюда заодно видно, где лежит в таблице мусор и одним нулевым DWORD`Ом (0045C820) Заканчивается Библа kernel32 (остальные также), а вся таблица должна заканчиваться двойным нулевым DWORD`Ом Но могут быть приколы типа как у пакера FSG вместо нулевого DWORD`а будет FFFFFFFF или 7FFFFFFF. 00409000 773C407E ~@<w COMCTL32.InitCommonControlsEx 00409004 FFFFFFFF .... 00409008 77F19A82 .љсw GDI32.GetObjectA 0040900C 77F1D10C .Ссw GDI32.CreateFontIndirectA 00409010 7FFFFFFF .... 00409014 7C812C8D Ќ,.| kernel32.GetCommandLineA 00409018 7C810C8F Џ..| kernel32.GetFileSize 0040901C 7C80B357 Wі.| kernel32.GetModuleFileNameA 00409020 7C80B529 )µ.| kernel32.GetModuleHandleA 00409024 7C823EBE ѕ>.| kernel32.GetPrivateProfileIntA Продолжим! Скролишь, верх сразу увидишь, где начало будет, так как исчезнут строки типа 0045C7F8 7C809B14 ...| kernel32.VirtualFree Это начало, потом вниз то же самое ну и плюс увидишь байду типа 0045C984 77D3FE23 #юУw USER32.TranslateAcceleratorA 0045C988 77D38BCE О.Уw USER32.TranslateMessage 0045C98C 77D3C064 dАУw USER32.UpdateWindow 0045C990 1F3853B9 №S8. 0045C994 77D3D757 W.Уw USER32.WindowFromDC 0045C998 00000000 .... 0045C99C FE46C49B .ДFю 0045C9A0 91DD9333 3.Э. 0045C9A4 00000000 .... 0045C9A8 D2A5A4A2 ..ҐТ 0045C9AC E8452791 .'Eи 0045C9B0 9798E471 qд.. 0045C9B4 3ED23400 .4Т> 0045C9B8 65A59886 ..Ґe 0045C9BC A9EFE9C0 Айп© 0045C9C0 FE3100BE ѕ.1ю 0045C9C4 09ECC85B [Им. Это и есть конец утрировано (0045C9A8) =))) Но это все не то(!), есть варианты проще и скрипты отдыхають… ----- ЗЫ: истЕна где-то рядом, Welcome@Google.com ![]() |
|
Создано: 22 января 2007 18:20 · Личное сообщение · #4 Small_S пишет: Может быть в нескольких версиях имеется такая опция и это как то обозначается в названии версии? Ты бы поставил себе аспр, например какой-нибудь версии 2.х, лучшей той, которую изучаешь. Посмотрел готовые примеры, защитил тестовые файлы протектором. Глядишь и часть вопросов отпала бы сама собой. p.s. есть такая опция "Protect Original EntryPoint" и в аспре ветки 1.35 и в аспре 2.х. ![]() |
|
Создано: 22 января 2007 18:39 · Личное сообщение · #5 Demon666 пишет: Хм… скачал статью, пипец ((: Неудивительно, что такие вопросы! =))) Хм .. вот появился ты как черт из табакерки и все возникают влпросы! Посмотри когда была написана статья. на тот момент одна из лучших не зря буржуи не поленились перевести ![]() Demon666 пишет: Но это все не то(!), есть варианты проще и скрипты отдыхають… О чем ты? Первые скрипты Пунлюка определяли размеры иат автоматом ! Иат в аспре небольшая проблема Если есть с этим трудности стоит пораспаковывать что нить попроще ![]() |
|
Создано: 22 января 2007 18:52 · Личное сообщение · #6 |
|
Создано: 23 января 2007 04:34 · Личное сообщение · #7 pavka Хм.. А с чего ты взял, что я против статьи что-то имею… Я просто намекнул некоторым лицам (любителям писать “читай статьи”), что прежде чем писать такое, пусть думают и если знают лучше вариант чем описанные методы взлома в статье то, на мой взгляд, лучше написать: Читай статью (название) + ссылка на статью + дополнение/корректировка как можно лучше и проще сделать, чем методы, описанные в статье в связи с их морально устаревшими принципами… Или тебе больше нравиться челы которые спасибы на лево и направо раздают в своих постах… pavka пишет: Хм .. вот появился ты как черт из табакерки и все возникают влпросы! Я не понял ты на личности перешел и протЕв кодеров ![]() ----- ЗЫ: истЕна где-то рядом, Welcome@Google.com ![]() |
|
Создано: 23 января 2007 05:10 · Личное сообщение · #8 Demon666 пишет: Хм.. А с чего ты взял, что я против статьи что-то имею… С этого Demon666 пишет: Хм… скачал статью, пипец ((: Неудивительно, что такие вопросы! =))) Demon666 пишет: Я не понял ты на личности перешел и протЕв кодеров, патчинг – это не панацея! ;) Интересно зачем на кракерском форуме лозунги? Demon666 пишет: челы которые спасибы на лево и направо раздают в своих постах… Культурные ребята ;) получили ответ на вопрос сказали спасибо чего плохого? Demon666 пишет: описанные в статье в связи с их морально устаревшими принципами… Хм.. а какие принципы устарели? ![]() |
|
Создано: 23 января 2007 05:22 · Поправил: Small_S · Личное сообщение · #9 Demon666 фенкс, более чем реально. Уже попробовал всё намного яснее если не сказать совсем ясно. tar4 пишет Ты бы поставил себе аспр, например какой-нибудь версии 2.х, лучшей той, которую изучаешь. Посмотрел готовые примеры, защитил тестовые файлы протектором. Глядишь и часть вопросов отпала бы сама собой. Из аспров у меня только 2.12 скачанный из краклаба и ещё не помню версию скачал по ссылке из какой то темы на этом же форуме не помню версию, приду домой посмотрю, кажется 2.21 и тоже по ссылке кейген к ней так ключи из этого кейгена этой версии как корове пятое седло, хотя вроде версия совпадает с той что красаво анимирована на окне кейгена(короче аспр даже не запускается, типа введите мне пароль). Я не жлоб и наднях закажу краклабовский DVD(хотел немного подождать пока новую сборку с какими нить новинами не соберут, я так понял последнее обновление было в ноябре). Но это ещё надо знать какой лучше и чем лучше(смысле версия больше?). К тому же я не зря просил в самом начале ту версию проги которую ковырял автор, а SergSh не зря прислал мне её,- это и есть мой тестовый файл. Может я и ошибаюсь, но начинать надо с малого, а если я сейчас на 100% не разобравшись что делать и как начну ковырять десяток файлов, то проку будет мало, а времени ухлопано много. Всем уж сорри если кому покажется, что новичок заговорил с пафосом, но я рассматриваю эту тему шире, чем научить меню распаковке старших аспров. В начале темы уже писал(см. первое обращение), что самостоятельно научился по вашим статьям распаковывать 1.23 RC4 и т.д. Дак вот на тот момент мне несказанно помогла тема открытая кем то (не помню) где этого кого то, типа как сейчас меня носом натаскивали на всякую элементарщину, типа тыкни это, трассируй отсюда, там то увидиш тото. И всё стало понятно.....!!!!! Когдато, когда тема дорастёт до этого я попрошу переименовать её в типа "От 1.23 RC4 до 2xx учимся" Чтобы не только я но и другие типа как я не тупили из за недостатка знаний и опыта над например неверно заданным адресом VirtualAlloc-а 2-3 лишних часа, а употребили это время на что то более дельное. Сейчас переименовывать тему ещё рано. ![]() |
|
Создано: 23 января 2007 05:23 · Личное сообщение · #10 pavka Давай сделаем диалог чуть короче? В теме: Aspr Imp Rec by BiT-H@ck Архив-> в файле Readme.txt!!! Подробный ответ на: Demon666 пишет: есть варианты проще и скрипты отдыхають… pavka пишет: О чем ты? ----- ЗЫ: истЕна где-то рядом, Welcome@Google.com ![]() |
|
Создано: 23 января 2007 08:42 · Личное сообщение · #11 |
|
Создано: 23 января 2007 08:48 · Личное сообщение · #12 Demon666 пишет одним нулевым DWORD`Ом (0045C820) Заканчивается Библа kernel32 (остальные также), а вся таблица должна заканчиваться двойным нулевым DWORD`Ом . К этому вопросу остаётся видимо только добавить что и начинается она двойным нулевым DWORD`Ом по 0045C528 00000000 .... 0045C52C 0C193E09 .>.. 0045C530 AE5F79F9 щy_® 0045C534 00000000 .... Но вот такой вопрос напрашивается исходя из фразыDemon666 Отсюда заодно видно, где лежит в таблице мусор можно ли поступить не как в статье SergSh, тоесть записать адрес взятой там для примера USER32.RegisterClassA не за последним нулевым двойным WORD-ом, а скажем в таком месте вместо мусора: 0045C83C 77D489A8 ..Фw USER32.CheckDlgButton 0045C840 5E2DDAF5 хЪ-^ < -----------------------------------ВОТ ЗДЕСЬ! 0045C844 77D3C03D =АУw USER32.CopyRect Или в этом мусоре бывает что то ценное????? ![]() |
|
Создано: 23 января 2007 09:39 · Личное сообщение · #13 И вот ещё чрезвычайно важный для меня вопрос, так как я намерен пройти все исправления руками. Есть ли способ снять не дамп проги, а дамп всего процесса+ аспра(всех его модулей, ссылок и т.п.), чтобы можно было переправить например 30 функций вручную и связанное с ними место в IAT затем сохранить все изменения. На следующий день снова как ни в чем не бывало загрузиться и с того места, где остановился ещё 40 функций и снова сохранить, и так далее. А то, адреса то украденных функций можно много дней постепенно высматривать, а вот вбить все изменения приходится за 1сеанс(а я уже выписал адреса около400 функций и это ещё не всё). Понимаю, что кому то это покажется дуристикой, но ведь проходят же некоторые прогу полностью вручную без скрипта(неужели без остановки?). Плиззз перечень действий как вносить многократные изменения в замороженный аспр+прога ![]() |
|
Создано: 23 января 2007 18:47 · Личное сообщение · #14 Остановились на OEP (Как в статье) Далее Правый кнопкой щелчок по окну CPU выбираем в меню->Searcf for->All itermodular calls в появившемся окне Правый кнопкой щелчок выбираем в меню->Appearance->Always on top это позволяет окну Found intermodular calls не исчезать когда окно CPU активно! Далее в активном окне Found intermodular calls делаем сортировку по именам API (левый кнопкой щелчок по заголовку Destination (если его нет, можно включить меню->Appearance->Show bar) или меню->Sort by->Destination) Далее жмем на клаве ‘V’ и ‘I’ (две первые буквы VirtualAlloc) и мы оказываемся на: 00433DC4 CALL DWORD PTR CS:[45C7F4] kernel32.VirtualAlloc Далее жмем два раза Enter, и мы в окне CPU на 7C809A81 kernel32.VirtualAlloc 8BFF MOV EDI,EDI Ставим бряк (двойным кликом левой кнопки мыши) на 7C809A9A C2 1000 RETN 10; (первый ret) И жмем два раза на цифровой клаве ‘-‘ (Для чего нужны клавиши ‘-‘, ‘+’, ‘*’ читаем help для отладчика) Мы окажемся на 00433DC4 2E:FF15 F4C7450>CALL DWORD PTR CS:[45C7F4] ; kernel32.VirtualAlloc Далее в окне CPU Правый кнопкой щелчок в меню->Follow in Dump->Memory address И мы окажемся в окне Dump в таблице, далее как я описывал в предыдущем посте по теме!!! Потраченное время несколько секунд (а не 2-3 часа), все необходимые окна активны и готовы к работе, бряки установлены и т. д. Не нужно знать никаких адресов, не нужен commandbar, если честно я уже забыл, когда им последний раз пользовался, для кодера это – буквенный интерпретатор вызова функций SDK отладчика! Последние действия это если нужно вернуться на OEP в окне CPU жмем ‘*’, в окне Found intermodular calls делаем сортировку по адресам (левый кнопкой щелчок по заголовку Address или меню->Sort by-> Address) Описанные действия относятся именно к этому сабжу, в других прогах будет немного отличаться… Если кому-то что-то не нравиться делайте как в статье или как сами прЕвыкли Все это для автора топика, на флуд отписываться не буду!!! ((: pavka пишет: Процитируй если не трудно! Писать скрипт? Ну, я уже пробовал, посмотрел на глюки OllyScript и забил на это. Но после написания скрипта я вспомнил, что меня никогда не подводило - Microsoft Visual C. Вот это плод моей умственной деятельности ![]() +1 Мой ASM pavka пишет: Чем может быть полезна приватная тулза для обучения распаковке? No comments ----- ЗЫ: истЕна где-то рядом, Welcome@Google.com ![]() |
|
Создано: 23 января 2007 19:45 · Личное сообщение · #15 Demon666 пишет: Писать скрипт? Ну, я уже пробовал, посмотрел на глюки OllyScript и забил на это И совершенно напрасно! Китайцы мудрые люди проще написать скрипт в котырый пользователь всегда может подправить адаптиравать возможно под новую версию прота Demon666 пишет: никогда не подводило - Microsoft Visual C. Вот это плод моей умственной деятельности (ц) ![]() ![]() |
|
Создано: 23 января 2007 22:46 · Личное сообщение · #16 pavka Это, смотря с какой колокольни смотреть… Во-первых, в цитате идет речь о OllyScript (!), а ты подразумеваешь ODbgScript – это два разных плуга! (идет речь о программном коде) Я уже давно не разбирал новую версию плуга ODbgScript (идет речь о программном коде), мне своего за глаза хватает, но в ODbgScript можно было давно добавить команды для вызов стандартных диалогов, причем любых для ввода данных нужных для работы скрипта… Хотя хз. может сейчас уже, и добавили, мня это не волнует, тоже самое и “Китайцы мудрые люди” – не замечал! Если мне нужно узнать что-то о человеке я беру его прогу, плагин короче неважно и смотрю на код, анализирую, на чем писано фишки высматриваю, если что-то интересное себе в коллекцию добавляю, на паблик и в приватах естественно не раздаю! Приватные проги всегда проще писать(!) когда ее юзаешь сам увидел баг и тут же исправил и дальше юзаешь и все OK, никаких проблем – паблик это другое! Первое сразу критика такое уже есть нах еще такое г. нужно, БАЯН и т. д. Второе ламеры начинают пищать, что-то не работает, как юзать(?), аттач битый, каспер материться там ТрОян и т. д. Третье находят ошибки, но толком описать не могут или так опишут, что хрен разберешь Приходится отписываться, тратить время, особенно когда пытаешься повторить то, что там написано о багах, гы-гы, а у тебя все работает как часики… а в итоге, оказывается, стоял на компе самопал который вешал нормальную прогу… ведь весь софт не установишь себе… Плюс еще кто-нить прицепиться от зависти и дае**вает своими постами И таких пунктов десятками можно перечислять, а итог один нах нужно на паблик выкладывать сто раз подумаешь!!! Вот и ты критиковать начал цитату не обдумав, а там ведь по делу все написано!!! ----- ЗЫ: истЕна где-то рядом, Welcome@Google.com ![]() |
|
Создано: 24 января 2007 00:04 · Личное сообщение · #17 Demon666 пишет: Плюс еще кто-нить прицепиться от зависти и дае**вает своими постами Если это в мой огород то я не пользуюсь приватными прогами! Мне вообще автораспоковщики пофиг Меня вал не душит, я могу себе позволить ковырятся в проте сколько душе угодно пока не надоест ;) Да и ссылатся на приватные проги не совсем этично так как для большинства их просто не существует! А выкладывать вот так имхо вообще стремно ;) ![]() |
|
Создано: 24 января 2007 00:14 · Личное сообщение · #18 Demon666 респект за ликбез по управлению. Но пожааалста расскажи ответ как править прогу много раз. Привожу вчерашний вопрос: И вот ещё чрезвычайно важный для меня вопрос, так как я намерен пройти все исправления руками. Есть ли способ снять не дамп проги, а дамп всего процесса+ аспра(всех его модулей, ссылок и т.п.), чтобы можно было переправить например 30 функций вручную и связанное с ними место в IAT затем сохранить все изменения. На следующий день снова как ни в чем не бывало загрузиться и с того места, где остановился ещё 40 функций и снова сохранить, и так далее. А то, адреса то украденных функций можно много дней постепенно высматривать, а вот вбить все изменения приходится за 1сеанс(а я уже выписал адреса около400 функций и это ещё не всё). Понимаю, что кому то это покажется дуристикой, но ведь проходят же некоторые прогу полностью вручную без скрипта(неужели без остановки?). Плиззз перечень действий как вносить многократные изменения в замороженный аспр+прога. Это один из ключевых вопросов, так как есть проги где таких вызовов, которые нужно править может быть 1000 или больше. Неужели либо скриптом либо за один сеанс править???????????? ![]() |
|
Создано: 24 января 2007 07:34 · Личное сообщение · #19 Я тут немного невовремя. Статейку прочитал. Все ясно и понятно, скрипт от SergSh'а не работал, но я его слегка подправил. Все ОК. Но при запуске получаю это ![]() ![]() ![]() |
|
Создано: 24 января 2007 10:24 · Личное сообщение · #20 Таким же как я. На мой вопрос в привате к SergSh Но вот такой вопрос напрашивается исходя из фразыDemon666 Отсюда заодно видно, где лежит в таблице мусор можно ли поступить не как в статье SergSh, тоесть записать адрес взятой там для примера USER32.RegisterClassA не за последним нулевым двойным WORD-ом, а скажем в таком месте вместо мусора: 0045C83C 77D489A8 ..Фw USER32.CheckDlgButton 0045C840 5E2DDAF5 хЪ-^ < -----------------------------------ВОТ ЗДЕСЬ! 0045C844 77D3C03D =АУw USER32.CopyRect Или в этом мусоре бывает что то ценное????? получил ответ. Как я и ожидал ничего ценного в мусоре не встречается и лепить адрес функции в родную для неё часть таблицы можно(типа USER к USER-ам, kernel к kernel-ам и т.д.) ![]() |
|
Создано: 24 января 2007 10:42 · Личное сообщение · #21 Однако мужики! Ветераны, мудрецы, бойцы крекерского фронта(обчем все кто знает) уже третий раз прошу подсказать руководство к снятию общего дампа проги+ аспра(сорри если не так обозвал). Ну не верю я что при распаковке ручками вы раз садитесь и не выходя из сеанса правите 1000 вызовов API без отдыха(и только после этого дампите и восстанавливаете). Наверняка поправили 100 вызовов в каком то виде сохранили дамп с этими изменениями(только не в OllyDamp ибо уже попробовал получается лабуда), выключили комп, поспали, поели, опять прилетели за компьютер сели(как в детской поговорке говорится) и давай рубить дальше со 101 вызова, а не с первого. Только я пока не знаю как. Так вот : КАК ЭТО ДЕЛАЕТСЯ??????????????????????? ПЛИЗЗЗЗЗ, ЖЕЛАТЕЛЬНО ПОПОДРОБНЕЙ!!!!!!!!!!! ![]() |
|
Создано: 24 января 2007 10:56 · Личное сообщение · #22 Demon666pavka Мужики,со стороны,просто смешно выглядит.Хотя дело ваше. Small_S Зачем тебе дамп аспра,непойму. Ну не верю я что при распаковке ручками вы раз садитесь и не выходя из сеанса правите 1000 вызовов Умаялся ручками?Обьяснили же уже,скрипт автоматизирует ручной труд.В этом топе скрипт зависает.Юзай этот: ![]() ----- Чтобы юзер в нэте не делал,его всё равно жалко.. ![]() |
|
Создано: 24 января 2007 11:08 · Личное сообщение · #23 Bronco респект за помощь, но тут дело не в том, что я уперся и нехочу юзать скрипты. Я хочу научиться всем ручным технологиям. Наверняка на очень новых аспрах где нет ещё скриптов люди делают всё руками и наверняка не за один сеанс. Bronco Зачем тебе дамп аспра,непойму. Дык когда я в ручную всё правлю прога на каждом покоцанном кале сначала ныряет в аспр, а потом в VirtualAlloc. И если я хочу и дальше продолжать руками, то как минимум этот участок аспра должен остаться цел в следующем сеансе помимо проги, причём как я понимаю своим скудным умишком ещё и желательно чтобы все адреса всего сохранились. ![]() |
|
Создано: 24 января 2007 13:26 · Поправил: Bronco · Личное сообщение · #24 Small_S Не обижайся,но ты - трудный.Зачем такие монологи длинные писать? Дык когда я в ручную всё правлю прога на каждом покоцанном кале сначала ныряет в аспр, а потом в VirtualAlloc Пусть "ныряет" куда хочет,лижбы вынырнула с нужной функцией. ![]() Но у меня такое ощущение,что ты снял дамп ,и потом его востанавливаешь. ----- Чтобы юзер в нэте не делал,его всё равно жалко.. ![]() |
|
Создано: 24 января 2007 18:09 · Личное сообщение · #25 Bronco на аспр затёр,найденную вписал.Перешёл к следующей.Всё,даже хрящи разжевали. отвечаю. Я уже пять суток это умею, тут уже давно всё понятно. Вопрос был в другом как сделать эти изменения не за один раз, точнее сеанс(если файл например очень большой, а скрипты к примеру на него не действуют). Если ты к примеру изменил 80 переходов из 420, а тебе срочно нужно уехать снимать дамп проги , с тем чтобы завтра приехать запутить его и продолжать править бессмысленно(поизменяются все адреса, будет отсутствовать кусок ведущий к виртуалаллоку). И я уже начинаю думать, что такого способа приморозить всё до "завтра" не существует иначе бы кто то уже что то по этому поводу сказал. Перед сном посмотрел в кратце твой последний присланный скрипт вечером начну его использовать. Если я верно понял это будет исправление каждого перехода по выбору(задается джампер это будет или кал). ![]() |
|
Создано: 24 января 2007 18:26 · Личное сообщение · #26 Small_S пишет: Вопрос был в другом как сделать эти изменения не за один раз, точнее сеанс(е Когда в подобной ситуации у меня возник такой вопрос, я писал скрипт для всех исправлених за один сеанс. Если по каким-то причинам (пишу по памяти) все сразу сделать не удавалось, запускал второй скрипт. Все равно, все изменения вносились за один сеанм, потом дамп. Небольшое количество повторных изменений удобно вносить через Patches (Ctrl-P). ![]() |
|
Создано: 24 января 2007 23:27 · Личное сообщение · #27 фенкс tar4 вечером посмотрю, меня на дельные мысли натолкнул и SergSh(в личке)! Всё проверим. Старички не злитесь буду я и пользоваться, и сам писать скрипты, вот только добьюсь на данном файле цели(для ненормальных) -распаковать хотя бы один файл чисто вручную и начнут поступать вопросы по написанию скриптов(только наверное уже возьму что нить подопытное запакованное более старшим Аспром). ![]() |
|
Создано: 27 января 2007 11:12 · Личное сообщение · #28 Bronco В перерыве между ручной возней попробовал предоставленный тобой скрипт. Не могу понять куда там ставится бряк, а без него выводится сообщение мол ошибка бряк на LoadLibrary не работает. Ладно посмотрел в текст скрипта, там упоминание про LoadLibraryA, жмём Ctrl+g и вбиваем туда LoadLibraryA о'кей и оказываемся на каком то джампере 7C882FC4 >-E9 18807277 JMP F3FAAFE1 после чего хоть по F7, хоть по F8 вылетаем на OEP или если многократно, то ещё по тексту проги. Пробовал F2 на сам этот джампер ставить, один хрен ошибка таже. При сём при этом скрипт говорит, что одну функцию он всё таки восстановил, только вот где, ни хрена не вижу. Я думал там будет нормальная API и в конце RET, как в статье SergSh. Куда бряк то ставить??? Плизз. ![]() |
|
Создано: 31 января 2007 11:34 · Личное сообщение · #29 Bronco фенкс за ответ в личке. Что то делаю не так. По порядку. Bronco пишет для начала хотя бы указал с каким скриптом ты экспереминтируешь.Я отправлял три скрипта для точки входа,и один для импорта. Сорри за нечётко поставленный вопрос. Я экспериментирую с последним скриптом для восстановления импорта, так как по крайней мере для этой версии аспра(2.12 SKE)проблем с нахождением OEP или границ таблицы импорта у меня теперь нет. Далее по тексту всё об этом скрипте. Для импорта вводить только начало и конец ИАТ,а также вид вызова функции(jmp или call). Это понятно из того, что просит скрипт. До OEP дохожу как писал много выше. Далее: Бряк кажется ставить на память на секцию кода кернел32. действуем - Alt+M и ставим бряк Set memory breakpoint on access на 7C801000,- где оля пишет, что секция кода кернела32. Затем запускаем в ODbgScript твой скрипт. На его требование вводим начало IAT-0045С528(в нашем случае), затем конец-0045С998. Выбираем ДА(так как сначала исправляем Call-ы). Далее два варианта. В первый раз у меня оля вошла в цикл(видимо бесконечный): 00429804 PUSHAD 00429805 INC ECX При этом ESP сначала быстро, а через час по шагу в секунду пошло к дну стека с 6F000 примерно, сначала и до 3100С, где оля после 2 часов и сделала сначала исключения, а затем терменейт. Второй вариант прежний(встречается почти всегда), кричит, что бряк на LoadLibraryA не работает и снова якобы восстановила 1 функцию. Причем та же песня и если бряк делать нажатием по 7C801000 на F2 Bronco огромная просьба, загрузи этот скрипт и вспомни (а то у нас забойная смесь получилась, я имею ввиду тандем наставник-ученик,- ты не помнишь, я не знаю)да это и ко всем кто работал с этим скриптом куда ставить бряк????? ![]() |
|
Создано: 31 января 2007 18:18 · Личное сообщение · #30 |
|
Создано: 31 января 2007 19:45 · Личное сообщение · #31 Small_S Бряк кажется ставить на память на секцию кода кернел32 На секцию ,не на адрес.И счётчик на вызов(New origin here).-это для ручной работы.А для скрипта(IAT_Recover for ASProtect.txt) только начало и конец иат.Пе_килл рабочий скрипт написал. Бывает долго отрабатывает,если конец иат неправильный. ----- Чтобы юзер в нэте не делал,его всё равно жалко.. ![]() |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 12 . 13 . >> |
![]() |
eXeL@B —› Софт, инструменты —› Распаковка AsProtect на примерах |