Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung VB for Applications

Injection

Mitglied: PL-q

PL-q (Level 1) - Jetzt verbinden

25.12.2008, aktualisiert 21:32 Uhr, 4220 Aufrufe, 4 Kommentare

Hallo Leute, ich möchte in eine ganz normal EXE(z. B.: notepad.exe) eine Dll injectieren. Das funkt bis jetzt wunderbar mit diesem Code:

Private Declare Function GetWindowThreadProcessId Lib "user32.dll" (ByVal hwnd As Long, ByRef lpdwProcessId As Long) As Long
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetModuleHandle Lib "kernel32.dll" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
Private Declare Function GetProcAddress Lib "kernel32.dll" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Private Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function VirtualAllocEx Lib "kernel32.dll" (ByVal hProcess As Long, ByRef lPAddress As Any, ByRef dwSize As Long, ByVal flAllocationType As Long, ByVal flProtect As Long) As Long
Private Declare Function WriteProcessMemory Lib "kernel32.dll" (ByVal hProcess As Long, ByRef lpBaseAddress As Any, ByRef lpBuffer As Any, ByVal nSize As Long, ByRef lpNumberOfBytesWritten As Long) As Long
Private Declare Function CreateRemoteThread Lib "kernel32" (ByVal ProcessHandle As Long, lpThreadAttributes As Long, ByVal dwStackSize As Long, ByVal lpStartAddress As Any, ByVal lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadID As Long) As Long
Private Declare Function VirtualFreeEx Lib "kernel32.dll" (ByVal hProcess As Long, ByRef lPAddress As Any, ByRef dwSize As Long, ByVal dwFreeType As Long) As Long
Private Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As Long) As Long
Private Declare Function LoadLibrary Lib "kernel32.dll" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
Private Const PROCESS_ALL_ACCESS As Long = &H1F0FFF
Private Const MEM_COMMIT As Long = &H1000
Private Const PAGE_READWRITE As Long = &H4
Private Const WAIT_TIMEOUT As Long = 258&
Private Const INFINITE = &HFFFF
Private Const MEM_RELEASE As Long = &H8000
Dim pID As Long, nhWnd As Long, nThreadID As Long, DllPath As String, hRemoteMem As Long, numBytesWritten As Long, hRemoteThread As Long, SubClassed As Long
Dim lLoadLibrary As Long, Inject As Long
Private Sub Command1_Click()
Dim lPAddress As Long, lexecute As Long, secLibrary As Long
lLoadLibrary = GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA")
nhWnd = FindWindow(vbNullString, "Unbenannt - Editor")
If nhWnd <> 0 Then
GetWindowThreadProcessId nhWnd, nThreadID
pID = OpenProcess(PROCESS_ALL_ACCESS, False, nThreadID)
DllPath = App.Path & "\Test.dll"
hRemoteMem = VirtualAllocEx(pID, ByVal 0, Len(DllPath), MEM_COMMIT, ByVal PAGE_READWRITE)
Inject = WriteProcessMemory(pID, ByVal hRemoteMem, ByVal DllPath, Len(DllPath), vbNull)
DoEvents
hRemoteThread = CreateRemoteThread(pID, vbNull, 0, lLoadLibrary, hRemoteMem, 0, 0)
If hRemoteThread Then MsgBox "K Do It!"
VirtualFreeEx pID, ByVal hRemoteMem, Len(DllPath), MEM_RELEASE
CloseHandle pID
End If
End Sub

Und so sieht meine Test.dll aus:
Das Klassenmodul heißt: Testi

Inhalt:

Private Declare Function GetWindowsDirectory Lib "KERNEL32" _
Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, _
ByVal nSize As Long) As Long

Public Function WinDir() As String
Dim sDirBuf As String * 255
StrLen = GetWindowsDirectory(sDirBuf, 255)
WinDir = Left$(sDirBuf, StrLen)
End Function
So, die Dll wird injectiert. Nur wie führe ich die Funktion aus??

Bis dort hin bin ich gekommen. Mehr aber auch nicht. Ich denke mal das man die infizierte EXE wie eine Dll oder so behandeln muss...

mfg
Crunk
Mitglied: Nippie
26.12.2008 um 01:14 Uhr
Hi,
Man weiß zwar nicht was du vorhast, und warum du nicht c++ verwendest aber egal.

Um eine injizierte Bibliothek auch zu nutzen, muss sie entweder perfekt in den Quelltext des Programms eingefügt sein, oder von außen bedient werden.

Bei c++ könnte man zum Beispiel eine Debug Konsole öffnen: AllocConsole()

Sag was du vorhast, dann kann man dir auch besser helfen.
Bitte warten ..
Mitglied: PL-q
26.12.2008 um 11:41 Uhr
Ich benutze VB6 da ich C++ NOCH nicht kann, möchte es aber bald lernen^^ =)

Was ich vor habe:

Ich möchte Programme manipulieren, z. B.: Spiele. Mich in ein Spiel injectieren und dort Werte verändern etc.

Die Function in der DLL sollte nur ein kleines Beispiel sein. Die wird natürlich durch andere Funktionen später ersetzt!

Edit:
So..habe im Internet ein bisschen rumgesucht. Habe immer wieder funktionierende Injector Source Codes gefunden. Doch wie zum Teufel stelle ich eine Verbindung oder sowas in der Art her um die Funktion auszuführen?? Hat hier denn jemand ne Ahnung davon?
Bitte warten ..
Mitglied: Nippie
26.12.2008 um 18:08 Uhr
Hi,
Genau das habe ich mir bereits gedacht.

Solche Themen gehören wohl eher nicht in dieses Forum :P

Such dir besser ne Game-hacking Community.

Nur um dir für den Moment zu helfen:
Um einfach Werte zu ändern musst du nicht erst umständlich ne DLL injecten, kannst auch einen Memory Browser nehmen
(Cheat Engine)

DLL Injection ergibt erst dann Sinn wenn du wirklich eigene Funktionen hinzufügen willst. z.B. Internet Kommunikation des Spiels sniffen und manipulieren...

Nunja, für solche Dinge solltest du C/C++ lernen und dir ASM Basics aneignen.

Mfg
Nippie
Bitte warten ..
Mitglied: PL-q
26.12.2008 um 18:25 Uhr
Jaa...aber ich möchte auch grundsätzlich Injection können für andere Sachen auch. Wegen CheatEngine..dieses Spiel wurde gegen solche Sachen geschützt..auch gegen UCE's oder selbstgemachten Memory Browser in VB6..so hat es mal früher funktioniert.

Könntet ihr nicht einfach meine Frage beantworten =)??

Ich möchte lediglich wissen wie ich eine Function aufrufe, aus einer DLL die ich in ein Programm injectiert habe.

mfg
Crunk
Bitte warten ..
Ähnliche Inhalte
PHP
PHP - mySQL - Injections, Schadcode verhindern?
Frage von DeeJayBeePHP3 Kommentare

Hallo zusammen, ich beschäftige mich gerade ein wenig mit php und mysql. Überall sind zwar nette Tutorials, aber irgendwie ...

Erkennung und -Abwehr
CSV-Import in Excel mit Code-Injection!
Information von LochkartenstanzerErkennung und -Abwehr3 Kommentare

Nur damit niemand denkt, da kann ja nicht viel passieren. Auch bei CSV-Dateien, sollte man genau hinsehen, wo die ...

PHP
SQL Injection - PHP Anwendung mit MSSQL Datenbank
Frage von PowlFruitPHP8 Kommentare

Guten Tag Liebe Community, ich habe zurzeit folgendes Problem, und da ich mich mit der Problematik noch nicht sonderlich ...

Apache Server
Linux - Debian - Apache - Code injection oder wie man das auch nennt. Brauche Hilfe
Frage von JoshuaTreeApache Server20 Kommentare

Hallo, ich habe einen Root-Server mit Debian und Apache laufen bei 1und1. Eigentlich war ich bis vor einem halben ...

Neue Wissensbeiträge
Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 11 StundenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 11 StundenSicherheit7 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 12 StundenSicherheit8 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Sicherheit

Meltdown und Spectre: Die machen uns alle was vor

Information von Frank vor 12 StundenSicherheit12 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Heiß diskutierte Inhalte
Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von 92943Windows 1031 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Batch & Shell
Anmeldevorgang für Informatikraum (Schule) unter Windows
gelöst Frage von IngenieursBatch & Shell29 Kommentare

Hey zusammen, ich werde in naher Zukunft den Informatik Raum meiner jetzigen Schule von dem aktuellen Betreiber übernehmen (Vertrag ...

Netzwerkgrundlagen
Welches Modem für VDSL 50000 der T-Com
Frage von Windows10GegnerNetzwerkgrundlagen20 Kommentare

Hallo, ein Kollege von mir will sich VDSL50000 von der T-Com holen, um daran einen Server zu betreiben. Ich ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...