Показать сообщение отдельно
Старый 08.02.2013, 20:48   #70
Местный
 
Аватар для St1mul
 
Регистрация: 03.12.2011
Сообщений: 133
Сказал Спасибо: 63
Имеет 19 спасибок в 16 сообщенях
St1mul пока неопределено
По умолчанию

Ни фига не получается, решил сделать немного по-другому:
схема такова: 1)хук -> 2)поиск потоков текущего -> 3)заставляем поток engine или core выполнить наши команды -> 4) выходим из хук процедуры
Застрял на 2, не могу получить список потоков системы, в отладчике постоянно пишет после Thread32First - Error_bad_length
FASM:
Код:
format PE GUI 4.0 DLL
entry DllEntryPoint
include 'win32a.inc'
struct PROCESSENTRY32
dwSize                  dd ?
cntUsage                dd ?
th32ProcessID           dd ?
th32DefaultHeapID       dd ?
th32ModuleID            dd ?
cntThreads              dd ?
th32ParentProcessID     dd ?
pcPriClassBase          dd ?
dwFlags                 dd ?
szExeFile               rb 260h
ends
section '.data' data readable writeable
Handle          dd ?
DllName         db 'One.dll',0
msg             db 'Hook works!',0
msg1            db 'Nice',0
msg3            db 'bad',0
pe32            PROCESSENTRY32 ?

section '.code' code readable executable
proc DllEntryPoint hinstDLL,fdwReason,lpvReserved
        invoke DisableThreadLibraryCalls,[hinstDLL]
        invoke CreateToolhelp32Snapshot,8,0
        mov [Handle],eax
        mov eax,sizeof.PROCESSENTRY32
        mov [pe32.dwSize], eax
        invoke Thread32First,[Handle],pe32 ; - здесь проблемка
        cmp eax,0 ; проверка результата
        jz .Figovo
        mov eax,1
        ret
.Figovo:
        invoke MessageBoxA,0,msg3,msg3,MB_OK
        mov eax,1
        ret
endp
MSDN CreateToolhelp32Snapshot
Попутно смотрел
1) Руткит
2) Аналог то, что я щас пишу
Кто сталкивался с проблемкой?

Последний раз редактировалось St1mul, 08.02.2013 в 20:59.
St1mul вне форума   Ответить с цитированием