|
You last visited: Today at 14:23
Advertisement
Wie funktioniert ein Injector
Discussion on Wie funktioniert ein Injector within the General Coding forum part of the Coders Den category.
08/04/2011, 12:07
|
#1
|
elite*gold: 0
Join Date: Jul 2011
Posts: 20
Received Thanks: 3
|
Wie funktioniert ein Injector
Hallo liebe Community ich wollte mir mal selber einen Injector programmieren
habe auch schon ein Buch und bin auch fortgeschritten
Jetzt ist aber die Frage wie funktioniert ein? Injector was passiert wenn der Injector die DLL(Dynamic-Link-Library) Injiziert?
Aber jetzt mal das schwerste wie wird denn sowas programmiert
Ja natürlich will ich erstma wissen wie er sie injiziert und wie er es so macht das das HackShield dabei nichts bemerkt???
Ich weis das er die DLL in den Prozess einfügt die man ausgewählt hat, aber wie macht man soetwas
1. Wie ist der Aufbau
2. Mit welcher Sprache könnte man soetwas programmieren(Natürlich mit C++)
3. Warum bemerkt das Hackshield nichts?
Freue mich auf jede Antwort
|
|
|
08/04/2011, 12:29
|
#2
|
elite*gold: 0
Join Date: Jul 2011
Posts: 995
Received Thanks: 471
|
Digga mach nicht dauern Topics auf die schon 1000 mal existieren. SUCH einfach mal mit der Sufu. Der einfachste Weg ist wohl mit Visual Basic.
Und nochwas..
Natürlich merkt Hackshield das trololol. Versuch doch mal etwas zu injecten = DC. Dafür benötigt man einen Bypass, aber ein Bypass ist nicht Public und niemand wird ihn dir geben + Versuch nicht einen Hack zu machen wenn du keine Ahnung vom programmieren hast.
MfG
|
|
|
08/04/2011, 13:10
|
#3
|
elite*gold: 0
Join Date: Jul 2009
Posts: 103
Received Thanks: 87
|
OHO Dr. Invisible warum so ruppig er fragt doch nur .But back to topic:
1.1Zuerst modifizierst du deine Rechte ,indem du bestimmte Token veränderst dies machst du über die Windows API Funktion OpenProcessToken.
1.2 Dann öffnest du den Prozess via OpenProcess
1.3 Danach schaffst du über VirtualAllocEx freien Speicher für den Pfad zu der DLL die du ,via load library laden willst.
1.4.Du erstellst über CreateRemothThread einen Thread der ,wie unten erwähnt, die LoadLibrary Funktion ausführt und deine DLL lädt.
1.5 Dann ,wenn du fertig bist, benutzt du VirtualFreeEx um den Speicher wieder freizugeben und closehandle um dein Handle zu schließen.
2.C++ , was soll ich dazu als Sprach Chauvinist schon sagen ?!
3.Dr Invisible (ich hab keine Ahnung von dem ganzen Scheiss)
4. Es heißt don't forget nicht don't forgot .
5.Source Code (von  ) :
Quote:
#include <string>
#include <windows.h>
#define MAXWAIT 10000
bool insertDll(DWORD procID, std::string dll)
{
//Find the address of the LoadLibrary api, luckily for us, it is loaded in the same address for every process
HMODULE hLocKernel32 = GetModuleHandle("Kernel32");
FARPROC hLocLoadLibrary = GetProcAddress(hLocKernel32, "LoadLibraryA");
//Adjust token privileges to open system processes
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
if(OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
{
LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, 0, &tkp, sizeof(tkp), NULL, NULL);
}
//Open the process with all access
HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, procID);
//Allocate memory to hold the path to the Dll File in the process's memory
dll += '\0';
LPVOID hRemoteMem = VirtualAllocEx(hProc, NULL, dll.size(), MEM_COMMIT, PAGE_READWRITE);
//Write the path to the Dll File in the location just created
DWORD numBytesWritten;
WriteProcessMemory(hProc, hRemoteMem, dll.c_str(), dll.size(), &numBytesWritten);
//Create a remote thread that starts begins at the LoadLibrary function and is passed are memory pointer
HANDLE hRemoteThread = CreateRemoteThread(hProc, NULL, 0, (LPTHREAD_START_ROUTINE)hLocLoadLibrary, hRemoteMem, 0, NULL);
cout << hRemoteThread << endl;
//Wait for the thread to finish
bool res = false;
if (hRemoteThread)
res = (bool)WaitForSingleObject(hRemoteThread, MAXWAIT) != WAIT_TIMEOUT;
//Free the memory created on the other process
VirtualFreeEx(hProc, hRemoteMem, dll.size(), MEM_RELEASE);
//Release the handle to the other process
CloseHandle(hProc);
return res;
}
|
|
|
|
08/04/2011, 17:08
|
#4
|
elite*gold: 0
Join Date: Mar 2008
Posts: 747
Received Thanks: 245
|
Quote:
Originally Posted by cooler7878
OHO Dr. Invisible warum so ruppig er fragt doch nur .But back to topic:
1.1Zuerst modifizierst du deine Rechte ,indem du bestimmte Token veränderst dies machst du über die Windows API Funktion OpenProcessToken.
1.2 Dann öffnest du den Prozess via OpenProcess
1.3 Danach schaffst du über VirtualAllocEx freien Speicher damit deine DLL auch genug Speicher im Zielprozess hat.
1.4 Dann injizierst du deine DLL über mit der CreateRemothThread Funktion.
1.5 Dann ,wenn du fertig bist, benutzt du VirtualFreeEx um den Speicher wieder freizugeben und closehandle um dein Handle zu schließen.
2.C++ , was soll ich dazu als Sprach Chauvinist schon sagen ?!
3.Dr Invisible (ich hab keine Ahnung von dem ganzen Scheiss)
4. Es heißt don't forget nicht don't forgot .
|
Also was du da geschrieben hast ist ziemlicher quatsch.
Ansich gibt es mehrere möglichkeiten eine dll zu injectieren die häufigste ist die per CreateRemoteThreat.
Dafür musst du einfach dir das Processhandle holen und dir mit OpenProcess die benötigten rechte Verschaffen und dan kannst du per CreateRemoteThread LoadLibrary im Fremden prozess aufrufen das dan die dll lädt.
Alles genau im Detai zu beschreiben habe aber keine lust zu da es im i-net und auch hier auf epvp reichlich tutorials und beispielcodes dazu gibt.
|
|
|
08/04/2011, 18:01
|
#5
|
elite*gold: 0
Join Date: Jul 2009
Posts: 103
Received Thanks: 87
|
Stimmt sorry hatte da einen Beitrag nur überflogen und naja dann kommt sowas raus danke ,dass du mich auf den/die Fehler aufmerksam gemacht hast aber errare humanum est.Ich habe den Beitrag editiert.
|
|
|
08/04/2011, 20:48
|
#6
|
elite*gold: 0
Join Date: Jul 2011
Posts: 995
Received Thanks: 471
|
Ich find "ruppig" so süß
Warum ich so bin? Naja der hat in den letzten 2 Tagen 10 Threads eröffnet, welche aber alle schon 300000000000 mal existieren, deswegen!.
|
|
|
Similar Threads
|
Bei Wolfteam Funktioniert kein Injector
07/29/2011 - Wolfteam - 2 Replies
Hallo Leute,
wie der Titel schon sagt, kann ich keine dll Injekten.
Also ich bekomme jedesmal einen Error.
Kann mir villeicht irgendwer helfen???
Mfg
|
Suche Injector der funktioniert!!!!
02/06/2010 - General Coding - 8 Replies
Hey leute habe ein Problem suche einn bf heroes dll injector finde einfach keinen und wenn ich einen finde dann kann aus winrar entweder nicht die datei gestartet werde oder auf den desktop gezogen werden =(
habe vista 64 bit version und norton 2010 ka was ich falsch mache
|
All times are GMT +1. The time now is 14:25.
|
|