![]() |
Suche Oppcode => ASM Reference...
Hallo,
ich stoße mal gerade auf Probleme… Und zwar geht es darum Binärdaten (Opcode) in ASM umzuwandeln… bzw. erstmal zu gruppieren… Um das zu tun bin ich auf der Suche nach einer passenden Liste… Scheinbar gibt es wohl verschiedene OPCode Tabellen, je nachdem mit was für ein Prozessor man arbeitet… Nun mal die entscheidende Frage, wo find ich eine vollständige Liste für den x86 (das was ich hier gerade nutze, Athlon XP 1800+) und wo finde ich eine für den x64 (z.b. für den Athlon 64/Fx/x2) Bye Christian Edit: Ok habe schonmal was gefunden... ![]() Nur hab ich immernoch nicht wirklich einen Plan wie ich irgendein Code entsprechend Disassemblen (bzw. erstmal gruppiern) kann... Bye Christian |
Re: Suche Oppcode => ASM Reference...
Hallo,
warum benutzt Du nicht einfach einen Disassembler? Der strukturiert Dir den Code automatisch. Gruß xaromz |
Re: Suche Oppcode => ASM Reference...
Gut, dass ist eine berechtigte Frage!
Ich beschäftige mich gerade ein wenig mit Hooks und anderen Speicher Manipulationen ;) Und zwar geht es erstmal darum, wo Code einzufügen ohne das der alte zerstört wird, sprich einfach nur rausspringen, paar NOPs ausführen gesicherten Code ausführen, zurückspringen... Damit ich dies aber irgendwo machen kann, muss ich natülich den alten Code an der Stelle wo ich meinen Jump einfüge sichern und dies scheinbar so, das er nicht zerstückelt wird, sonst gibt es pöses AUA ;) Und da das so meine wersten pösen ASM versuche sind bin ich noch ein wenig unbedarft... Solang ich das manuell hier in der Sandkiste mache ist das ja weniger wild, da ich ja im Debuger nachschaun kann was ich sichern muss... Zudem will ich was daraus lernen, und eine eigene Disassembler Funktion hilft mir da sicher :angel2: Bye Christian |
Re: Suche Oppcode => ASM Reference...
Liste der Anhänge anzeigen (Anzahl: 1)
![]() Und im Anhang habe ich eine Klasse dazu, damit kannst du disassemblen oder anderweitig rumspielen. btw: Hook und Speichermanipulation würde ich nicht in einen Topf werfen... |
Re: Suche Oppcode => ASM Reference...
Zitat:
Zitat:
Im Grunde geht es mir aber im Moment nicht nach fertigen Source-Code, sondern ich benötige nur Informationen, da ich das ja aus Lernzwecken selbst umsetzen möchte ;) Bye Christian |
Re: Suche Oppcode => ASM Reference...
Was du definitv brauchst ist den Anfang eines Opcodes. Du kannst nicht blinklinks in einen CodeSchnippsel reinrennen. Und von da an ist es doch nicht allzu schwer, denke ich. Du nimmst dir das erste Byte und schaust ob noch mehr Bytes zu dem Befehl gehören.
Edit: Zitat:
|
Re: Suche Oppcode => ASM Reference...
Zitat:
Zitat:
sprich gehören da nun noch mehr Bytes zu dem Befehl, falls das erste Byte überhaupt den ganzen Befehl darstellt, denn das ist scheinbar nicht immer so... Nungut, ich wühl mich eben durch die von mir oben genannte Seite, aber wirklich schlau werd ich daraus noch nicht... Bye Christian Edit: Zitat:
Nunja zumindest überschreiben muss man fast immer irgendwas... Und das sollte nunja nicht blind geschehen.. |
Re: Suche Oppcode => ASM Reference...
Allererste Adresse bei Fragen zu Opcodes auf dem PC ist - natürlich - Intel. Die haben den Instruction Set entworfen.
Suche dort mal nach "Intel® 64 and IA-32 Architectures Software Developer’s Manual" oder "Instruction Set Reference". Sind zwei PDF-Dokumente mit jeweils 2,5MB Größe. Gutes gelingen bei dem Versuch, einen kleinen DisAsm zu basteln :thumb: |
Re: Suche Oppcode => ASM Reference...
... welche du dir auch in Buchform von Intel kostenlos zusenden lassen kannst.
|
Re: Suche Oppcode => ASM Reference...
Öhm ich hab danach gesucht, und komm auch auf eine entsprechende Intel-Seite:
![]() Nun bin ich von der Fülle der Informationen erschlagen! Und das ist einfach zuviel, ich hab nun alle entsprechenden Dokumente durchgeblättert, aber das einzigste was ich finde sind super detailierte Funktionsbeschreibungen.... :| Eigentlich suche ich nur eine keine simple Tabelle der Opcodes... und sowas lässt sich in dem Haufen von Informationen nicht finden... Hat da wer ev. genauere Angaben? ich will doch erstmal nur wissen, wieviel Bytes auf ein entsprechendes Byte folgen... Und dafür 20.000 Seiten lesen? Für genauere Angabn wär ich echt dankbar... Bye Christian |
Re: Suche Oppcode => ASM Reference...
Zitat:
Anders bei mov ($83 etc) -Befehlen, die haben noch einen zweiten Anteil von wo aus "gemoved" wird und evtl. noch eine Zahl. du siehst also an dem ersten Byte, ob der Befehl noch länger ist, oder ob das schon alles war. --> Viele ASM-Befehle haben mehrere Opcodes, je nach Anzahl und Art der Operanden. Edit: Trotzdem sehe ich auf Grund der zahlreichen kostenlosen Disassembler nicht die Notwendigkeit dieses unbedingt lernen zu wollen. Ausser wenn man irgendwann einmal fließend "intel x86" sprechen will. |
Re: Suche Oppcode => ASM Reference...
Nun, ich bin kein Profi, aber soweit ich das gelesen hab, verweisen manche Bytes auf eine weitere Obcode-Tabelle...
Und genau um das alles zu verstehn und einen Überblick über die Sache zu erhalten, möchte ich mich damit auseinandersetzen... ICh möchte jetzt nicht ein Disassembler schreiben, dass würde die Sache etwas übertreiben, aber eine Tabelle wie lang was ist sollte schon rauskommen.... Bye Christian |
Re: Suche Oppcode => ASM Reference...
Vielleicht hilft dir eine andere Aufstellung. Mir hatte damals Ralf Brown's Interrupt List (RBIL) sehr geholfen. Diese hat eine opcodes.txt im Archiv und diese stellt die Opcodes und deren Co/Decodierung etwas anders in Tabellenform dar. Vllt. hilft dir das.
![]() |
Re: Suche Oppcode => ASM Reference...
Zitat:
Aber ich wühle mich durch die Referenze von Intel um da mal halbwegs durchzusteigen... Nun hab ich auch so ein schönes Mehr-Byte OpCode-Beispiel Das wär z.b. $0f (erstes Byte)... da können viele andere Operationen dahinterstecken, die nichtmal wirklich was gemeinsam haben Bsp.:
Die Intel-Doku ist zwar sehr umfangreich, aber sehr unübersichtlich, nungut die ersten 2 Bücher hab ich schon überflogen um mir einen Überblick über die Thematik zu verschaffen... Zitat:
Mich würd mal interessieren wie die die 9 Bücher á 700 Seiten vorbeibringen :D Bye Christian |
Re: Suche Oppcode => ASM Reference...
Zitat:
|
Re: Suche Oppcode => ASM Reference...
Hast du dir nur eins oder mehrere schicken lassen?
Bye Christian Edit: Gleichmal ne Frage hinten dran, gibt es ne Testumgebung um ASM-Code für 64Bit zu testen ohne einen 64Bit Prozessor zu haben? |
Re: Suche Oppcode => ASM Reference...
Zitat:
![]() |
Re: Suche Oppcode => ASM Reference...
Kann man denn 64-Bit auf 32-Bit-Systemen emulieren?
Ich hab sowas schon mal mit VMWare versucht, und da gabs dann ne Fehlermeldung wegen 32-Bit-Hostsystem. |
Re: Suche Oppcode => ASM Reference...
Zitat:
Zitat:
|
Re: Suche Oppcode => ASM Reference...
Nicht schlecht... muss ich mir anschauen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz