|
You last visited: Today at 06:43
Advertisement
[Delphi / C++] Mit DLL Speicher umschreiben
Discussion on [Delphi / C++] Mit DLL Speicher umschreiben within the C/C++ forum part of the Coders Den category.
05/16/2011, 13:49
|
#1
|
elite*gold: 1
Join Date: Feb 2009
Posts: 1,726
Received Thanks: 729
|
[Delphi / C++] Mit DLL Speicher umschreiben
Hey
Heute habe ich auch mal wieder ein Problem. Und zwar widme ich mich langsam dem Thema der Dll Injection.
Dazu habe ich das Spiel "Ferby Speed" und den "Winject" Injector.
So, nun weiß ich nicht wie ich die DLL schreiben muss
Mein Ansatz:
Code:
library Project1;
uses
SysUtils, Windows,
Classes;
{$R *.res}
Procedure HackMe; stdcall;
var Data: Array[0..1] of Byte;
begin
// zu schreibene Offsets
Data[0] := $EB;
Data[1] := $07;
// Speicher Allocen
VirtualAlloc(Ptr($0046A4A8), SizeOf(Byte)*2, MEM_RESERVE, PAGE_WRITECOPY);
VirtualAlloc(Ptr($0046A589), SizeOf(Byte)*2, MEM_RESERVE, PAGE_WRITECOPY);
// Speicher umschreiben
CopyMemory(Ptr($0046A4A8), @Data, SizeOf(Byte)*2);
CopyMemory(Ptr($0046A589), @Data, SizeOf(Byte)*2);
end;
exports HackMe index 1;
begin
HackMe;
end.
Aber der Code stürzt immer ab. Ich wäre auch über C++ Code Dankbar
|
|
|
05/16/2011, 13:55
|
#2
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
|
Du solltest danach die alte Protection wiederherstellen, da es ja Code ist, muss die nämlich das EXECUTE Flag gesetzt haben und WRITE_COPY sieht nicht danach nicht aus.
Also entweder PAGE_EXECUTE_READWRITE oder einfach direkt die alte wiederherstellen, nachdem du geschrieben hast.
|
|
|
05/16/2011, 13:59
|
#3
|
elite*gold: 1
Join Date: Feb 2009
Posts: 1,726
Received Thanks: 729
|
mhh, klappt immer noch nicht
|
|
|
05/16/2011, 16:01
|
#4
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
Quote:
Aber der Code stürzt immer ab.
|
Inwiefern macht sich das bemerkbar? Fehlerbereich mit 'OutputDebugString' eingegrenzt?
|
|
|
05/16/2011, 16:45
|
#5
|
elite*gold: 1
Join Date: Feb 2009
Posts: 1,726
Received Thanks: 729
|
Schreibgeschützter Bereich in der DLL
|
|
|
05/16/2011, 17:02
|
#6
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
Deine Antwort bereitet mir einige Verständnisprobleme:
1. Es ist nur eine Antwort auf zwei Fragen
2. Auf welche Frage bezieht sich deine Antwort
3. Ich kann nicht nachvollziehen inwiefern deine Antwort jetzt meine Frage(n) beantwortet. Ich hätte mind. ein Ja/Nein erwartet und eine ausführliche Fehlerbeschreibung...
Vllt. steh ich gerade auch auf dem Schlauch...
EDIT: Um mal ins Blaue zu raten: Endian-Format vertauscht?
|
|
|
05/16/2011, 17:10
|
#7
|
elite*gold: 1
Join Date: Feb 2009
Posts: 1,726
Received Thanks: 729
|
Tut mir leid
also nochmal mein derzeitiger Code.
Code:
library test;
uses
SysUtils,
Windows,
Classes;
{$R *.res}
Procedure HackMe; stdcall;
var Data: Array[0..1] of Byte;
begin
// zu schreibene Offsets
Data[0] := $EB;
Data[1] := $07;
// Speicher Allocen
VirtualAlloc(Ptr($0046A4A8), SizeOf(Byte)*2, MEM_RESERVE, PAGE_EXECUTE_READWRITE);
VirtualAlloc(Ptr($0046A589), SizeOf(Byte)*2, MEM_RESERVE, PAGE_EXECUTE_READWRITE);
// Speicher umschreiben
CopyMemory(Ptr($0046A4A8), @Data, SizeOf(Byte)*2);
CopyMemory(Ptr($0046A589), @Data, SizeOf(Byte)*2);
{*
asm
mov word [$0046A4A8], $07EB
mov word [$0046A589], $07EB
end;
*}
end;
exports HackMe index 1;
begin
HackMe;
end
#
Sollte eigentlich auch für C Könner verständlich sein
Und die Fehlermeldung:
Adressen sind auch richtig. Über WriteProcessMemory geht es. Habe auch schon andere Injectoren probiert
|
|
|
05/16/2011, 17:32
|
#8
|
elite*gold: 20
Join Date: Sep 2006
Posts: 1,100
Received Thanks: 184
|
Wie wäre es wenn du uns erst einmal sagst, was dein Programm überhaupt tun soll?
Bisher kann ich nur davon ausgehen dass du hier VirtualAlloc und VirtualProtect verwechselt hast.
Lies am besten einmal die MSDN Seite zu VirtualAlloc, eventuell verstehst du dann was ich meine, denn so wie du die Funktion jetzt aufrufst ist davon auszugehen dass sie fehlschlägt, du könntest ja zur Abwechslung mal die Rückgabewerte der Windows API Funktionen überprüfen.
|
|
|
05/16/2011, 18:57
|
#9
|
elite*gold: 1
Join Date: Feb 2009
Posts: 1,726
Received Thanks: 729
|
Was das Programm machen soll ist eigentlich erst mal nebensächlich. Am Ende wird nur ein (bzw. 2) Opcode(s) umgeschrieben.
Leider kenn ich mich mit den Befehlen von VirtualProtect und VirtualAlloc noch nicht so aus. Deswegen such ich erst mal eine funktionierende Lösung, um darauf dann auf zu bauen
|
|
|
05/16/2011, 19:04
|
#10
|
elite*gold: 20
Join Date: Sep 2006
Posts: 1,100
Received Thanks: 184
|
Lies die verdammte Dokumentation, wozu glaubst du gibt es eine (nahezu) vollständige Dokumentation der Windows API von Microsoft?
Edit: und was du brauchst/willst ist in diesem Fall definitiv VirtualProtect und nicht VirtualAlloc...
|
|
|
05/16/2011, 19:13
|
#11
|
elite*gold: 150
Join Date: Dec 2010
Posts: 112
Received Thanks: 159
|
ein beispiel in c++
|
|
|
05/16/2011, 19:29
|
#12
|
elite*gold: 1
Join Date: Feb 2009
Posts: 1,726
Received Thanks: 729
|
Es geht
Vielen Dank an alle
|
|
|
|
Similar Threads
|
DELPHI - Who make Exploits, Hacks and Tools with DELPHI?
05/15/2013 - CO2 Programming - 13 Replies
Hi all.
Iwith DELPHI, but a dont now.
hello, I use Delphi to program and i like someone put here source code of make Exploits, Hacks and Tools bot here, or part of the code.
ty to all
|
[DELPHI&METIN]Wie sind die Delphi Befehle für einen Bot?
03/07/2010 - General Coding - 3 Replies
Hallo liebe com,
ich habe mal eine Frage: Ich möchte einen Metin Bot in Delphi schreiben aber ich weiß nicht die Befehle für
eine bestimmte Taste senden etc.
könnt ihr mir die pls sagen oder per pn geben
MfGGGGGG
|
skripts umschreiben
04/23/2009 - Diablo 2 - 8 Replies
hi ich wollte mal eben fragen welche programme ihr benutzt wenn ihr ein skript umschreiben wollt wie z.b. von kuk bot usw.
währe sehr dankbar für antworten.
|
FPS umschreiben?
10/26/2007 - Flyff - 4 Replies
Kann man den Packet editor nicht noch so schreiben das er die zahlen von melee mitließt copiert einfügt und von selbst auf Send dann immer geht ? Dazu dann ein aktivierungs knopf..
|
All times are GMT +2. The time now is 06:43.
|
|