Forum: PC-Programmierung asmX86 welchen debuger?


von Kritical R. (kritical_r)


Lesenswert?

hallo,
ich lese gerade ein asm wiki buch
und ich soll mein erstes programm mit dem debuger.exe starten.
ich habe win8.1 64bit und keinen debuger.
Bisher habe ich 2 ausprobiert aber die gingen nicht, ich habe nicht 
gefunden wo ich die register einsehen kann.

könnt ihr mir sagen wo ich den debuger für cmd oder dosbox bekomme? oder 
einen empfehlen?

danke und frohe ostern

von pegel (Gast)


Lesenswert?


von Arc N. (arc)


Lesenswert?

Kritical R. schrieb:
> hallo,
> ich lese gerade ein asm wiki buch
> und ich soll mein erstes programm mit dem debuger.exe starten.
> ich habe win8.1 64bit und keinen debuger.
> Bisher habe ich 2 ausprobiert aber die gingen nicht, ich habe nicht
> gefunden wo ich die register einsehen kann.
>
> könnt ihr mir sagen wo ich den debuger für cmd oder dosbox bekomme? oder
> einen empfehlen?
>
> danke und frohe ostern

IDA (www.hex-rays.com), OllyDBG (www.ollydbg.de)

von Heinz V. (heinz_v)


Lesenswert?


von Kritical R. (kritical_r)


Lesenswert?

vorab:
gdb: nein
grund: meine englischkenntnisse reichen für die doku nicht aus

www.hex-rays.com : sihet gut aus
-habe sogar die wahl eine 16bit datei zuwählen, ich hatte das nicht 
erwähnt und dachte ich werde das buch bestimmt wechseln müssen.
-ich habe ein com datei gemacht und hex-rays weißt mich sogar darauf 
hin, dass ich den break point auswählen und mit der taste [c] bestätigen 
soll das finde ich klasse :D.

Also asm macht weiterhin spaß, danke  pegel, Arc Net, Heinz V.:D

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Kritical R. schrieb:
> grund: meine englischkenntnisse reichen für die doku nicht aus

Dann brich Deine Forschung an dieser Stelle ab und arbeite zuerst an 
Deinen Englischkenntnissen. Denn auf Deinem Weg zur "Bug-Bounty" wirst 
Du noch an vielen anderen Stellen vorbeikommen, wo "gemeinsames Lesen" 
von Büchern nicht ausreicht, und wo viel Sprachverständnis gefordert 
wird.

Die Dokumentation der Dinge, mit denen Du Dich beschäftigen willst, ist 
fast ausnahmslos auf Englisch geschrieben.
Sei es das Programmierhandbuch zum x86 (von Intel selbst), sei es das 
Datenblatt des x86 (auch von Intel), oder seien es irgendwelche Hinweise 
darauf, wie man effizient mit einem Entwicklungssystem arbeitet, wie man 
mit einem Debugger klarkommt, wie Assembler generell funktioniert -- 
alles auf Englisch.

Es gibt sicherlich auch die eine oder andere brauchbare Übersetzung, 
aber das deckt keine 5% von dem Material ab, mit dem Du Dich 
beschäftigen willst und musst.

Also: Lern Englisch. Jetzt.

von Kritical R. (kritical_r)


Lesenswert?

danke für den tip. aber warum so radikal? das intel english verstehe ich 
und auch die doku vom 2. programm

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Kritical R. schrieb:
> aber warum so radikal?

Weil das eine essentiell wichtige Grundlage ist. Ohne die bist Du immer 
darauf angewiesen, "leicht verständliche" oder übersetzte Dokumentation 
zu finden, und kannst Programme nicht nach ihrer Funktion aussuchen, wie 
Du es gerade hier vorgeführt hast, gdb geht nicht, weil Du die 
Dokumentation nicht lesen kannst.

Naja, und ansonsten hast Du in Deinen verschiedenen Threads hier 
verschiedene Messlatten sehr, sehr hoch gestellt - wenn ich an 
"bugbounties" denke, das ist etwas, wofür man mindestens etliche Jahre, 
wenn nicht gar Jahrzehnte an Erfahrung braucht, um überhaupt mitreden zu 
können.

Und da sehe ich eine sehr große Diskrepanz zwischen Wollen (Bugbounty) 
und Können (gdb geht nicht, weil Dokumentation zu schwer lesbar).

von Kritical R. (kritical_r)


Lesenswert?

also rufus, zum teil sind deine Sätze ganz nett und motivierend, aber 
sowas hier, ist wie vom anderem Stern:
"und kannst Programme nicht nach ihrer Funktion aussuchen"
nach welchen Kriterien sollte ich denn die Software aussuchen?

: Bearbeitet durch User
von Horst S. (Gast)


Lesenswert?

In den DOS-Hochzeiten™ war mir der TDB (Turbo Debugger von Borland) 
neben anderen (ICE... :-)Tools ein treuer Begleiter.

http://vetusware.com/download/Turbo%20Debugger%205.5/?id=4612

von örgs (Gast)


Lesenswert?

Kritical R. schrieb:

> Bisher habe ich 2 ausprobiert aber die gingen nicht, ich habe nicht
> gefunden wo ich die register einsehen kann.
>
> könnt ihr mir sagen wo ich den debuger für cmd oder dosbox bekomme? oder
> einen empfehlen?


Wenn du dosbox, dosemu oder anderes am Start hast brauchst du ja noch 
ein DOS selber, beim freedos zB. gibts dem Original nach empfunden den 
'debug'

http://help.fdos.org/de/hhstndrd/base/debug.htm

wird sicher auch komfortableres geben. :)
1
C:\>debug
2
-R
3
AX=0000  BX=0000  CX=0000  DX=0000  SP=FFFE  BP=0000  SI=0000  DI=0000
4
DS=07BE  ES=07BE  SS=07BE  CS=07BE  IP=0100   NV UP DI PL NZ NA PO NC
5
07BE:0100 F60000        TEST    BYTE PTR [BX+SI],00                  DS:0000=CD

von F. F. (foldi)


Lesenswert?

Kritical R. schrieb:
> also rufus, zum teil sind deine Sätze ganz nett und motivierend, aber
> sowas hier, ist wie vom anderem Stern:
> "und kannst Programme nicht nach ihrer Funktion aussuchen"
> nach welchen Kriterien sollte ich denn die Software aussuchen?

Du kannst das schon glauben. Wenn dein Englisch nicht schon gut ist, wie 
willst du dich durch die Datenblätter hangeln? Da kommt noch hinzu, dass 
du auch die Thematik verstehen musst. Was alleine schon eine Aufgabe für 
sich ist.

Es ist in der Elektronik zwingend nötig Englisch zu können.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Kritical R. schrieb:
> "und kannst Programme nicht nach ihrer Funktion aussuchen"
> nach welchen Kriterien sollte ich denn die Software aussuchen?

Kann es sein, daß Du mich nicht verstanden hast?

Weil Dir Englischkenntnisse fehlen, bist Du darauf angewiesen, 
Programme danach auszusuchen, daß es deutschsprachige Dokumentation für 
sie gibt.

von Dr. Sommer (Gast)


Lesenswert?

Kritical R. schrieb:
> vorab:
> gdb: nein
> grund: meine englischkenntnisse reichen für die doku nicht aus

Oh man, der GDB ist wirklich nicht schwierig zu bedienen. Wenn's daran 
schon scheitert...

von F. F. (foldi)


Lesenswert?

Dr. Sommer schrieb:
> Oh man, der GDB ist wirklich nicht schwierig zu bedienen. Wenn's daran
> schon scheitert...

Das ist dann die Kurzfassung warum Englisch nötig ist ...

von georg (Gast)


Lesenswert?

Kritical R. schrieb:
> ich lese gerade ein asm wiki buch

Wie kommst du denn darauf, ausgerechnet Assembler ohne 
Englischkenntnisse programmieren zu wollen? Assembler-Befehle sind 
reines Englisch, da wird es sehr sehr mühsam, wenn du beim Begriff Carry 
erst nachschlagen musst, dass das auf Deutsch Übertrag heisst (was auch 
noch kein tieferes Verständnis garantiert).

Es hat Versuche gegeben, sowas wie ein deutsches Basic zu definieren, 
aber das ist alles ausgestorben (mit Recht! das war grausam). Mir fällt 
im Moment keine nicht-englische Programmiersprache ein. Übrigens 
schreibe ich in Assembler auch die Kommentare englisch, ich finde 
Assembler-Code mit deutschen Erläuterungen sieht irgendwie albern aus.

Georg

von Dr. Sommer (Gast)


Lesenswert?

georg schrieb:
> Mir fällt im Moment keine nicht-englische Programmiersprache ein.

"Logo" natürlich. Durften wir in der Schule benutzen, weil der 
Informatik Lehrer kein Englisch konnte.

von Kritical R. (kritical_r)


Lesenswert?

@rufus
mir ist gerade klargeworden, dass ich dich nicht verstanden habe :D
Du meintest also, dass ich nicht die funktionen bewerten kann, ohne 
dafür notwendigen englisch kenntnisse.

bug bounty thread gings mir nur darum zu erfahren wie man legal hacken 
lernen kann, ich war mir sicher, dass das geht, da man auch legal für 
die fähigkleiten bezahlt werden kann, die lösung ist für mich ein 
eigenes offline netzwerk.

und wieso weshalb?
ich werde mal weiter an dem wiki x86asm buch weiter arbeiten weil ich 
lust drauf habe, ich hoffe, dann eine vorstellung zu bekommen wie das 
mit anderen chips funktioniert. Ich werde mich einfach auf das thema 
fixiren und dannach hoffe ich die möglichkeiten zu erkennen, die ICH mit 
asm haben werde. bei dem buch hoffe ich, das es da keine stolperfallen 
gibt, da ich die cpu habe und den assembler, das empfohlene debug 
programm gabs ja leider nicht, in win8, aber ich hoffe weiter einfach 
das buch abarbeiten zu können.

und danke nochmal an alle für euere links, ich probiere bestimmt alle 
aus :)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Kritical R. schrieb:
> Du meintest also, dass ich nicht die funktionen bewerten kann, ohne
> dafür notwendigen englisch kenntnisse.

Nein:

Kritical R. schrieb:
> gdb: nein
> grund: meine englischkenntnisse reichen für die doku nicht aus

von Kritical R. (kritical_r)


Lesenswert?

Ich werde erst weiter am debug kapitel arbeiten.
Wenn Du dann noch anderen themen mit mir besprechen willst kannst du 
mich gerne anschreiben

: Bearbeitet durch User
von S. R. (svenska)


Lesenswert?

georg schrieb:
> Mir fällt im Moment keine nicht-englische Programmiersprache ein.

Excel.

Kritical R. schrieb:
> und ich soll mein erstes programm mit dem debuger.exe starten.

Mir ist kein solches Programm bekannt.

Zu DOS (inkl. FreeDOS) gehört DEBUG.COM (oder DEBUG.EXE), und wenn dein 
Buch auf irgendwelche Programme verweist, sollte es auch Informationen 
darüber enthalten, wo man diese bekommt. Windows enthält meines Wissens 
keinen Debugger.

An deiner Stelle würde ich die GNU Toolchain lernen (also gdb). Reichen 
deine Kenntnisse nicht dafür aus, dann besorge sie dir zuerst.

von Blechbieger (Gast)


Lesenswert?

S. R. schrieb:
> Excel

Mit dem häßlichen Effekt dass die Dateien inkompatibel zwischen den 
verschiedenen Sprachversionen werden sobald man Formeln benutzt. Wie kam 
MS nur auf die Idee das direkt abzuspeichern statt es nur einfach in der 
passenden Sprache anzuzeigen.

von Dr. Sommer (Gast)


Lesenswert?

Blechbieger schrieb:
> statt es nur einfach in der passenden Sprache anzuzeigen.

Einen "Programmcode" live zu bearbeiten zwischen Anzeige und Speicherung 
ist aber auch haarig und bietet allerlei Möglichkeit für Probleme. Da 
würde ich diese Mehrsprachigkeit lieber ganz weglassen...

von Kritical R. (kritical_r)


Lesenswert?

Es geht wieder weiter.
Ich habe jetzt die dosbox und das Programm DebugX, was ich einfach 
entpacken musste
hier ist ein screen shoot
http://www.bilder-upload.eu/upload/315d0f-1523987482.png
man kann sehen wie ich mein erstes programm mit dem tool anschaue, so 
wie es im buch auch gemacht wird.
und die dateien die mit dem tool kommen, also ordnerstruktur, die firs.* 
dateien sind von mir.
und hier nochmal die adresse des wiki buches asm x86:
https://de.wikibooks.org/wiki/Assembler-Programmierung_f%C3%BCr_x86-Prozessoren

von ~Mercedes~ (Gast)


Lesenswert?

@Kritical,

Warum willst Du unbedingt mit dem segmentierten
16 - Bit Kram anfangen?
Den braucht heut keiner mehr, wenn Du nicht gerade
im Bios rumhuren willst.

Hole Dir die Schnupperversion von
Purebasic,(32 Bit Version) schreib ein kleines Proggy
und sehe Dir den produzierten Assembler
in dessen Debugger an!

Dann läßt Du IDA auf das Proggy los
und staunst!  Lerne!
Weil die EXE dann nur 3 KB groß ist,
kann man wunderbar mit IDA rumspielen!

Und dann, wie die hasen hier vorgeschlagen haben, English lernen!

mfg

von Kritical R. (kritical_r)


Lesenswert?

hi Mercedes,
ich will ja irgendwann microkontroller programmieren, ich dachte es ist 
egal was für ein asm buch ich jetzt neheme und habe dieses ältere 
ausgewählt, es ist ja auf deutsch.
sicher in meine elektronik buch lerne ich arduino, aber ich wollte asm 
nebenbei schonmal einsteigen. bios wollte ich erst mal für einen älteren 
pc, weil ich gerne jede linux distribution zum laufen kriegen wollte, 
aber ich habe mich entschieden einen neueren pc mit 1GB ram zu kaufen, 
somit laufen mehr distributionen drauf und so lasse ich das bios asm 
erstmal weg

von Dr. Sommer (Gast)


Lesenswert?

Die Assemblersprachen für die meisten Mikrocontroller sind viel 
einfacher und wohlstrukturierter als X86-ASM. Da würde ich lieber erst 
damit anfangen als sich mit dem elenden völlig veralteten 
8086er-Assembler rumzukrücken.

von Kritical R. (kritical_r)


Lesenswert?

ich habe bisher auch alles gut verstanden, aber als die debug analyse 
kamm, da war die erklärung dann doch etwas viel für mich, bestimmt, weil 
es soviele register und flags gibt, bei microcontroller sind das 
bestimmt weniger, stimmts?

Also ich kann jetzt auch erst mal das asm buch zumachen und nur das 
elektronikbuch machen,
das pausiert nur, weil ich erst 2 relais 9v bestellen muss, ich finde es 
komisch, das diese 3 euro kosten, wo die anderen bauteile alle nur cents 
kosten.

naja und ich lese ja noch ein linux buch, also bin kann ich ja erstmal 
das asm buch zu machen, wenn die normalen microkontroller wirklich 
besser für den einstieg sind

von ~Mercedes~ (Gast)


Lesenswert?

Hole Dir ein Assemblerbuch von O'Reilly, die gibts auch
in deutsch.

Und die Schnupper Version von IDA 7.0,
die kann seit Neuestem auch 16 Bit.

Versuchs einfach mit Purebasic.
IDA ist das Ding im reverse engineering, Du mußt es lernen!
Und die Vollversion kann dann eine Menge Prozessoren, auch
Mikrocontroller.

Assembler lernen solltest Du aber mit WinAsm oder ähnlichem
in 32 Bit!

mfg

von Kritical R. (kritical_r)


Lesenswert?

@~Mercedes~ habe leider nur das Make: avr buch von o`Reilly gefunden,
IDA sieht schon mal super cool aus, hm, ...wegen dem buch frage ich 
morgen mal den buchhändler bei mir, ...also gibt es das buch?

: Bearbeitet durch User
von ~Mercedes~ (Gast)


Lesenswert?

@Kritical, fröhliches suchen! ;-P

Ich hab gerade mal geschaut, leider gibts von
O'Reilly zur Zeit nix in Deutsch, das einzig
brauchbare Buch, das ich gefunden hab und
das auch nicht historisch ist:

ISBN-10: 3486200011
ISBN-13: 978-3486200010

Das Buch hat den Vorteil, auch Hochsprachen zu berücksichtigen
( Stack - Rahmen u.s.w. ) ist aber offenbar nicht ganz für Anfänger.

Während es fürs Hacken mit Kali - Linux mehere Bücher gibt
ist das Meiste über Assembler von 2000 oder früher. :-O

mfg

von Kritical R. (kritical_r)


Lesenswert?

wieso muss den das asm buch relativ aktuell sein?
um was geht es den?

klar ist einen neue Arbeitsumgebung für aktuelle Computer ausgelegt, und 
eventuell werden neue usb programmer unterstützt, ist das der Grund, das 
man mit einer aktuellen entwicklungs Paket begleitet wird?

Die Bücher habe ich auch gefunden, wusste aber jetzt nicht genau nach 
welchen Kriterien ich suchen sollte.
32 bit und deine Software Auswahl ist schon mal ein guter Anhaltspunkt, 
ich werde auch mal nach dem basic Büchern suchen.

als board habe ich natürlich auch den ardurino im meinem Elektronik 
buch, das ist aber schon eine höhere spreche. aber c und basic gefallen 
mir schon mal, anstatt c++ fühle ich mich aber bei VS-basic wohler (also 
c++ und vs basik habe ich bisher nur reingeschaut, aber c und irgend ein 
basic habe ich schon erfolgreich was zustande gekriegt)

: Bearbeitet durch User
von georg (Gast)


Lesenswert?

Wenns um Assembler an sich geht, ist der Real Mode 8086 am 
allerungeeignetsten, um was zu lernen. Mit der Verwurstelung von Segment 
und Adresse ist er sehr weit entfernt von allen anderen Assemblern.

Kritical R. schrieb:
> als board habe ich natürlich auch den ardurino im meinem Elektronik
> buch, das ist aber schon eine höhere spreche

Aber klar kann man da auch in Assembler programmieren. Eigentlich kann 
man das auf jedem Prozessor, denn die Befehle im Assembler sind im 
wesentlichen die Maschinenbefehle der Prozessor-Hardware. Ganz 
hartgesottene Entwickler brauchen nicht mal ein 
Assembler-Übersetzungsprogramm, sondern codieren direkt in Hex - so 
haben wir Alten mal angefangen.

Meine Empfehlung daher: programmiere auf deinem Arduino in Assembler.

Georg

von Kritical R. (kritical_r)


Lesenswert?

@georg, ich will mir nur kein falsches buch kaufen

: Bearbeitet durch User
von c-hater (Gast)


Lesenswert?

georg schrieb:

> Wenns um Assembler an sich geht, ist der Real Mode 8086 am
> allerungeeignetsten, um was zu lernen. Mit der Verwurstelung von Segment
> und Adresse ist er sehr weit entfernt von allen anderen Assemblern.

Ach watt. Das ist nur eine Perversion dieser Architektur, die den 
Perversionen anderer Architekturen in nix nachsteht, sondern eher sogar 
noch verhältnismäßig harmlos und leicht zu verstehen ist.

Der entscheidende Knackpunkt auf dem Weg zum wirklichen 
Assembler-Programmierer ist, all die Obszönitäten der jeweiligen 
Zielarchitektur 1)  zu verstehen und 2) diese sinnvoll (also effizient) 
nutzen zu lernen.

Dabei ist 1) typischerweise das weitaus kleinere Problem, denn das 
erfordert nur reinen Lern-Fleiß...

2) hingegen erfordert schöpferische Intelligenz. Das ist nicht nur die 
Spielwiese guter Asm-Programmierer, sondern auch die der Compilerbauer. 
Hier scheidet sich die Spreu vom Weizen.

von Kritical R. (kritical_r)


Lesenswert?

da bin ich mit meinen kleinen ardurieno projekten bestimmt raus, ich 
möchte z.B. auch einen VR handschuh bauen aber die chips habe heute 
bestimmt viel mehr leistung als ich brauche, einen pc werde ich 
wahrscheinlich nicht bauen

von F. F. (foldi)


Lesenswert?

Kaufe auf keine Fall von Schwabel-Schmidt (weiß nicht ob es richtig 
geschrieben ist).
Der Type hat's zwar drauf, aber unlesbar.
Da kriegst du Augenkrebs.

von Kritical R. (kritical_r)


Lesenswert?

jo danke, ich werde die augen offen halten ;)

ich hoffe ich werde alles auf lunux machen können, wegen WinAsm.
ich schreibe das mit lWinAsm auch jetzt nur nach gefühl, weil ich erst 
ein paar tage pause machen :)
edit: beziehungs weise ich muss erst alle infos suchen und sortieren und 
einbischen ausprobieren

: Bearbeitet durch User
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Kritical R. schrieb:
> ich hoffe ich werde alles auf lunux machen können, wegen WinAsm.

Hä?

> WinAsm Studio is a free Integrated Development Environment IDE
> for developing 32-bit Windows and 16-bit DOS programs using
> the Assembler.

von georg (Gast)


Lesenswert?

Kritical R. schrieb:
> wegen WinAsm

Das ist ein Programm auf Windows für Windows - warum die Sache mit 
Gewalt verkomplizieren? Für einen blutigen Anfänger ist das nicht die 
optimale Strategie.

Ausserdem kannst du das Ergebnis ja nur unter Windows realistisch 
testen. So alle paar Minuten, wenn du ein Programm schreibst.

Georg

von Kritical R. (kritical_r)


Lesenswert?

ich denke ich mache beise systeme auf mein laptop weil ich linux lernen 
möchte und am desktop pc habe ich dann ja sowieso windows

von Gustl B. (-gb-)


Lesenswert?

http://radare.org darf natürlich nicht fehlen. Und hier ein kurzweiliger 
Talk dazu: https://media.ccc.de/v/33c3-8095-radare_demystified

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.