Programmcode oder Quellcode in Form von Opcodes ausgeben (IDA)

Knogle

Volt-Modder(in)
Hallo liebe Community
Wie kann ich irgendwelchen code eines xbeliebigen Programms in Form von Opcodes in IDA ausgeben? :)


Bitte um Hilfe

MfG
 
Bin ziemlich unerfahren was die ganzen Funktionen in IDA betrifft :D
Damals habe ich mal hingekriegt jedoch weiss ich nicht mehr wie
Ich benoetige Codes wie dieser hier z.b. : 0x88
 
Wie gesagt ka ob es das in IDA gibt. Ich benutze meistens OllyDBG.

Edit Du solltest dir mal ein paar Tuts dazu durchlesen. Das meiste bzw. das gute gibts nur in Englisch.
 
Es gibt da wohl ein Hex-View, aber da ich das Programm selbst nicht nutze, kann ich dir nicht sagen, ob es das ist. Wäre aber mal ein erster Anhaltspunkt.
 
Dort wo der disassemblierte Code angezeigt wird? Über dem Memory Dump? Links vom Register View? Schräg gegenüber vom Stack?

Die ganzen Angaben beziehen sich wie gesagt auf OllyDBG, nicht auf IDA.

Ja, die Liste die ich gepostet habe. Ansonsten Google.
 
Wahrscheinlich will er Code in ein Program während der Laufzeit injecten. Das erfordert ziemlich genaue Berechnungen. Es gibt auf Codeproject jede Menge gut dokumentierte Beispiele.

Edit:
Die normale Vorgehensweise:
Du schreibst das was du machen will in Assembler. Assemblierst das und kopierst einfach den Opcode davon und setzt vor jede Instruction ein x
 
Um ehrlich zu sein Benutze ich nur inline assembler in C. Wie genau das der dann assembliert weiß ich nicht. Jedoch kompiliert der das in eine .exe die ich dann z.B in olly einlesen kann.
Einem Assembler Toolkit liegt normalerweise auch ein disassembler bei. Versuchs mal damit.
 
Naja ich moechte die Opcodes in einer anderen Sprache verwenden die das nur in Form von Opcodes unterstuetzt
Das erinnert mich an Visual C++ 6 SP6 und SSE *grusel*

Ehm wie assembliere ich das was ich in assembler geschrieben habe?
Einfach meine .asm Datei compilen und dann mit dem disassembler oeffnen?
Hättest du das vorher gesagt, hätte ich dir was anderes empfohlen.
Lade dir am besten von www.nasm.us den Netwide Assembler. Der hat auch direkt einen Disassembler dabei. Du musst beim assemblieren allerdings ein Flat Binary (also bin) erzeugen, sonst packt der dir ggf. noch anderes Zeugs darein.

Assembler-Code in eine Datei schreiben: whatever.asm
Assemblieren: nasm -O0 -f bin -o whatever.bin whatever.asm
Disassemblieren: ndisasm whatever.bin > disas.txt
 
Zuletzt bearbeitet:
Um ehrlich zu sein Benutze ich nur inline assembler in C. Wie genau das der dann assembliert weiß ich nicht. Jedoch kompiliert der das in eine .exe die ich dann z.B in olly einlesen kann.
Einem Assembler Toolkit liegt normalerweise auch ein disassembler bei. Versuchs mal damit.

Naja okay soweit bin ich auch :D
Habe den Kram nun in OllyDbg
Welche der ganzen Spalten kann ich nun verwerten?
Mit dem Hex Dump kann ich ja nicht viel anfangen
 
Mach es so wie bingo es geschrieben hat. Sich dafür in Olly einzuarbeiten ist dann doch etwas overkill.

Bzw. Wenn du mit dem dissasembler drüber gehst, müsstet er dir doch ein output datei anlegen mit dem inhalt oder?
 
Zurück