Форум: "Система";
Текущий архив: 2002.11.21;
Скачать: [xml.tar.bz2];
ВнизТаблица импорта Найти похожие ветки
← →
AlexandrRya (2002-09-18 10:26) [0]Здрасте!
Как-то в форуме Paul Shmakov, говорил, о том, как скрыть свой процесс, при этом он предлагал, как вариант правку таблифцы импорта. Недавно решил попробовать этот метод на практике. Использовал Internat.exe от WinME. При этом все вродебыло нормально, после правки Windows просила дать ей библиотеку Test.dll. Это я конечно сделал. Функцию экспортировал по ординалу. Но потом Windows говорила о том, что екзешник испорчен. В одном месте у меня точно есть косяк: я указываю левое значение адреса функции после загрузки, но насколько я знаю, это значение заполняется системой после загрузки программы.
Если кто-о делал что-то подобное, то прошу привести пример. Плиз.
← →
Digitman (2002-09-18 11:17) [1]А зачем ты полез в файл Internat.exe ? Разве это - исп.файл ТВОЕГО процесса ?
← →
REA (2002-09-18 13:59) [2]Можно наверно для кулхацкеров еще плугинчиков понаписать к разным прогам - вордам там эксплорерам. Оно вроде проще.
← →
AlexandrRya (2002-09-18 15:13) [3]>Digitman
Если Вы найдете статью, о которой я говорю, то там Автор предлагает использовать для экспериментов Internat.exe ввиду его простоты и присутствия во всех системах. А то, что он не является файлом моего процесса, так именно это мне и нужно. Мне необходимо подправить таблицу импорта статически в самом файле так, чтобы при его загрузке линковщик загружал мою библиотеку.
← →
paul_shmakov (2002-09-18 15:20) [4]2 AlexandrRya:
вы, вероятно, говорите о варианте внедрения dll в некоторый процесс путем правки таблицы импорта exe-файла (добавление в список импортируемых dll еще одной - своей)?
если да, то, вероятно, что-то не так вы сделали.
нужно было проверить, есть ли свободное место в секции импорта, если нет, то найти его. добавить новую запись IMAGE_IMPORT_DESCRIPTOR, добавить имя dll, добавить IMAGE_THUNK_DATA для импортируемой функции по ординалу.
не забывать, что массивы IMAGE_IMPORT_DESCRIPTOR, IMAGE_THUNK_DATA (оба - OriginalFirstThunk и FirstThunk) должны заканчиваться нулевым элементом.
размещать все эти данные нужно в секции импорта и т.п.
делайте все это с помощью hiew.
← →
Digitman (2002-09-18 15:43) [5]>AlexandrRya
Ну и причем здесь - "скрыть свой процесс" ? Ты ж о функциональности своей Test.dll речи пока ведешь)...
И "правка таблицы импорта" - понятие скорей относящееся к модификации уже загруженных в ВАП некоего процесса данных об импорте. Ты же ведешь речь о статической модификации раздела PE-файла (именно - файла, а не загруженного в ВАП процесса его PE-образа !), содержащего данные директории импорта..
Будь уж как можно точнее в таком случае)...
← →
paul_shmakov (2002-09-18 15:50) [6]2 AlexandrRya:
"Если Вы найдете статью, о которой я говорю, то там Автор предлагает использовать для экспериментов Internat.exe"
ну не надо на меня теперь бочки катить ;) речь шла там об одном из способов скрытия своего приложения путем реализации его в виде dll и загрузки в адресное простанство чужого процесса. загрузки как в runtime, так и статически, путем модификации самого файла.
для примера я сказал тогда, что мол можно над internet.exe издеваться. только не кидайте в меня тухлыми помидорами :)
"... подправить таблицу импорта статически в самом файле так, чтобы при его загрузке линковщик загружал мою библиотеку."
только не "линковщик", а "загрузчик pe-exe файлов"
← →
paul_shmakov (2002-09-18 15:54) [7]2 Digitman:
"И "правка таблицы импорта" - понятие скорей относящееся к модификации уже загруженных в ВАП некоего процесса данных об импорте. Ты же ведешь речь о статической модификации раздела PE-файла (именно - файла, а не загруженного в ВАП процесса его PE-образа !), содержащего данные директории импорта.."
не, AlexandrRya не ошибся в постановке вопроса. речь действительно идет от статической правке файла pe-exe (а точнее правке его таблицы импорта) для того, чтобы загрузчик автоматически загружал нашу dll.
← →
Digitman (2002-09-18 16:22) [8]>paul_shmakov
Я и не сказал, что <AlexandrRya> ошибся)... Только вот сокрытие процесса (фигурирующее как бы во главе вопроса) подразумевает , imho, правку в первую очередь run-time-таблиц... а до этого у автора и дело еще не дошло, он совсем другим озабочен, оказывается) ... отсюда и недоразумение)
← →
AlexandrRya (2002-09-19 23:13) [9]>paul_shmakov © (18.09.02 15:50)
Извините, я не на кого бочку не качу, мне очень даже понравилась та ветка форума. А Internat.exe для примера - идея хорошая.
>paul_shmakov © (18.09.02 15:20)
Я делал это не спомощью hiew, а написал программу, которая сама дописывала нужные данные. Я нашел место в секци импорта (мне так кажется, так как ПЕРЕД данными оуже имеющихся модулях я вставил данные о своей библиотеке, после чего добавил в нужных местах ссылочки на них). Теперь Win32DisAsm определяет, что из мой библиотеки импортируется функция по ординалу NNN, но система упорно не хочет грузить файл. Если есть какие-то примеры/наработки/предложения, пожалуйста поделитесь. Очень хочется это сделать (хотя пока скорей всего только из любопытства, никогда раньше не залазил внутрь EXE)
Спасибо за статью, как убрать процес спомощью хуков уже воспользовался.
Извините, пароль никак не могу вспомнить :-), поэтому логин другой
← →
AlexandrRya (2002-09-20 00:37) [10]Ой, последняя фраза не в счёт...
← →
paul_shmakov (2002-09-20 12:01) [11]AlexandrRya:
"Извините, я не на кого бочку не качу, мне очень даже понравилась та ветка форума."
да я пошутил ;) кстати, той ветки, случаем, нет сохраненной? а то я, похоже, себе ее не сохранил.
я все hiew советую не просто так - когда руками правишь, в голове подсчитываешь смещения полей и структур, то это помогает намного быстрее и намного лучше понять, что там происходит и как устроено. только после этого можно написать нормальную программу, которая делала бы это автоматически.
предлагаю Вам выслать мне свой код, а там посмотрим, в чем дело.
← →
AlexandrRya (2002-09-22 22:56) [12]Ветка эта сохранена у меня на винте. Так что вышлю вместе с кодом.
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2002.11.21;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c