Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Внедрение dll в запушенный процесс

Ответить
Настройки темы
Внедрение dll в запушенный процесс

Аватара для .:TimoXa:.

Пользователь


Сообщения: 77
Благодарности: 20


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: .:TimoXa:.
Дата: 06-03-2009
Вопрос заключается в том как получить информацию с внедренной дллки. Облазил весь форум автоита но так и не нашел ответ на свой вопрос ((
Информация:
Внедрение ДДЛ произвожу по методу проекта ModuleSpy

Функции самой ДЛЛ(по данным IDA ):
-экспорт - cp 0040828C 1
- SetHK 0040869C 2
- HookProc 0040867C 3
- DllEntryPoint 00408FB0
-импорт Стандатные функции kernel32.dll и user32.dll
может кто подскажет что нужно сделать...
Код: Выделить весь код
Func _InjectModule() Local $err = 0, $hModule = 0 Local $procidx = _GUICtrlListView_GetSelectedIndices($hLV1) If $procidx == "" Then $err = 1 Else Local $dllpath = FileOpenDialog("Inject Module into " & $g_aProcs[Number($procidx)][1] & "...", @ScriptDir, "Modules (*.dll)", 3, "", $gui) If @error Then $err = 2 Else If StringRight($dllpath, 4) <> ".dll" Then $err = 3 Else Local $hProcess = _GetProcHandle($g_aProcs[Number($procidx)][0]) If Not $hProcess Then $err = 4 Else ; allocate memory in remote process for dll path Local $pMem = _MemVirtualAllocEx($hProcess, 0, 260, $MEM_COMMIT, $PAGE_READWRITE) If Not $pMem Then $err = 5 Else ; write dll path to remote process Local $ret = DllCall("kernel32.dll", "int", "WriteProcessMemory", "ptr", $hProcess, "ptr", $pMem, "str", $dllpath, "uint", 260, "uint*", 0) If $ret[5] <> 260 Then $err = 6 Else ; get LoadLibraryA address and call the remote thread with a pointer to the dll path Local $kernelidx = _ArraySearch($g_aMods, "kernel32.dll", 0, 0, 0, 0, 1, 1) If $kernelidx == -1 Then $err = 7 Else Local $LoadLibraryA = $g_aMods[$kernelidx][0] + $g_LoadLibraryA ; add offset to base address Global $ret $ret = DllCall("kernel32.dll", "ptr", "CreateRemoteThread", "ptr", $hProcess, "ptr", 0, "uint", 0, "ptr", $LoadLibraryA, "ptr", $pMem, "dword", 0, "ptr", 0) $put = DllCall($ret[5], 'int', 'ФУНКЦИЯ', 'str', ???ЕЩЕ ЧТО-ТО???) If Not $ret[0] Then $err = 8 ; create remote thread failed Else Local $hThread = $ret[0] _WinAPI_WaitForSingleObject($hThread) ; wait for thread to finish ; get thread return value, which is the HMODULE (base address) of the injected dll $ret = DllCall("kernel32.dll", "int", "GetExitCodeThread", "ptr", $hThread, "dword*", 0) $hModule = Ptr($ret[2]) _ArrayDisplay( $ret, "est") _WinAPI_CloseHandle($hThread) ; close thread handle EndIf EndIf EndIf _MemVirtualFreeEx($hProcess, $pMem, 260, $MEM_DECOMMIT) ; release memory for dll path EndIf _WinAPI_CloseHandle($hProcess) EndIf EndIf EndIf EndIf _RefreshMods() _ArrayDisplay( $hThread, "est") Local $blabla = DLLCall($LoadLibraryA,"int", "cp","hwnd",$hProcess, "ptr", 0, "uint", 0) MsgBox(0,"ggs", $blabla) Return SetError($err, 0, $hModule) EndFunc
Синим выделил место куда я пытаюсь вставить вывод значения...но не чего не выходит...значение $put всегда 0 (((

Отправлено: 11:17, 06-03-2009

 

Аватара для Creat0R

Must AutoIt


Moderator


Сообщения: 3054
Благодарности: 1008

Профиль | Сайт | Отправить PM | Цитировать


.:TimoXa:.,
Почему название темы на английском? Это вроде русскоязычный форум.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

Русское сообщество AutoIt | CreatoR's Lab | Opera AC Community


Отправлено: 15:41, 06-03-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для .:TimoXa:.

Пользователь


Сообщения: 77
Благодарности: 20

Профиль | Отправить PM | Цитировать


Испарвил...хотел для большей понятности...видимо вышло на оборот...

Отправлено: 00:27, 07-03-2009 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Внедрение dll в запушенный процесс

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Delphi - Delphi | Внедрение компонента в компонент XCodeR Программирование и базы данных 6 08-10-2010 12:29
внедрение IPSec AlergeN Microsoft Windows NT/2000/2003 5 23-12-2009 13:28
Инфо - внедрение сервис паков в дистрибутив win98se Vovanchik Наборы обновлений для Windows XP/2003/Windows 7 108 25-05-2009 21:51
Разное - [решено] dwmapi.dll; mpr.dll; shlwapi.dll Reset5 Microsoft Windows 2000/XP 2 14-06-2008 16:31
Внедрение Java script в PHP BYBY Вебмастеру 2 25-11-2006 03:09




 
Переход