Направете своя собствена инжектор

Изходният код dll'ki и инжектор в един архив: изтегляне

По този начин, ние разполагаме с набор, който позволява лесно и естествено да проникне в процесите на други хора. Също така, тя винаги може да бъде променен, за да се поберат на целите си и да използвате хакерски програми на различни отпадъци, които е доказана и в предишните постове. Трябва да се отбележи, че въвеждането на процесите на .NET имат свои собствени проблеми, които са извън обхвата на тази статия.

не разбирам nifiga първи път), ще трябва да се научат) тези средства, които не правят повече, за да инжектирате?

Воля. Ние просто споделен опит, знания и източника, ако някой друг иска да се опитаме малко.

каква прог (в какви езици) могат да бъдат разбити? как да се определи точното прог? =)

Всякакви програми. WinXP, например, можете да хакнете - за това в началото на кода на инжектор Попълнете #include

Всичко това konechno добро, но по-добре се автоматизира protsess.Dlya на това, което не би се къпят с пролог да вратовръзка Disassembler дължини и буфер при съхраняват байта да се разпределят по време на играта си, а след това пуснати на скок до края на funktsii.Tak същата проверка на капани вече са инсталирани и в случай на какво mapit libu от диска и от там да вземе оригиналния bayty.Libo да се облича и да се свали, за да се намеси, отново облече и да свали отново.

Напълно съм съгласен, така че човек може да хване по принцип всяка функция от дължината на пет байта (или малко повече от пет, ако инструкциите в първите 5 не се вместват). Ако имате време, аз се опитвам да се подобри макро, така че можете да свържете всяка функция.

Тук ми е "универсален изпълнение"

Proc SetHook ModuleName, OldFuncAdr, NewFuncAdr, Стария
местните жители
Базова карта дд 0
fApi дд 0
OldProtect дд?
JmpGate дд?
Endl
pushad
Mov Еди, [OldFuncAdr]
Mov Еди, [Еди]
Mov [fApi] Еди
тласък EDI
поп ESI
XOR ЕСх, ЕСх

@@:
CMP ECx, 5
JNB @ 1
обадете Catchy32; Disassembler дължини
CMP EAX, 0
jnz @ 2
JMP @ 3
@ 2:
добави ESI, EAX
добави ЕСх, EAX
JMP @b
@ 1:
тласък ЕСх
Mov EBX, ЕСх
добави EBX, 5
позове VirtualAlloc, 0, EBX, MEM_COMMIT или MEM_RESERVE, PAGE_EXECUTE_READWRITE
тест EAX, EAX
JE @ 3
Mov [JmpGate] EAX
CMP [ModuleName] 0
JE @ 5
CMP байт [Еди] 0e9h
JE @f
CMP байт [Еди] 0e8h
JNE @ 5
@@:
позове GetModuleHandle [ModuleName]
CMP EAX, 0
JE @ 3
Mov ЕСх, EDI
под ЕСх, EAX
LEA EAX, [fApi]
LEA EDX, [базова карта]
stdcall MapDll [ModuleName] ECx, EAX, EDX
CMP [базова карта] 0
JE @ 3
@ 5:
поп ЕСх
Mov EAX, [JmpGate]
stdcall MemSet, EAX, EBX, 90h
stdcall MemCpy, EAX, [fApi] ECx
Mov байт [EAX + ECx] 0e9h
под ESI, EAX
под ESI, ЕСх
под ESI, 5
Mov [EAX + ECx + 1], ESI
LEA EBX [OldProtect]
позове VirtualProtect, EDI, 5, PAGE_EXECUTE_READWRITE, EBX
Mov EAX, [NewFuncAdr]
под EAX, EDI
под EAX, 5
Mov байт [Еди] 0e9h
Mov [Еди + 1], EAX
позове VirtualProtect Еди, 5, [OldProtect] EBX
Mov EAX, [Old]
Mov ECx, [JmpGate]
Mov [EAX] ECx
CMP [базова карта] 0
JE @ 3

позове UnmapViewOfFile [базова карта]
@ 3:
popad
кисна
endp

и Th общо с всичко това? къде да се бутам и как да се спаси?

И аз имам работи само ако използвате VirtualProtectEx (на Windows7). В противен случай, всичко е наред. Много благодаря за страхотен сайт.

АКО have_prologue EQ 0
Mov CX, дума PTR [EAX]
Mov @CatStr (функции, _prologue1), CX
Mov CI, байт PTR [EAX + 2]
Mov @CatStr (функции, _prologue2), CI
Mov CX, дума PTR [EAX + 3]
Mov @CatStr (функции, _prologue3), CX
ENDIF

Предполагам, EAX: PTR JUMPNEAR
Mov [EAX] .opcd, 0e9h
Mov ЕСх, офсет hook_label
под ECx, @ CatStr (функции, _hook)
под ECx, 5
Mov [EAX] .reladdr, ECx
Предполагам, EAX: нищо

Ако разбирам правилно:
с една опция
1. Отворете процес, да се франчайз
2. DLL на запис в паметта
3. с памет е поставена скок на DLL
вариант две
Този метод се използва в enbsiries (графична настройка за игри)
Заместник DLL сама.