Просмотр полной версии : dll
возникла необходимость написать длл-ку без user32
редствами делфи как я понимаю это не сделать, там рантайм походу всеравно импортирует ГетКейбордТип и МеаджБокс.
как это можно провернуть кто знает.
в длл посути ваще нет нифига одна единственная несложная функция
mira, ну а чисто на асме? ты его вроде знаешь.
я уже лет 7 не компилил ниче на асме хватало всегда инлан на делфе =) даже компилятора нет. кроме асма варианты есть? с делфи не получитса адназначна рантайм там не выкинуть)
mira, ну может на С++ получиться, он вроде меньше пихает в пустое приложение
лано попробую на фасме, качну побырику мб получитса замутить хук =)
инжектор вот как то на MASM (вроде) писал, очень коротко получилось)
include 'win32ax.inc'
.code
start:
invoke CreateProcessA,"L2WalkerWMX.exe",NULL,NULL,NULL,FALSE,0,NULL,NULL,addr sinfo,addr pinfo
invoke Sleep,3000
invoke GetModuleHandle,"kernel32.dll"
invoke GetProcAddress,eax,"LoadLibraryA"
invoke CreateRemoteThread, [pinfo.hProcess], 0, 0, eax, 55CB68h, 0, 0
invoke ExitProcess,0
.end start
pinfo PROCESS_INFORMATION <> ; Это Инфа о процессе
sinfo STARTUPINFO <> ; Это инфа о запуске
инжектор вот как то на MASM (вроде) писал, очень коротко получилось)
include 'win32ax.inc'
.code
start:
invoke CreateProcessA,"L2WalkerWMX.exe",NULL,NULL,NULL,FALSE,0,NULL,NULL,addr sinfo,addr pinfo
invoke Sleep,3000
invoke GetModuleHandle,"kernel32.dll"
invoke GetProcAddress,eax,"LoadLibraryA"
invoke CreateRemoteThread, [pinfo.hProcess], 0, 0, eax, 55CB68h, 0, 0
invoke ExitProcess,0
.end start
pinfo PROCESS_INFORMATION <> ; Это Инфа о процессе
sinfo STARTUPINFO <> ; Это инфа о запуске
у меня дллка должна загрузитса и хукнуть одну функцию в процессе.
Код типа того в ентрипойнте
;до этого все гладко
invoke GetProcАddress, eax, [fname]
mоv [faddr], eax
invoke VirtualProtect,eax, 16,PAGE_EXECUTE_READWRITE,[lastprot]
mov eax, [faddr]
mov [eax], 0ffh ;тут ошибка
mira, а VirtualProtect успешно срабатывает?
Вот его результат я его какраз и непроверил. Поидее он не может сфейлить, если я канечно lastprоt не засунул в какуюнет read only PE- секцию. У меня он в .data вроде.
Ошибка 0xC0000005 В приложении
Добавлено через 6 минут
Ну понятно функция из кернел32 так как другие длл в ентрипойнте микрософт предостерегает юзать, типа работать то будет но потом при определенном сложении созвездий и фазе луны будут возникать ошибки непонятной природы и будете их полгода ловить ниче не понимая.
Добавлено через 1 час 21 минуту
LastError после ВПротекта - invalid access to memory location
ФАСМ такой ФАСМ
ФАСМ такой ФАСМруки такие руки)))
ЗЫ тока без обид, на правах шутки
канечно руки мы ведь сначало делаем а если чтото не получаетса ищем примеры и читаем матчасть Ж)
указатели неверно передавал в параметры
ща все норм ставит хук отрабатывает и снимает его. 3кб получилась
ниче лишнего не грузит, тока 5 используемых функций кернел32
vBulletin® v3.6.11, Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot