Сейчас на форуме: vsv1 (+3 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› трабла с нахождением oep в asp |
Посл.ответ | Сообщение |
|
Создано: 20 декабря 2007 23:18 · Личное сообщение · #1 с недавнего перепуга рушилсо заняться распаковкой чем и занимаюсь уже как сутки расправилсо с upx, немного даже с asp - запаковал свой кальк и непренуждённо его распаковал с первой попытки, на что вместе с прочтеньем статьи ушло минут 5 от силы, птом поломал hrefer (мою первую кракнутую прогу ссылка на которую лежит в разделе "ссылки на простые програмы") будто он сам юбку задрал, потом решился на chemax и ломаю себе моск ап клаву уже чясов пять к ряду о чём ниже... вообщем шняга такая - смотрю peid'ом ASPack 2.12 -> Alexey Solodovnikov, делаю тоже что и до этого с hrefer'ом - ищу popad нахожу нечто следующего содержания 005913AF 61 POPAD 005913B0 75 08 JNZ SHORT chemax.005913BA 005913B2 B8 01000000 MOV EAX,1 005913B7 C2 0C00 RETN 0C 005913BA 68 00000000 PUSH 0 005913BF C3 RETN понимаю что попал по адресу брякую тут, брякуюсь и пошагово трасирую. как результ oep 401000 (что кстати и плагин от peid'a показал) вообщем после перехода на oep, снимаю дамп с остановленной проги, далие востанавливаю импорт, запускаю прогу и вижу messegBox: EAccessViolation... вообщем мне это мало что говорит так как я ещё совсем новичёк и мыслю в категорях изложенных в статьях и не имея возможности рассуждать не имея достаточного опыта или теории касательно вопроса, почему прошу вас помоч и тыкнуть меня в правильный ответ. тут вот вопросы, не поленитесь ответить это поможет мне в постижении сего искуства чем обусловлен этот месаг? собсвенно как распаковат то прогу? как бы вы составили рейтинг пакеров\протекторов начиная от простого? (мне для обучения нужно знать с чего начинать) есть ли обзор методов защит програм от re (ну если по длинному, то что кроме пакеров и протекторов ещё применяют? какие способы в самих протекторях применяються, как они класифицируються?) ![]() |
|
Создано: 20 декабря 2007 23:40 · Поправил: tempread · Личное сообщение · #2 |
|
Создано: 20 декабря 2007 23:48 · Личное сообщение · #3 |
|
Создано: 21 декабря 2007 01:08 · Личное сообщение · #4 TruPAC Я не уверен что у нас одинаковая версия, но у меня оеп тоже 1000 (версия программы 6,7). Так вот там импрек неправильно определяет размер таблицы. Ты сам посуди, неужели не странно, что все апишки пользуються только из kernel32. Введи вместо предложенного импреком Size of IAT 210, размер С2С и не нажимая IAT AutoSearch сразу жми Get Imports, потом Show INvalid и cut thunk. После этого Fix Dump ну и дальше как написано в статьях. ----- Я ещё не волшебник, я только учусь... ![]() |
|
Создано: 21 декабря 2007 01:59 · Личное сообщение · #5 ох спс! всё прекрасно распаковалось да странно что тока с кернеля, но это я как то вскользь отметил продолжая искать ошибки у себя да и просто не известно мне ещё про размер таблиц теперь вот буду знать эм... и ещё ты ведь не из воздухя взял цифры? можеш подсказать как энто забацать? я тут попыталсо посмотреть размеры секций вроде не то... так что жду ответа ;d кстати это явление обязано своим появлением ошибке ImpREC или аффтору chimax'a? ![]() |
|
Создано: 21 декабря 2007 12:28 · Личное сообщение · #6 |
|
Создано: 21 декабря 2007 13:08 · Личное сообщение · #7 TruPAC Чтобы определить размеры секции импорта. Просто посмотри какую нибудь API. Возьми например, какую нибудь из той, которая определилась Импреком. И после этого просто в дампе смотри где начинаются и заканчиваются адресса которые указывают в библиотеки, Их найти не так сложно, так как они умеют похожие адреса, А вот если не уверен со значениями. То нечего тебе не мешает взять с запасом. Потом просто удалишь все не нужные. ![]() |
|
Создано: 21 декабря 2007 15:22 · Поправил: UR-Shark · Личное сообщение · #8 |
|
Создано: 21 декабря 2007 16:44 · Личное сообщение · #9 Ice-T ну эт то легко, гугль рулит: если смотреть только на то что у меня тут вопросы вызвало то картинка будет слудующая IDT (заглавок массива (массива состоящего из элементов IAT) указателей на имена dll из которых происходит импорт функций и имеет примерно такой вид какой я нарисовал снизу) RVA на *dll (энто есть указатель на загружаемую библиотеку, который также получает ссылки на такие параметры как FirstThunk, OriginalFirstThunk, TimeDateStamp, ForwarderChain три последних из которых могут быть NULL, а первые два очень нам помогают тем что содержат названия dll'ок делая процес нахождения размера IAT простым и понятным) собственно IAT это и есть совокупность указтелей о которых я говорил выше. всётаки я не уверен что это правильно из за того что мне не удалось надыбать спецификации по PE на руском (слышал касперски переводил, тока я искать не начинал - у мну времени с чегото нехватило) VaZeR эм... как то ты товрисч объяснил всё загадкой... :D у меня после натыкания на хлацкер.ру получилось вот что лезим в хьюв, давим ф8 (пе заголовк) потом давим ф7 (дир) потом выбераем строчку импорт и давим интер вылетаем на начале IAT далие простым скролом доходим до конца таблицы, пишим в калькулятор всё энто чудо, взращаемся к началу и пишим и его в кальк, вычитаем и опа 2с0 почти тоже самое что и у тебя, делаем поправку на адреса (я предпочёл сначла проверить своии результаты, чем тратить время на точность расчётов) ну и как результа получаем искомый размер ![]() |
|
Создано: 21 декабря 2007 16:45 · Поправил: TruPAC · Личное сообщение · #10 |
|
Создано: 21 декабря 2007 17:11 · Личное сообщение · #11 |
|
Создано: 21 декабря 2007 17:29 · Личное сообщение · #12 |
|
Создано: 24 декабря 2007 08:12 · Личное сообщение · #13 |
![]() |
eXeL@B —› Вопросы новичков —› трабла с нахождением oep в asp |