![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
drZmeu |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 22.11.2006 Репутация: нет Всего: 1 |
Всем добрый вечер есть трабл =
![]() Вот код:
А dll из книжки Рихтера 'заногу его б =((' Вобшем с его примера dll "это DLL, которая, будучи внедрена в адресное пространство процесса, выдает список всех DLL, используемых этим процессом. " Если я узаю его утилиту InjLib то всё ОК а если свою вроде всё норм только ничего непроисходит и невыводится почуму ? Как исправить? --------------------
[code=html]<table bgcolor='#0' width='69'><tr align='center' bgcolor='#0'><td><font size='6' face='cursive' color='#ffffff'><b>A</b></font></td></tr><tr align="center" bgcolor="#0">[/code] |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 5 Всего: 211 |
поставь где нибудь std::cout на szLibFile и pszLibFileRemote. У меня сомнения что path неправильный..
|
|||
|
||||
criz |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 13.2.2008 Репутация: нет Всего: нет |
Товарищи, помогите понять где ошибка:
test.dll:
test.c
ГетЛастЕррор выдает 1114ую ошибку. Совет от МискроСофта не помог, сделал все как они писали. Если я делаю просто LoadLibrary, то все гут... З.Ы. может я теорию неправильно понял: -- открываем процесс -- выделяем память в открытом процессе -- пишем данные в выделенную память -- узнаем адрес LoadLibrary в Kernel32 -- Создаем поток.... верно? ![]() |
||||
|
|||||
PPS05 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 262 Регистрация: 6.11.2005 Где: Беларусь, Минск Репутация: 1 Всего: 7 |
-------------------- Ушел с форума и не вернулся. |
|||
|
||||
criz |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 13.2.2008 Репутация: нет Всего: нет |
Перед выходом из функции inj(). Трасер нигде не "застревает". Оля(OllyDBG) тоже показывает -- "error_dll_init_failed"
|
||||
|
|||||
PPS05 |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 262 Регистрация: 6.11.2005 Где: Беларусь, Минск Репутация: 1 Всего: 7 |
А ошибка вот где: строка 54 - ваши действия: вы нашли адрес LoadLibraryW и и создаете поток, который начинает выполнение как раз в начале этой функции. По-русски: вы вызываете LoadLibraryW без параметров, тогда логично, что ошибка "error_dll_init_failed" и еще чудо, что удаленный процесс не падает: два dword'а то снимаются со стека...
Если ты хочешь подрузить dll от имени другого процесса, то в psRemFile должен фактически загнать машинный код, который произведет данные действия. Где-то на rsdn.ru была статья "Перехват API вызовов на Windows NT" (или что-то такое). Там есть этот способ внедрения. Сам когда-то писал такое, вот исходник, но, думаю, разобраться в нем не так-то просто. На всякий случай выложу:
Т.е. cti будет содержать такой код:
Добавлено через 40 секунд P.S. Здесь много непонятно, поэтому спрашивайте. ![]() -------------------- Ушел с форума и не вернулся. |
||||
|
|||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 39 Всего: 146 |
Ошибок море: проблемы с юникодом, незакрытые дескрипторы и пр. Перечислять долго, надеюсь сам разберёшся.
Это сообщение отредактировал(а) 586 - 14.2.2008, 18:11 |
|||
|
||||
criz |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 13.2.2008 Репутация: нет Всего: нет |
![]() ![]() ![]() ![]() Вспомнил слова Рихтера: "Если Вы плаваете в одной из этих тем, то....", там как раз про юникод было)))) Кроме работы с юникодом, я забыл про освобождение ![]() 586, спасибо.
тут вроде надо знать основы асм-а(push, call, etc...)? ![]() Добавлено через 3 минуты и 7 секунд Я ж вроде указываю в качестве параметра имя длл-ки....или я не так понял? |
|||
|
||||
PPS05 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 262 Регистрация: 6.11.2005 Где: Беларусь, Минск Репутация: 1 Всего: 7 |
Строка 47: pThRtn принимает значение адреса LoadLibraryW Строка 54: pThRtn указывается как стартовый адрес потока. Таким образом, функция внезапно получает управление, при этом в стеке нет ни адреса возврата, ни параметров... (поток только-только запущен). -------------------- Ушел с форума и не вернулся. |
|||
|
||||
criz |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 13.2.2008 Репутация: нет Всего: нет |
||||
|
||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 39 Всего: 146 |
На низком уровне функция LoadLibrary соответствует функции типа THREAD_START_ROUTINE. По соглашению вызова они тоже совпадают (__stdcall). |
|||
|
||||
PPS05 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 262 Регистрация: 6.11.2005 Где: Беларусь, Минск Репутация: 1 Всего: 7 |
Но "error_dll_init_failed" мы-таки получим!!! ![]() -------------------- Ушел с форума и не вернулся. |
|||
|
||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 39 Всего: 146 |
||||
|
||||
PPS05 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 262 Регистрация: 6.11.2005 Где: Беларусь, Минск Репутация: 1 Всего: 7 |
![]() -------------------- Ушел с форума и не вернулся. |
|||
|
||||
criz |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 13.2.2008 Репутация: нет Всего: нет |
удалено мной....
![]() Это сообщение отредактировал(а) criz - 20.2.2008, 17:51 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |