*.exe Datei konfigurieren???
-
Wow, wenn ich den String durch einanderer der gleich lang ersetze, dann funzt es

#include <windows.h> #include <string.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { char string[]="HALLO"; MessageBox(NULL, string, "", 0); return 0; }ich hab hier den String HALLO durch hallo ersetzt.
Das Problem besteht aber weiterhin da die zuschreibende Stringlaenge
zum compil. Zeit des *.exe nicht bekannt ist.
-
Häng halt eine binär/Textresource an die exe ran. Der kannst du dann recht leicht eine bestimmte Länge geben, und dann auch den Inhalt ändern. Laden kannst du das dann mit Find-/LockResource. Für was man sowas aber braucht

-
Petr1 schrieb:
Wenn ich bla.exe öffne nach Offset von "Hallo Welt" suche, und dann d String
"Hallo Welt" durch "Es funktioniert" ersetze, dann funzt es leider nicht
Dabeu würde nix verschoben, offset des Strinds blieb unverändert, den Rest (da 256 Zeichen) hab ich mit '\0' gefült.Ich denke das man nicht nach offset des Strings suchen mus, sondern nach Speicherbereich der für String reserviert ist. Nun wenn folgende Code habe, weiss ich einfach nicht wie ich den Speicherbereich finde ?????
int main() { char String[256]; // < String mit dem HexEditor hierher schreiben puts(String); return 0; }Hat jemand Ideen dazu ????
so weit ich weiß, hat eine exe datei einen header und wenn du die größe der exe änderst, musst du auch das im header ändern
also versuch mal "Hallo Welt!" mit "Welt Hallo!" oder so zu verändern
Tim
-
musicman schrieb:
Häng halt eine binär/Textresource an die exe ran. Der kannst du dann recht leicht eine bestimmte Länge geben, und dann auch den Inhalt ändern. Laden kannst du das dann mit Find-/LockResource. Für was man sowas aber braucht

Ich schreibe ein KeyLogger das alle Tastatureingaben protokoliert, in log.txt schreibt und alle
n Stunden mir das log.txt per e-mail sendet. Da das Programm nicht für mich allein bestimmt ist, muß es ein Möglichkeit geben den KeyLogger.exe vorcher mit einem Configure.exe zuöffnen und Empfänger Adresse zu bestimmen.
Naja, sowas wie bei Trojanern
-
Für sowas gibt's eigentlich *.ini, *.xml-Konfigurationsdateien, oder sogar die Registry wo eigentlich die Konfigurationsdaten gespeichert werden.
-
musicman schrieb:
Für sowas gibt's eigentlich *.ini, *.xml-Konfigurationsdateien, oder sogar die Registry wo eigentlich die Konfigurationsdaten gespeichert werden.
Ah du verstehst gar nix was ich meine

wie arbeiten Trojaner???
es gibt 3 Dateien:
1 = Client
2 = Server
3 = ServerConfiguratorbevor man aber Serverteil zum Opfer schickt, mus er es mit dem ServConfigurator öffnen, konfigurieren ( e-mail Adresse hinschreiben an der
Port und IP des Opfer gesendet werden falls letzte online geht) und unter Result.exe abspeichern. So nun wird zum Opfer nicht mehr Server.exe sondern
Result.exe geschickt. Sowas änliches muß ich auch machen, versteht ihr jetzt ?
-
Hast du es mal als Resource versucht?
-
-
Häng einfach eine (leere) Textdatei mit der Mindestlänge die du brauchst als Resource an deine exe. Such dir die Startadresse in der exe. Ab da hast du dann deine gewünschte Länge an Platz und kannst Weißgottwas reinschreiben.
-
nirsaja schrieb:
Also wie gesagt es gibt ein *.exe Datei der als Resource StringTable hat.
In StringTable steht ein einzige String, und zwar "Hello World" mit id = IDS_STRING.
Nun schreibe ich ein zweite *.exe der das erste exe öffnet und per UpdateString
"Hello World" durch "Irgendwas" ersetzt. Das Programm lässt sich zwar ohne Fehlern kompilieren, funzt aber ned. Was mache ich falsch ???#include <windows.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevIsntance, PSTR szCmdine, int iCmdShow) { HANDLE h; int Anz; BOOL res; WCHAR* buffw; char buff[] ="Neue String"; buffw = new WCHAR[256]; // ASCII-String in Unicode-String umwandeln Anz = MultiByteToWideChar(CP_ACP, 0, buff, lstrlen(buff), NULL, 0); MultiByteToWideChar( CP_ACP, 0, buff, lstrlen(buff), buffw, Anz); h = BeginUpdateResource("C:\\ZielExe.exe", FALSE); res = UpdateResource(h, RT_STRING, "IDS_STRING", MAKELANGID(LANG_GERMAN, SUBLANG_GERMAN), buffw, sizeof(buffw)); EndUpdateResource(h, TRUE); return 0; }Erlich gesagt verstehe nicht soganz was ich bei UpdateResource() als Param. übergeben muß
Bekomme immer 1 als Rückgabewert von UpdateResource obwohl es nonzero sein muß 
-
Peter I schrieb:
Bekomme immer 1 als Rückgabewert von UpdateResource obwohl es nonzero sein muß
Ich muß schon sagen: Prima Unterhaltungswert dieser Thread. Mit der Dll hat es wohl nicht ganz geklappt? Bin auch schon ganz gespannt, wann Dir der erste seinen fertigen Trojaner präsentiert ...
-
-King- schrieb:
Peter I schrieb:
Bekomme immer 1 als Rückgabewert von UpdateResource obwohl es nonzero sein muß
Ich muß schon sagen: Prima Unterhaltungswert dieser Thread. Mit der Dll hat es wohl nicht ganz geklappt? Bin auch schon ganz gespannt, wann Dir der erste seinen fertigen Trojaner präsentiert ...
Was hat DLL damit zutun???
Wach endlich auf Mensch!!! Über dll haben wir in anderem Thread geredet.
Du kannst denken was du willst, aber meiner Meinung nach, wenn man sich über Trojanerfunktionen informiert, heißt das noch lange nicht ,dass man einen schreibt.
Und tun mir eine Gefale, antworte nicht mehr auf meine Fragen, gell?
Denn dein Quatch was du hier schreibst ist sowieso nutzlos.
-
-King- schrieb:
Peter I schrieb:
Bekomme immer 1 als Rückgabewert von UpdateResource obwohl es nonzero sein muß
Ich muß schon sagen: Prima Unterhaltungswert dieser Thread. Mit der Dll hat es wohl nicht ganz geklappt? Bin auch schon ganz gespannt, wann Dir der erste seinen fertigen Trojaner präsentiert ...
Übrigenz mit der DLL klappt es prima

edit by flenders: Bitte beleidige doch nicht gleich! -King- hat wirklich einiges drauf!

-
Was klappte denn jetzt nicht? Was sagt ggf. GetLastError()?
-
Peter I schrieb:
-King- schrieb:
Peter I schrieb:
Bekomme immer 1 als Rückgabewert von UpdateResource obwohl es nonzero sein muß
Ich muß schon sagen: Prima Unterhaltungswert dieser Thread. Mit der Dll hat es wohl nicht ganz geklappt? Bin auch schon ganz gespannt, wann Dir der erste seinen fertigen Trojaner präsentiert ...
Übrigenz mit der DLL klappt es prima

edit by flenders: Bitte beleidige doch nicht gleich! -King- hat wirklich einiges drauf!

Wenn er wirklich was drauf hat, dann hätte er zumindest helfen koennen, oder???
Und was tut er????
Alle haben klein angefangen!Also der Typ geht mir langsam auf die Nerven

-
flenders schrieb:
Was klappte denn jetzt nicht? Was sagt ggf. GetLastError()?
Also vergessen wir die Sache, denn wie ich sehe viele wollen/koennen gar nicht helfen, aber dafür jeder Schw. interissiert sich WOFÜR ich das brauche.
Findet ihr das normal????
Aber trotzdem Danke!
-
Peter I schrieb:
Also vergessen wir die Sache, denn wie ich sehe viele wollen/koennen gar nicht helfen, aber dafür jeder Schw. interissiert sich WOFÜR ich das brauche.
Du solltest dir den Thread vielleicht mal nochmal komplett durchlesen
, vielleicht siehts du die Leute die dir helfen wollten, mit richtigen Vorschlägen.
Wenn dir das nicht passt, selber schuld
-
Peter I schrieb:
... EndUpdateResource(h, TRUE); ...msdn schrieb:
fDiscard
[in] Specifies whether to write resource updates to an executable file. If this parameter is TRUE, no changes are made to the executable file. If it is FALSE, the changes are made.
-
bei der Aussage, müsstest du ihm das noch übersetzen, sonst kommt er noch auf falsche Gedanken

Peter I schrieb:
Bekomme immer 1 als Rückgabewert von UpdateResource obwohl es nonzero sein muß


-
Shlo schrieb:
bei der Aussage, müsstest du ihm das noch übersetzen, sonst kommt er noch auf falsche Gedanken

Peter I schrieb:
Bekomme immer 1 als Rückgabewert von UpdateResource obwohl es nonzero sein muß


Wer hat dich denn gefragt???