Здравствуйте, IID, Вы писали:
IID>>>2) Из другого процесса — получить список модулей интересующего. N>>Так Сергей и спрашивает как это сделать...
IID>Не уверен Думаю, Сергей прекрасно знает и про PsApi обёртку, и про NativeAPI.
конечно.
я просто говорю, что зная адрес DLL в своем процессе недостаточно, что бы утверждать, что точно такая же DLL будет находиться по тому же адресу в другом процессе. Даже Kernel32
Здравствуйте, Сергей Мухин, Вы писали:
IID>>Например: IID>>1) По дефолтному SEH обработчику. Он изначально в kernel32 указывает. При условии, конечно, что окружение процесса уже создано и проинициализировано (чем занимается как раз тот стартап код из ntdll.dll).
СМ>Это по цепочке SEH надо пробегать?
Если приложение только что запустилось и на EP ещё не попало — там будет всего один SEH обработчик. Иначе — да, придётся просмотреть всю цепочку. В самых клинических случаях (теоретически) цепочка может и не оканчиваться обработчиком из Kernel32.
Здравствуйте, IID, Вы писали:
IID>Здравствуйте, Сергей Мухин, Вы писали:
IID>>>Например: IID>>>1) По дефолтному SEH обработчику. Он изначально в kernel32 указывает. При условии, конечно, что окружение процесса уже создано и проинициализировано (чем занимается как раз тот стартап код из ntdll.dll).
СМ>>Это по цепочке SEH надо пробегать?
IID>Если приложение только что запустилось и на EP ещё не попало — там будет всего один SEH обработчик. Иначе — да, придётся просмотреть всю цепочку. В самых клинических случаях (теоретически) цепочка может и не оканчиваться обработчиком из Kernel32.
ну т.е. этот метод оставим в качестве упражнения. Для боевого применения имхо не годится.
А если программа знает, что в н е будут так внедряться, то вообще легко обмануть уже нас
Здравствуйте, namux, Вы писали:
N>>>Если задача узнать куда загружена определенная длл — то возможно всегда: просто пишите свою ф-ию не используя перемещаемые выражения.
СМ>>и Вы нам сейчас расскажете как это делать на С/C++?
N>Что, проблема написать ф-ию которая вызывает GetModuleHandle?
Что-то совсем плохо у вас с логикой и со знаниями.
СМ>>Вот такую например попробуйте запихнуть и выполнить. СМ>>При этом версия С в приложении мб отличной от Вашей
N>Да, все-таки проблема написать. Вот такая будет работать всегда:
N>
N>void ccc() {
N>HMODULE hMod = LoadLibrary( "kernel32.dll" );
N>FARPROC p = GetProcAddress( hMod, "GetModuleHandle" );
N>HMODULE H = ( *p )( "AAA" );
N>// переслать в свой процесс
N>}
N>
Отлично. давайте теперь сделайте, что обещали, покажите, как Вашу ф-ию легко переместить в другое пространство. Что бы выполнить можно было бы.
Здравствуйте, x64, Вы писали:
СМ>>и Вы нам сейчас расскажете как это делать на С/C++?
x64>Только не говори, что не знаешь что такое базонезависимый код...
знаю, но не знаю как его сделать из нетривиальной ф-ии
как я понимаю, проблемы будут в следующем:
1. убедиться в отсутствии Сшной поддержки (некоторые опции могут порождать вызовы) (это легко)
2. найти размер ф-ии (я не знаю кошерных способов)
3. НЕ вызывать другие свои ф-ии, или их так же надо переносить (с транзитивным замыканием)
4. Не знаю что делать, если используются сегменты .rdata и .data (а в приведенной ф-ии есть .rdata)
5. при вызове импортной ф-ии хотелось бы убедится, что вызов происходит через правильную таблицы (разные компиляторы ее по разному генерят),
СМ>Отлично. давайте теперь сделайте, что обещали, покажите, как Вашу ф-ию легко переместить в другое пространство. Что бы выполнить можно было бы.
Насче того что Я говорил что это просто и что-то обещал — это Ваши фантазии. Я говорил что просто написать саму ф-ию, имея ввиду Windows XP (наверно, надо было это подчеркнуть). А как — смотрите здесь
СМ>>Отлично. давайте теперь сделайте, что обещали, покажите, как Вашу ф-ию легко переместить в другое пространство. Что бы выполнить можно было бы.
N>Насче того что Я говорил что это просто и что-то обещал — это Ваши фантазии. Я говорил что просто написать саму ф-ию, имея ввиду Windows XP (наверно, надо было это подчеркнуть). А как — смотрите здесь
ф-ию тут может каждый написать. А если нет ее прямого внедрения — не интересно совсем. мб я не так понял.
а статья хорошая. Но вы ее не читали. т.к. там, например, прямо написано, что нельзя использовать строки.
Здравствуйте, x64, Вы писали:
СМ>>и Вы нам сейчас расскажете как это делать на С/C++?
x64>Только не говори, что не знаешь что такое базонезависимый код...
Я не знаю, но хочу об этом знать. Что читать?
«Мы с тобой в чудеса не верим, Оттого их у нас не бывает…»
Здравствуйте, meerius, Вы писали:
СМ>>>и Вы нам сейчас расскажете как это делать на С/C++?
x64>>Только не говори, что не знаешь что такое базонезависимый код... M>Я не знаю, но хочу об этом знать. Что читать?
я не знаю, что читать. давно ничего не читаю. Но задача внедрения кода решается один раз в жизни. потом можно забыть об этом и никогда не вспоминать ни задачу, ни все что с ней связано.
Здравствуйте, Сергей Мухин, Вы писали:
СМ>Здравствуйте, meerius, Вы писали:
СМ>>>>и Вы нам сейчас расскажете как это делать на С/C++?
x64>>>Только не говори, что не знаешь что такое базонезависимый код... M>>Я не знаю, но хочу об этом знать. Что читать?
СМ>я не знаю, что читать. давно ничего не читаю. Но задача внедрения кода решается один раз в жизни. потом можно забыть об этом и никогда не вспоминать ни задачу, ни все что с ней связано.
У Рихтера целая глава есть по внедрению кода, но про базонезависимый код он даже не заикнулся
Я даже термин такой не слышал. Думаю, для общего развития не помешает об этом знать.
«Мы с тобой в чудеса не верим, Оттого их у нас не бывает…»
Здравствуйте, meerius, Вы писали:
M>Я даже термин такой не слышал. Думаю, для общего развития не помешает об этом знать.
ну термин немного по другому может звучать, например "перемещаемый код" или как-то еще
общее развитие хорошо, но я сразу вспоминаю Холмса,
- Ну, а как же Аристотель, Жанна д’Арк, Коперник?
— Коперник – знакомая фамилия. Что он сделал?
— Боже мой, так ведь же это он открыл, что Земля вращается вокруг Солнца. Или этот факт Вам тоже неизвестен?
— Но мои глаза говорят мне, что скорее Солнце вращается вокруг Земли. Впрочем, может быть он и прав, ваш, как его, Коперник.
— Простите меня, Холмс… Вы человек острого ума, это сразу видно. Вы превосходно знаете химию… Как же вы не знаете вещей, которые известны каждому школьнику?
— Ну, когда я был школьником, я это знал, а потом основательно забыл. Лишнего хлама мне не нужно.
— Учение Коперника, по-вашему, хлам?!
— Хорошо. Допустим, Земля вращается вокруг Солнца…
— То есть как “допустим”?...
— Хорошо, Земля вращается вокруг Солнца, но мне в моем деле это не пригодится.
я не уверен, что цитата из книги, мб она из фильма. в книге (как я помню) там еще рассуждения идут о чердаке
СМ>общее развитие хорошо, но я сразу вспоминаю Холмса,
СМ>
СМ>- Ну, а как же Аристотель, Жанна д’Арк, Коперник?
СМ>- Коперник – знакомая фамилия. Что он сделал?
СМ>- Боже мой, так ведь же это он открыл, что Земля вращается вокруг Солнца. Или этот факт Вам тоже неизвестен?
СМ>- Но мои глаза говорят мне, что скорее Солнце вращается вокруг Земли. Впрочем, может быть он и прав, ваш, как его, Коперник.
СМ>- Простите меня, Холмс… Вы человек острого ума, это сразу видно. Вы превосходно знаете химию… Как же вы не знаете вещей, которые известны каждому школьнику?
СМ>- Ну, когда я был школьником, я это знал, а потом основательно забыл. Лишнего хлама мне не нужно.
СМ>- Учение Коперника, по-вашему, хлам?!
СМ>- Хорошо. Допустим, Земля вращается вокруг Солнца…
СМ>- То есть как “допустим”?...
СМ>- Хорошо, Земля вращается вокруг Солнца, но мне в моем деле это не пригодится.
Вспоминаю Булгакова
- Я извиняюсь, — заговорил он подозрительно, — вы кто такой будете? Вы — лицо официальное?
— Все это зависит от того, с какой точки зрения смотреть на предмет, все это, Никанор Иванович, условно и зыбко. Сегодня я неофициальное лицо, а завтра, глядишь, официальное! А бывает и наоборот, Никанор Иванович. И еще как бывает!
Рассуждение это ни в какой степени не удовлетворило председателя домоуправления. Будучи по природе вообще подозрительным человеком, он заключил, что разглагольствующий перед ним гражданин — лицо именно не официальное, а пожалуй, и праздное.
Вот жене моей точно не пригодится — она экономист
«Мы с тобой в чудеса не верим, Оттого их у нас не бывает…»