Autor Beitrag
Bork
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mo 16.06.08 18:38 
Hi,

Ich will ein Programm schreiben das Resourcen in einer meiner mit C# Programmierten exe austauschen mit einer neuen Resource Datei updated.
Hab mich schon mit "IResourceWriter" beschäftigt aber irgentwie glaube ich das ich in die Falsche richtung gehe. Hier meine 3 Zeilen :P

ausblenden C#-Quelltext
1:
2:
3:
IResourceWriter writer = new ResourceWriter("Adelskrone.Resources.RC4DC.exe");
writer.AddResource("RC4DC", byteData);
writer.Close();


Moderiert von user profile iconChristian S.: Überflüssige Zeilenumbrüche entfernt
Moderiert von user profile iconChristian S.: Topic aus WinForms verschoben am Mo 16.06.2008 um 18:42
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mo 16.06.08 19:16 
user profile iconBork hat folgendes geschrieben:
Hab mich schon mit "IResourceWriter" beschäftigt aber irgentwie glaube ich das ich in die Falsche richtung gehe.
Exakt :mrgreen: . In irgendeinem CodeProject-Article wird man schon eine Lösung finden, aber viel interessanter finde ich die Frage: Wozu brauchst du das ;) ?
Bork Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mo 16.06.08 19:25 
Ich schreibe ein Verschlüssellungs tool für ein Arbeitskolegen der in ASM Programmiert und er nicht will das wer an seine SourceCodes kommt. Wie ja sicherlich bekannt ist OllyDbg... Jetzt muss ich die Resource aus dem Decrypter mit der Verschlüsselten Resource ersetzten damit ja was anständiges beim Ausführen raus kommt.
Bork Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mo 16.06.08 20:40 
Habe jetzt nen Fortschritt gemacht aber irgentwie kommt nur mist raus :P

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
FileStream bs = new FileStream("Adelskrone.Resources.RC4D.exe", FileMode.OpenOrCreate, FileAccess.Write);
IResourceWriter writer = new ResourceWriter(bs);

writer.AddResource("stub",byteData);


byte[] byteStub = new byte[Convert.ToInt32(bs.Length)];
writer.Close();
                

                
System.IO.BinaryWriter cw = new System.IO.BinaryWriter(System.IO.File.Create("c:/bds.exe"));
cw.Write(byteStub);
cw.Close();

Wenn ich die Datei die Rauskommt mir nem HexEditor Starte stehen nur nullen drinne aber sie hat die Richtige größe wenn ich den Decrypter + Den Verschlüsselten Code berechne.
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Di 17.06.08 13:34 
user profile iconBork hat folgendes geschrieben:
Wie ja sicherlich bekannt ist OllyDbg...
Habe ich noch nicht benutzt, aber kann man damit wirklich keinen zur Laufzeit erstellten Code debuggen?
user profile iconBork hat folgendes geschrieben:
Wenn ich die Datei die Rauskommt mir nem HexEditor Starte stehen nur nullen drinne[...]
Und das wundert dich, wenn du byteStub nie befüllst :zwinker: ?
Ich habe keine Ahnung, ob es wirklich funktioniert, ein .resources-Format an die Exe anzuhängen, aber so sollte es dann funktionieren:
ausblenden C#-Quelltext
1:
2:
3:
4:
FileStream bs = new FileStream("Adelskrone.Resources.RC4D.exe", FileMode.OpenOrCreate, FileAccess.Write);
bs.Position = bs.Length;
using (IResourceWriter writer = new ResourceWriter(bs))
  writer.AddResource("stub",byteData);
Bork Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 17.06.08 16:19 
War schon nicht schlecht....blos hat er jetzt byteData hinter die Stub.exe gesteckt und noch sein Header rann gekloppt (im hex editor beobachtet)

Anfangstub
4D5A900003000000
04000000FFFF0000
B800000000000000
4000000000000000
0000000000000000
0000000000000000
.......Endestub
0000000000000000
0000000000000000
0000000000000000
......anfang byteData
CECAEFBE01000000
910000006C537973
74656D2E5265736F
75726365732E5265
736F757263655265
..... Ende Byte data

und naja ist ja wie erwartet nicht ausführbar. Ich habe in der Stub eine eingebette Resource eingebaut
vieleicht können wir die irgentwie ansprechen und dort den HexCode einsetzten ? oder die Resource ersetzen ?
Wenn wir sie suchen ?
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Di 17.06.08 20:34 
user profile iconBork hat folgendes geschrieben:
War schon nicht schlecht....blos hat er jetzt byteData hinter die Stub.exe gesteckt und noch sein Header rann gekloppt (im hex editor beobachtet)
Sag ich doch ;) . Warum nutzt du überhaupt die Klasse, kannst du nicht einfach die Bytes per Stream dranhängen? Ansonsten kann ich dir nicht ganz folgen, was wo wie hin soll.
Bork Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mi 18.06.08 19:17 
Ich will meine verschlüsselte Binäry Entschlüsseln wenn sie Executed wird. Was hast du für ne Idea ?