|
You last visited: Today at 22:33
Advertisement
DLL-Injector?!
Discussion on DLL-Injector?! within the General Coding forum part of the Coders Den category.
04/13/2006, 12:28
|
#1
|
elite*gold: 20
Join Date: Feb 2006
Posts: 3,174
Received Thanks: 1,152
|
Hi!!
Im searchin for a DLL injector to bypass GameGuard (Lineage2).
I want to execute eg. WPE or so, u know?^^
First i wanna know if its possible to bypass GG with DLL-Injection?!
And then:
which programms do u use??(with link or uploaded file - if possible)
THX!!!
Deutsch:
Ich such nach nem DLL injector um Gameguard zu umgehen (in LIneage2), damit ich programme wie WPE starten kann, ohne dass das game abstürzt.
Zuerst hätt ich gehn gewusst, ob das überhaupt geht^^
und dann:
Welches Proggi benutzt zur DLL Injection?? (mit Link oder hier im Forum hochgeladen)
VIELEN DANK!!!
|
|
|
04/13/2006, 18:14
|
#2
|
elite*gold: 0
Join Date: Mar 2006
Posts: 208
Received Thanks: 0
|
du sagst du hast coding kenntnisse, aber fragst nach nem "DLL Injectior"?
1.) Per DLL Injection is das denk ich mal nicht möglich
2.) Es gibt keine "DLL Injector" bei dene man einfach sagt "hier, injecte mal die DLL"
In der L2 Sektion gabs dochn bypass, oder nich?
|
|
|
04/13/2006, 22:00
|
#3
|
elite*gold: 0
Join Date: Aug 2005
Posts: 443
Received Thanks: 72
|
warum sollte es keinen Geben? der Injector an sich ist sehr leicht zu schreiben.....vielleicht 10 Zeilen code + bisschen was drumzu damits schön aussieht..... der hauptteil ist ja dann immer noch die dll
|
|
|
04/14/2006, 00:20
|
#4
|
elite*gold: 0
Join Date: Aug 2005
Posts: 896
Received Thanks: 334
|
Quote:
Originally posted by neji@Apr 13 2006, 22:00
warum sollte es keinen Geben? der Injector an sich ist sehr leicht zu schreiben.....vielleicht 10 Zeilen code + bisschen was drumzu damits schön aussieht..... der hauptteil ist ja dann immer noch die dll
|
Hmm, 10 Zeilen Code ?
Du musst speicher im angezielten Prozess allozieren, du musst Code in diesen Speicher reinschreiben,
du musst das Programm dazu bekommen deinen code auszuführen und dann musst du den IAT umschreiben...
Und wenn du das sowohl auf win 9x als auch 2k/xp laufen lassen willst musst du natürlich jeweils unterschiedlichen code schreiben...
Ich gebe zu, ich habe es bisher noch nicht gemacht, aber ich glaube trotzdem, dass 10 Zeilen etwas arg optimistisch ist.
|
|
|
04/14/2006, 02:47
|
#5
|
elite*gold: 0
Join Date: Mar 2006
Posts: 208
Received Thanks: 0
|
Quote:
Originally posted by mr.rattlz@Apr 14 2006, 00:20
Du musst speicher im angezielten Prozess allozieren
|
Allein desshalb wird es keinen "universal Injector" geben
|
|
|
04/15/2006, 14:32
|
#6
|
elite*gold: 20
Join Date: Jan 2006
Posts: 539
Received Thanks: 228
|
Und warum nicht?
|
|
|
04/15/2006, 16:27
|
#7
|
elite*gold: 0
Join Date: Mar 2006
Posts: 208
Received Thanks: 0
|
sagte ich doch bereits?
|
|
|
04/18/2006, 09:09
|
#8
|
elite*gold: 0
Join Date: Aug 2005
Posts: 443
Received Thanks: 72
|
nur rein um ne DLL in einem fremden Prozess zu laden und auszuführen braucht man nicht mehr Zeilen.
Klar, will man alles für 9x und NT lauffähig haben und wirklich Threadsicher machen , macht das natürlich etwas mehr Aufwand.
Aber wenn man sich einen universelle Library dafür schreibt, macht man sich diese Arbeit auch nur einmal und hat es zukünftig nur noch mit wenigen Zeilen Code zu tun
im Prinzip brauchst du nur etwa so etwas :
Code:
temp := VirtualAllocEX(pid,neededmemory);
if target <> nil then
begin
temp := virtualalloc(nil,neededmemory,MEM_COMMIT or MEM_RESERVE, PAGE_EXECUTE_READWRITE);
if temp <> nil then
begin
CopyMemory(.....); //halt den Call für LoadLibraryA an den allocierten Speicher kopieren
WriteProcessMemory(......) // und anschließend in den Target Process schreiben.
end;
end;
EDIT :
hab mal was gebastelt...könnts ja mal testen. Sollte unter 9x und NT funktionieren (kommt natürlich noch auf den Code in der DLL an, die ihr injected)
zum Testen sind 2 dll's dabei, einmal ne testdll.dll, die nach dem injecten eine messagebox aufpoppen lässt mit dem Namen des Prozesses in dem die DLL grad inejcted ist und eine textouthook.dll die, wie der Name schon sagt, die Api TextOut Hooked und die Anzeigefarbe ändert...einfach testen, ihr seht dann schon was ich mein.
Zeilen hab ich jetzt nicht gezählt, hat aber ca 20 Minuten gedauert.
|
|
|
04/20/2006, 18:31
|
#9
|
elite*gold: 0
Join Date: Mar 2006
Posts: 220
Received Thanks: 3
|
pack wenigstens den source dazu >_> 2 librarys und ne app :> das ja wie als wenn ich von myg0t nen cs bot nutze den die mir als neuling empfehlen xD
|
|
|
04/21/2006, 04:56
|
#10
|
elite*gold: 0
Join Date: Apr 2006
Posts: 1
Received Thanks: 0
|
Der tät mich ehrlich gesagt auch sehr interessieren...
Wär cool wenn du ihn noch dazu tun könntest
|
|
|
04/21/2006, 08:46
|
#11
|
elite*gold: 0
Join Date: Aug 2005
Posts: 443
Received Thanks: 72
|
ich hab das in 1000e Units ausgelagert, hab keine Lust das alles wieder zusammen zu friemeln
aber hier mal die wichtigeste Funktion , was das injecten angeht
Code:
function InjectLibrary(dwProcessID: Cardinal; pLibraryName: PChar): Pointer; stdcall;
{Temporary code which will be injected in the target process.}
procedure AsmTempBegin; assembler;
asm
PUSH $12345678 // PUSH offset library name
CALL DWORD PTR [$00000000] // CALL LoadLibraryA
RET
end;
procedure AsmTempEnd; assembler; begin end;
var
dwProcessID2: DWord;
dwBytesWritten: DWord;
dwAsmSize: DWord;
dwMemoryNeeded: DWord;
pMemoryTarget: Pointer;
pMemoryTemp: Pointer;
pLoadLibraryA: Pointer;
nChange: PDWord;
s: String;
Begin
Result := nil;
pLoadLibraryA := GetProcAddress(LoadLibrary('kernel32.dll'), 'LoadLibraryA');
if (pLoadLibraryA = nil) then
Exit; {Cant get offset of API LoadLibraryA.}
dwProcessID2 := OpenProcess(PROCESS_ALL_ACCESS, False, dwProcessID);
if (dwProcessID2 = 0) then
Exit; {Cant open the target process with all access rights.}
s := pLibraryName;
dwAsmSize := DWord(@AsmTempEnd) - DWord(@AsmTempBegin);
dwMemoryNeeded := DWord(Length(s)) + 1 + dwAsmSize + 4;
pMemoryTarget := VirtualAllocExX(dwProcessID2, dwMemoryNeeded);
if (pMemoryTarget = nil) then
begin
CloseHandle(dwProcessID2);
Exit; {Cant get memory for our injectioncode inside the target process.}
end;
pMemoryTemp := VirtualAlloc(nil, dwMemoryNeeded, MEM_COMMIT or MEM_RESERVE, PAGE_EXECUTE_READWRITE);
if (pMemoryTemp = nil) then
begin
VirtualFreeExX(dwProcessID2,pMemoryTarget,dwMemoryNeeded,MEM_RELEASE);
CloseHandle(dwProcessID2);
Exit; {Cant get memory in our process for temporary used memory.}
end;
CopyMemory(pMemoryTemp, @AsmTempBegin, dwAsmSize);
{Setting the correct Adresses for the inject Code.}
nchange := Pointer(DWord(pMemoryTemp) + 1);
nchange^ := DWord(pMemoryTarget) + dwAsmSize + 4;
nchange := Pointer(DWord(pMemoryTemp) + 7);
nchange^ := DWord(pMemoryTarget) + dwAsmSize;
nchange := Pointer(DWord(pMemoryTemp) + dwAsmSize);
nchange^ := DWord(pLoadLibraryA);
{Writing the LoadLibraryA code from temporary memory into target memory.
If success then create a thread on target memory.
Return the address of the target memory.}
CopyMemory(Pointer(Cardinal(pMemoryTemp) + dwAsmSize + 4), @S[1], Length(S));
If WriteProcessMemory(dwProcessID2, pMemoryTarget, pMemoryTemp, dwMemoryNeeded, dwBytesWritten) And
CreateRemoteThreadX(dwProcessID, pMemoryTarget) Then
Result := pMemoryTarget;
VirtualFree(pMemoryTemp, dwMemoryNeeded, MEM_DECOMMIT);
CloseHandle(dwProcessID2);
end;
|
|
|
04/21/2006, 17:26
|
#12
|
elite*gold: 0
Join Date: Apr 2006
Posts: 6
Received Thanks: 0
|
danke
|
|
|
04/22/2006, 02:22
|
#13
|
elite*gold: 0
Join Date: Apr 2006
Posts: 6
Received Thanks: 0
|
Hab mich jetzt durchgearbeitet und es halbwegs verstanden... danke nochmal
hast du evtl noch den dll code? wär echt super wenn du den auch noch posten könntest
|
|
|
04/24/2006, 16:17
|
#14
|
elite*gold: 0
Join Date: Aug 2005
Posts: 443
Received Thanks: 72
|
hab die dll's nichtmehr, wie gesagt, hatte die noch rumliegen....aber die testdll.dll wird in etwa so ausgesehen haben :
Code:
library testdll
uses
SysUtils,
windows,
Classes;
{$R *.res}
var
cAppPath: array [0..MAX_PATH] of char;
szAppName : String;
begin
GetModuleFileName(0, @cAppPath, SizeOf(cAppPath));
szAppName := ExtractFileName(cAppPath);
MessageBoxA(0,PChar(szAppName),'',MB_OK);
end.
|
|
|
04/24/2006, 17:14
|
#15
|
elite*gold: 0
Join Date: Aug 2005
Posts: 443
Received Thanks: 72
|
wohl eher !?
|
|
|
Similar Threads
|
Suche Funktioniernden Injector (Search for a working injector) CA EU
09/08/2010 - Combat Arms - 13 Replies
Kann Jemand einen Link von einem Funktionierenden Injector geben außer PerX suche schon ewig aba find keinen
Can somebody give me a link for a working Injector i search every time but still nothing found^^ pleas give link but no perx
sorry for bad english thx schon ma im vorraus
|
Xinject-Multi DLL.Injector {Better then OMFGZ DLL Injector.} Rep+Thank.(leeach)
01/09/2010 - Soldier Front Hacks, Bots, Cheats & Exploits - 5 Replies
Hi Welcome to X1nject The Best Multi DLL injector.
Xinject-Multi DLL.Injector {Better then OMFGZ DLL Injector.}
What this dose?
Injects Any "X" amount off DLL'S into a Program.
Stable+Trust Worthy.
Easily Inject Your Faviroute Hacks.
Steps:Click Here For Mediafire Download Link + GzP Attachment Availble
|
All times are GMT +2. The time now is 22:33.
|
|