ПРОЕКТ:как запихать в PE-файл свою собственную таблицу импорта
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
ПРОЕКТ:как запихать в PE-файл свою собственную таблицу импорта - 2010-07-16 04:24:10.513333
|
|
|
smadov
Сообщений: 73
Оценки: 0
Присоединился: 2008-06-11 13:19:08.676666
|
Даю проект "как запихать в PE-файл свою собственную таблицу импорта" То есть нужно самомоу написать собственную таблицу импорта. ПО определённому образцу. ОНа может быть очень маленькой. Образец- в проекте в папке nIAT_dir После этого необходимо склепать как-нибудь файл nIAT (вы уж сами разберитьесь, как), который суть эта таблица и поместить его в одну папку с экзешником ra.exe. туда же поместить и файл, в котором собираетесь таблицу менять По запуску ra.exe тот высчитает размер таблицы. Располагаеть её предполагается в той же секции, что и оригинальняа IAT, там, где ноли. Если места мало, будет выведено сообщение. Если места достаточно, тогда эта таблица будет туда запихана, поправлены 2 директории: непосредственно таблица импорта (RVA и Size) и таблица импортируемых адресов (обнулена на хрен) Кроме того, поправлены все RVA. В общем, всё, как положено. Отладчик такой экзешник загрузит, алдреса пропишет куда надо и не пикнет даже. Только работать он не будет. Этот проект полезен, если кто хочет настоящую таблицу скрыть. Тогда ему потом придётся пощзаботиться о ВООССТАНОВЛЕНИИ ОРИГИНАЛЬНОЙ IAT. Как писать новую IAT- думайте сами. Можете автоматизировать это дело. Мне пока не до этого. Да и цели я такой не ставил, а ставил просто корректно запихать (если влезет). Чуть не забыл, результат в файле rez.exe Короче, вот ссылка на рапиде. http://www.rapidshare.ru/1576147 Люди, почему у меня не получается прикрепить файл к сообщению?
|
|
|
RE: ПРОЕКТ:как запихать в PE-файл свою собственную таблицу импорта - 2010-07-16 11:41:56.500000
|
|
|
Sunzer
Сообщений: 253
Оценки: 31190
Присоединился: 2007-06-15 19:23:32.436666
|
Ничего из поста не понял, что бы сделать файлу новую таблицу импорта надо: 1) Читаем заголовки PE 2) Создаем секцию, расширяем SizeOfHeaders при надобности 3) Устанавливаем указатель на эту секцию в ImportTable в PE заголовке. 4) Формируем собственную таблицу, как? Все документировано, гугл в помощь. По памяти: Структура из пяти DWORD'ов это IMAGE_IMPORT_DEsсriрtOR'ы quote:
00h DWord Import LookUp Содержит ссылку на табличку RVA указывающих на соответствующие Hint-Name's или непосредственно ординал ипортируемого входа 04h DWord Time/Date Stamp Отметка о времени создания, часто содержит 0 (У-уф) 08h DWord Forward Chain ? связано с возможностью передачи экспорта в другие библиотеки. Обычно равно 0FFFFFFFFh 0Ch DWord Name RVA Ссылка на библиотеку с которой нам необходимо поиметь вызовы представлена в виде ASCIZ. 10h DWord Addres Table RVA Ссылка на табличку адресов импорта, заполняется системой при связывании Их число нигде не указывается, заканчивается список IMAGE_IMPORT_DEsсriрtOR'ов нулевым дескриптором. В простейшем случае, тебе можно записать одну структуру выше, в ней настроить RVA на Имя DLL (Имя выравнивается на два байта + ес-но нульбайт), лукап таблицу, таблицу IAT. C именем DLL все понятно. Лукап таблица это таблица RVA смещений на некую структура, завершается нулевым DWORD Вот эта некая структура: WORD Hint; // Можно оставить нулевым Имя импортируемой API из DLL, + нуль байт + желательно быть выравнено на два байта. Таблица IAT это таблца в которую будут вписаны VA API функций.
|
|
|
RE: ПРОЕКТ:как запихать в PE-файл свою собственную таблицу импорта - 2010-07-16 16:15:28.620000
|
|
|
smadov
Сообщений: 73
Оценки: 0
Присоединился: 2008-06-11 13:19:08.676666
|
Да я всё это знаю. Просто если чел напишет свою IAT, то чтобы запихать её в PE файл я и предложил такой проект. То есть проект для запихивания в PE файл собственной таблицы IAT (для сокрытия оригинальной.) 2 ограниченя: 1) По размеру 2) Новая IAT должнаь быть сделана по прилагаемому образцу. Я теперь понятен?
|
|
|
RE: ПРОЕКТ:как запихать в PE-файл свою собственную таблицу импорта - 2010-07-16 17:22:49.230000
|
|
|
Sunzer
Сообщений: 253
Оценки: 31190
Присоединился: 2007-06-15 19:23:32.436666
|
Бред какой-то…
|
|
|
RE: ПРОЕКТ:как запихать в PE-файл свою собственную таблицу импорта - 2010-07-16 17:24:28.960000
|
|
|
smadov
Сообщений: 73
Оценки: 0
Присоединился: 2008-06-11 13:19:08.676666
|
Ну, положим, чтобы оскорбить человека, ума много не требуется. …Что именно бред? Нет, я жду!
|
|
|
RE: ПРОЕКТ:как запихать в PE-файл свою собственную таблицу импорта - 2010-07-16 20:07:05.983333
|
|
|
Sunzer
Сообщений: 253
Оценки: 31190
Присоединился: 2007-06-15 19:23:32.436666
|
quote:
ORIGINAL: smadov Ну, положим, чтобы оскорбить человека, ума много не требуется. …Что именно бред? Нет, я жду! А чем не подойдет какой-нибудь пакер + PE Tools? C помощью этого можно и оригинальную таблицу скрыть и свою создать.
|
|
|
RE: ПРОЕКТ:как запихать в PE-файл свою собственную таблицу импорта - 2010-07-16 22:44:16.030000
|
|
|
smadov
Сообщений: 73
Оценки: 0
Присоединился: 2008-06-11 13:19:08.676666
|
Ну вопрос праздный, спрашивать кодера почему он кодит… Я такой же вопрос могу задать Вам, да и другим тоже ребятам- зачем писать свои крипторы, если лучше купить готовый? Да много зачем. Затем хотя бы, что если однажды он даст сбой (а он непременно даст сбой), встретить его грамотно, а не как попрошайка вопрошать - ах, что же мне делать, у меня PE-tols не работает. Кстати, что это такое я не знаю да и про пакер догадываюсь лишь. Вообще размышляя на лоне природы над бренностью всего земного пришёл к выводу что криптор и джойнер- две вещи, которые надо писать самому. Джойнер, кстати, готов уже. Вывод, конечно, ошибочен, как и всё, что я делаю.
|
|
|
RE: ПРОЕКТ:как запихать в PE-файл свою собственную таблицу импорта - 2010-07-17 17:20:23.216666
|
|
|
xmystikx
Сообщений: 32
Оценки: 0
Присоединился: 2009-12-03 20:41:49.933333
|
Если я правильно понял, то ТС сделал прогу для генерации таблицы импорта другой без восстановления оригинальной? А толку то от этого, без этого файлы все равно не будут работать. Вылетят наверное с ошибкой отправлять не отправлять отчёт
|
|
|
RE: ПРОЕКТ:как запихать в PE-файл свою собственную таблицу импорта - 2010-07-17 19:05:03.270000
|
|
|
smadov
Сообщений: 73
Оценки: 0
Присоединился: 2008-06-11 13:19:08.676666
|
Почти правильно. Генерации новой IAT нет, есть запихивание. Зачем? Ну, во-первых, исследователь я или нет? Во-вторых, когда-то же кому-нибудь надо будет кому-то запихивать в PE-файл левую IAT. Вот на этот случай мой код и есть. Не более Я обещал мало, но что обещал- сделал.
|
|
|
|
|