Forum: Mikrocontroller und Digitale Elektronik Suche kostenloses Renesas H8S/2350 Disassemblerprogramm


von Suchender (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich suche ein kostenloses Disassemblerprogramm für den Renesas H8S/2350 
um die Dateien im Anhang mal ansehen zu können. Leider weiß ich auch 
nicht welcher Dateityp dafür nötig ist, deshalb habe ich mal alle drei 
angehangen.

.Bin für Binärformat bzw. ohne Endung,
.Hex für Intelhexformat,
.GPF für Galep4format ( GALEP4 ist das Schreib/Lesegerät ).

von Krapao (Gast)


Lesenswert?

Hast du eine GNU Toolchain für diesen µC? Wenn ja, dann schau dir die 
Optionen des Programms objdump aus den dazugehörenden Binutils an.

von Suchender (Gast)


Lesenswert?

Hi,

suche und versuche schon die ganze Zeit auf der Homepage von Renesas 
HEW4 ( High-performance Embedded Workshop ) zu installieren,
jedoch gibt es da wohl nur Updates zu HEW4 zum Download.

Kennt jemand noch ein anderes Programm womit ich mein Ziel erreichen 
kann.

Ratloser Suchender

von W.S. (Gast)


Lesenswert?

Schreib dir doch einfach sowas selber. Hat auch ein paar nützliche 
Seiteneffekte: Man lernt den uC viel besser kennen und man lernt 
ebenfalls, wie ein Intel- oder Motorola-Hexcode aufgebaut ist und wie 
man ein interaktives Programm schreibt.

W.S.

von Suchender (Gast)


Lesenswert?

W.S. schrieb:
> Schreib dir doch einfach sowas selber.
>
Kann ich leider nicht.

Arbeitet denn niemand mit diesem Controller, so daß Sie/Er mir mal die 
Dateien im Anhang disassemblieren kann ?

Suchender

von Disassembler (Gast)


Lesenswert?

Wenn Du allein keinen einfachen Einpass-Disassembler (stur Byte für Byte 
per Tabelle ab bekannter Startadresse des Prozessors zuordnen, absolute 
Programmverzweigungsbefehle erkennen und den Sprungadressen folgen, 
Interruptadressen bzw. -vektoren finden und verfolgen, usw.) 
hinbekommst, wirst Du mit dem disassemblierten Code auch nicht viel 
anfangen können. Sorry. Hast Du die bin-Datei schon mal mit einem 
Hexeditor angeschaut, um eventuelle Texte/Strings oder andere Strukturen 
zu finden?

von visitor (Gast)


Lesenswert?

Hier gibts die Eval-Version der HEW :

http://www.renesas.eu/products/tools/evaluation_software/

Volle Funktion bis 64kB nach Eval-Phase.

von Suchender (Gast)


Lesenswert?

visitor schrieb:
> Hier gibts die Eval-Version der HEW :
>
> http://www.renesas.eu/products/tools/evaluation_software/
>
> Volle Funktion bis 64kB nach Eval-Phase.
>
Leider wird hier immer nach einer LoginID und einem Password gefragt !!!

Suchender

von Willi (Gast)


Lesenswert?

Suchender schrieb:
> Leider wird hier immer nach einer LoginID und einem Password gefragt !!!

Dein LoginID nennst Du Suchender und Dein Passwort Gast. Ist doch nicht 
schwer!

Suchender schrieb:
> Arbeitet denn niemand mit diesem Controller, so daß Sie/Er mir mal die
> Dateien im Anhang disassemblieren kann ?

Wenn man damit arbeitet hat man die Quelldateien!
Bei einem gut optimierten Code siehst Du auch mit einem Diss-Ass nicht 
viel. Und umso weniger, wenn Du Dir diesen nicht selber schreiben 
kannst.

von W.S. (Gast)


Lesenswert?

Suchender schrieb:
> Kann ich leider nicht.

Dann laß es ganz sein.

Wer sich nicht wirklich mit der CPU befassen will, der würde auch vom 
Output eines Disassemblers nichts haben.

Merke: Die gebratenen Tauben fliegen einem hierzulande nicht von 
selbst in den Mund.

W.S.

von holger (Gast)


Lesenswert?

>Wer sich nicht wirklich mit der CPU befassen will, der würde auch vom
>Output eines Disassemblers nichts haben.

Wie hier mal ein schlauer Mensch sagte:
Aus einem Hamburger kann man kein Rind mehr machen.

Die vier Bytes am Ende der BIN Datei sehen doch stark
nach einer 32 Bit Checksumme aus. Wenn man ein Byte ändert
stimmt sie nicht mehr. Vermutlich läuft dann das Programm
auch nicht mehr.  Änderungen am Programm erfordern dann wohl
auch eine Änderung der Checksumme. Oder man findet die Stelle
wo die Checksumme verglichen wird. In einem Disassembling von
knapp 256kB Code (der Rest ist 0) kann man da eine sehr lange Zeit
nach suchen. Ein Anfänger wird das nie finden.

von Suchender (Gast)


Lesenswert?

holger schrieb:
>
> Die vier Bytes am Ende der BIN Datei sehen doch stark
> nach einer 32 Bit Checksumme aus. Wenn man ein Byte ändert
> stimmt sie nicht mehr. Vermutlich läuft dann das Programm
> auch nicht mehr.  Änderungen am Programm erfordern dann wohl
> auch eine Änderung der Checksumme. Oder man findet die Stelle
> wo die Checksumme verglichen wird. In einem Disassembling von
> knapp 256kB Code (der Rest ist 0) kann man da eine sehr lange Zeit
> nach suchen. Ein Anfänger wird das nie finden.
>
Danke für den Hinweis.
Habe evtl. die Möglichkeit, dann einen Profi zu rate zu ziehen.
Der ist wahrscheinlich nicht auf Renesas spezialisiert, aber 
verschiendene Controller hat er schon in Assembler programmiert.
Nur muß ich da schon ein wenig Vorarbeit leisten und mein kleiner 
Beitrag wäre zu Anfang halt den dissamblierten Code zur Verfügung zu 
haben.

Habe gehofft hier einen anzutreffen, der in der Lage ist diesen Code zu 
Disamblieren, da die Renesas Controller doch eher ein Nischen dasein 
fristen bei den Amateuren bis vielleicht auf den R8C oder so ähnlich.

Ist denn wirklich niemand hier, der in der Lage ist und sich auch noch 
die Mühe macht den Code zu Disamblieren ?

Suchender

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Suchender schrieb:
> Ist denn wirklich niemand hier, der in der Lage ist und sich auch noch
> die Mühe macht den Code zu Disamblieren ?

Die, die es können, werden den Sinn darin nicht sehen.

Was willst Du erreichen?

von Krapao (Gast)


Lesenswert?

Sieht nach Rasenmäher pimpen aus. Vielleicht wie in anderen Threads 
Closed Source irgendwie öffnen und/oder Hirnaustausch am freundlichen 
Robot.

von Suchender (Gast)


Lesenswert?

Krapao schrieb:
> Sieht nach Rasenmäher pimpen aus. Vielleicht wie in anderen Threads
> Closed Source irgendwie öffnen und/oder Hirnaustausch am freundlichen
> Robot.
>
Es geht konkret darum, zu sehen worin sich die Flashs der beiden RMR 
RL500 und RL800 unterscheiden. Dachte eher hier auf Experten in Sachen 
Mikrocontroller zu treffen.
http://www.roboternetz.de/community/threads/49801-Robomow-RL800-f%C3%A4hrt-Schlangenlinien/page3?p=521085&viewfull=1#post521085

Suchender

von W.S. (Gast)


Lesenswert?

Suchender schrieb:
> Dachte eher hier auf Experten in Sachen
> Mikrocontroller zu treffen.

Hehehe! Das klingt mir aber ein bissel zu beleidigt in den Ohren.

Also, du bist hier schon richtig, nämlich unter den Experten in Sachen 
Mikrocontroller. Aber du solltest dich nach den anfangs gegebenen 
dezenten Hinweisen auf deinen Allerwertesten setzen und selber was 
leisten. Im Grunde ist das ja auch kein großer Hit, ne Menge Leute hier 
(mich eingeschlossen) haben sich für ihre Belange schon mal nen 
Disassembler geschrieben.

Genau duch eigenes Bemühen (studere = sich bemühen, sich bilden) wird 
man nämlich klüger respektive sachkundiger. Durch bloßes Suchen nach 
einem Neger, der einem die Arbeit macht, lernt man allenfalls das 
effektivere Schmarotzen, was allerdings nur selten gern gesehen wird.

Also setz dich mal hin und entwirf dir einen einfachen Disassembler in 
der Programmiersprache deiner Wahl.

W.S.

von holger (Gast)


Lesenswert?

>Es geht konkret darum, zu sehen worin sich die Flashs der beiden RMR
>RL500 und RL800 unterscheiden.

Musst du halt die HEX Dateien vergleichen.

>Dachte eher hier auf Experten in Sachen
>Mikrocontroller zu treffen.

Da bist du hier richtig.

>Habe evtl. die Möglichkeit, dann einen Profi zu rate zu ziehen.
>Der ist wahrscheinlich nicht auf Renesas spezialisiert, aber
>verschiendene Controller hat er schon in Assembler programmiert.

Und weil er den Renesas nicht kennt kennt er auch dessen
Assembler Mnemonics nicht. Da könntest du auch deine Mammi fragen.

>Nur muß ich da schon ein wenig Vorarbeit leisten und mein kleiner
>Beitrag wäre zu Anfang halt den dissamblierten Code zur Verfügung zu
>haben.

Der zu nichts taugt. Selbst wenn du einen findest der jahrelange
Erfahrung mit Assembler auf Renesas hat, der fragt dich nur ob du
noch alle Tassen im Schrank hast.

von Suchender (Gast)


Lesenswert?

holger schrieb:
>
>>Nur muß ich da schon ein wenig Vorarbeit leisten und mein kleiner
>>Beitrag wäre zu Anfang halt den dissamblierten Code zur Verfügung zu
>>haben.
>
> Der zu nichts taugt...
>
Das kann man doch wohl erst sagen, wenn man den Assemblercode versucht 
zu entschlüsseln oder hast Du es schon versucht ?
Naja, einen Überblick hast Du dir ja schon verschafft, ich denke beim 
Betrachten der reinen Bindatei.

Es hört sich auch so an als ob Du ahnung von der Materie hast. Aber 
warum tut mir hier eigentlich keiner den Gefallen und dissambliert den 
Code einmal. Dann wüsste ich auch ob sich weiters studere überhaupt 
lohnt, denn hier zu schreiben und im www zu stöbern ist auch bemühen.
Wie ihr seht haben Anfänger mit den für euch leichten Dingen ganz schöne 
Mühen, die ihr nicht mehr versteht, weil für euch mittlererweile solche 
banalen Sachen so einfach sind.

Suchender

von Disassembler (Gast)


Lesenswert?

Was genau willst Du im disassemblierten Code erkennen?

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

Suchender schrieb:
> dissambliert

dieses Wort gibt es nicht.

Der Vorgang heißt "assemblieren" (von "to assemble" = zusammensetzen) 
oder dis-assemblieren {natürlich ohne Bindestrich}.

Die entsprechenden sonstigen Worte heißen demzufolge
Disassembler
disassemblieren
Disassemler-Listing
Disassemblat (das Wort gibt aber Einblutungen in die Augäpfel)
etc.

hast du denn schon mal die Evaluierungs-Version des Disassemblers runter 
geladen und versucht ans Laufen zu bekommen?

Der Vorgang des disassemblierens ist weitaus "umständlicher" als du dir 
das vermutlich laienhaft vorstellst.

Die vom Compiler vorgenommenen Optimierungen, hinzugebundene 
Codebibliotheken, Prüfsummenroutinen zur Absicherung des Binär-Abbildes 
und weitere Schweinereien "kennt" und berücksichtigt ein normaler 
Disassembler nicht, selbst wenn er aus dem selben Hause wie die 
"Toolchain" zur Code-Erzeugung (also Compiler etc) stammt.

Da ist viel Fachwissen angesagt, wie der zugehörige Compiler arbeitet, 
wie der zu analysierende Prozessor aufgebaut ist 
(Interupt-Vektor-Sprungtabellen etc) und weiteres.

Und selbst elementare algorithmische Operationen wie Schleifen etc. sind 
schwer genug zu deuten. Von disassemblierten algorithmischen Dingen wie 
folgendes fiktives im fiktiven Pseudocode ganz zu schweigen:

define Scheibendurchmesser 43
  # 43 mm ist die Ritzelscheibe im Durchmesser
define Zaehhlimpuls = Taktrate / Scheibendurchmesser
int Sicherheitsabstand = 92
  # 92 Zaehlimpulse ergeben einen Abstand von 8 cm,
  # das entspricht einem geeigneten Abstand bei maximaler 
Fahrgeschwindigkeit, um akzeptabel abzubremsen

Was glaubst du, was du von diesen "Fachwissen" in deinem 
Disassembler-Listinng noch wiederfindest? Reineweg garnix, weil 
irgendwelche Register scheinbar willkürlich mit irgendwelchen Werten 43 
und 92 geladen und verglichen werden, und du kommst im Leben nicht 
drauf, woher diese Werte kommen ...

Fazit: Wenn du dich gut mit dem Assembler des jeweiligen Prozessors 
auskennst, dann kannst du mit einigem Fleiß auch ein 
Disassembler-Listing einigermaßen interpretieren.

Ansonsten kommst du (selbst als Assembler-kundiger eines anderen 
Prozessortyps) über mehr als die Auflistung und Betrachtung von 
ASCII-Strings in deinem Binärfile kaum hinaus. Dazu reicht aber dann ein 
einfacher Hex-Editor.

Zur Übung würde ich dir folgende Vorgehensweise empfehlen (dies sind 
übrigens die selben Schritte, welche du von den Forums-Teilnehmern als 
kostenlose Leistung anforderst, du siehst vermutlich selbst ein daß das 
nicht in einer viertel Stunde erledigt ist)

Schreib dir selber ein einfaches "hello world" Programm und übersetzte 
es mit dem mit dem zugehörigen Compiler. Nimm dann einerseits das 
Assembler-Listing des Programms, das dir ja durch den Compile-Vorgang 
zur Verfügung steht, und andererseits disassemblierst du das fertige 
Programmm.   Vergleiche nun das Disassembler-Listuing mit dem 
Assembler-Listing und versuche dir einen Reim zu machen, was der 
Disassembler anders gemacht hat, da das Assembler-Listing so ganz anders 
ausssieht wie das Disassembler-Listing.

Dann nimm das ursprüngliche Assembler-Listing, und versuche dort das 
"hello World" Programm wieder zu finden. Varieiere dei Programm ein 
wenig baue z.B. eine kleine Scheife ein  (lass dir z.B. "hello world" 10 
mal eingeben, lese eine Variable ein etc)

Lese das Assembler-Listing und versuche dei Änderungen nachzuempfinden.

Wenn du dann entwas Vertrauen in deine Fähigkeiten der 
Assemler-Listing-Deutung gewonnen hast, kannst du dich ja dann in das 
disassemblieren deines oben genannten binaries machen. Du wirst dann dei 
wesentlichen Funktionsblöcke (Programminitialisierung, 
Bibliotheksroutinen-Position etc) ja schon kennen und beim 
Disassembler-Listiung geeignet berürcksichtigen können.

von Suchender (Gast)


Lesenswert?

Wegstaben Verbuchsler schrieb:
>
> Der Vorgang des disassemblierens ist weitaus "umständlicher" als du dir
> das vermutlich laienhaft vorstellst.
>
Anworte jetzt erstmal auf diese kleine Passage. Der Rest kommt 
irgendwann später.

Habe noch ganz ganz schwach Gespeichert, das es so etwas zu MC68HC11 
zeiten in der Entwicklungsumgebung IDE11 gab. Deshalb wundere ich mich, 
das dies heut zu tage umständlicher ist. Aber ich denke Du wirst wohl 
damit recht haben.

Suchender

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

Suchender schrieb:

> Deshalb wundere ich mich,
> das dies heut zu tage umständlicher ist.

es ist heutzutage nicht umständlicher als damals, sondern genau so 
umständlich. Es ist halt generell sehr schwierig bis  nicht möglich, aus 
der Frikadelle wieder ein fertiges Schwein zu rekonstruieren.

sobald / sofern das nur mit einem einfachen one-pass Disassembler etwas 
versuchst, wird das nur zu merkwürdigen Ergebnissen führen. Wie gesagt, 
probiere es mal selber aus, übersetze ein einfaches "hello world" 
Programm und disassembliere es anscheinend.

#include <stdio.h>
int main(void)
{
    printf("hello world\n");
    return 99;
}

Ohne Vergleichsmöglichkeiten (d.h. also ohne Kenntniss des vorliegenden 
C-Programms) wirst du vermutlich außer dem Textstring nicht viel 
wiederfinden in deinem Disassembler Listing, da dir der generelle 
Laufzeit-Ablauf deines Programms unbekannt ist. Vermutlich wird aber 
auch der Textstring zu irgendwelchen Assembler-Befehlen zermust werden.

MIT einem Beispielprogramm (z.B. dem hello_world) und MIT der scharfen 
Analyse, wie das hello_world Programm in Assembler dargestellt wird, und 
MIT viel Intuition wirst du dann mit viel Glück in der Lage sein, ein 
dir unbekanntes Programm soweit zu sezieren im Disassembler-Listuing, 
daß du wesentliche algorithmische Stukturen herleiten kannst.

Viuelleicht hast du mit einem leistungsfähigeren Werkzeug wie IDA (--> 
http://de.wikipedia.org/wiki/The_Interactive_Disassembler) mehr Erfolg, 
allerdings muß du dich da erst mal auf die Suche nach passenden 
Configdateien für den von dir benannten Prozessor finden oder selbst 
erstellen


> Habe noch ganz ganz schwach Gespeichert, das es so etwas zu MC68HC11
> zeiten in der Entwicklungsumgebung IDE11 gab.

Na das klingt ja als ob du dich selbst mit dem Thema ein wenig 
auskennst. Daher müßte dir doch das zuvorgesagte aus deinen Urrzeiten 
bekannt ist. Also ran ans Werk, fröhlich übersetzt, assembliert, 
disassembliert.
Machen, staunen, analysieren, verstehen etc. werden deine 
Erfolgs-Triggerpunkte sein.

von Suchender (Gast)


Lesenswert?

Wegstaben Verbuchsler schrieb:
>
> Viuelleicht hast du mit einem leistungsfähigeren Werkzeug wie IDA (-->
> http://de.wikipedia.org/wiki/The_Interactive_Disassembler) mehr Erfolg,
> allerdings muß du dich da erst mal auf die Suche nach passenden
> Configdateien für den von dir benannten Prozessor finden oder selbst
> erstellen
>
Danke für diesen Link.
Er war sehr vielversprechend, da es dort eine Demoversion gibt. 
Allerdings trat dann das Problem auf, das sich meine Hex, Bin und GALEP4 
Dateien nicht öffnen ließen, sondern das Programm PE, ELF oder Mach_O 
files haben möchte. Dabzu gab es den Hinweis auf ein Decompilerprogramm, 
welches jedoch nicht als Demoversion zu haben ist.
Und die Preise für diese Programme sind für mein Vorhaben
" Mal sehen was ich so entschlüsseln kann " völlig aus dem Rahmen.
http://www.hex-rays.com/products/ida/support/download_demo.shtml
http://www.hex-rays.com/products/decompiler/index.shtml
>
>> Habe noch ganz ganz schwach Gespeichert, das es so etwas zu MC68HC11
>> zeiten in der Entwicklungsumgebung IDE11 gab.
>
> Na das klingt ja als ob du dich selbst mit dem Thema ein wenig
> auskennst. Daher müßte dir doch das zuvorgesagte aus deinen Urrzeiten
> bekannt ist. Also ran ans Werk, fröhlich übersetzt, assembliert,
> disassembliert.
> Machen, staunen, analysieren, verstehen etc. werden deine
> Erfolgs-Triggerpunkte sein.
>
Das war die Zeit, wo ich überhaupt das Erstemal was von Mikrocontrollern 
gehört hatte. Und seinen eigenen Assemblercode zu schreiben und später 
noch zu verstehen ist ja bereits eine Kunst. Und den von anderen erst 
recht. Compilierten wahrscheinlich eine Kunst hoch zwei.

Da bereits die Beschaffung der Programme für diesen Renesas H8S/2350 
Controller zwecks disassemblieren solche Probleme bereitet vergess ich 
die ganze Sache lieber. Auch die Preise für dieses Vorhaben sind wohl 
eher etwas für Profis, also die jenigen die ihr Geld damit verdienen.

Danke für Deine Bemühungen.
Aber es wird schon seinen Grund haben, warum Renesas es einem so schwer 
macht. Denke die sind auf Profis aus und nicht auf Hobbyelektroniker.


Suchender

von Suchender (Gast)


Lesenswert?

W.S. schrieb:
> Suchender schrieb:
>> Dachte eher hier auf Experten in Sachen
>> Mikrocontroller zu treffen.
>
> Hehehe! Das klingt mir aber ein bissel zu beleidigt in den Ohren.
>
Ok, das war ein wenig provozierend gemeint, um den Einen oder Anderen 
aus der Reserve zu locken, da solch tiefgreifenden Sachen im Roboternetz 
sofort zum Abwenden der dortigen Teilnehmer führt.

Ich dachte halt das es hier einen gibt, der die nötige Software hat um 
die Dateien einmal zu Disamblieren oder mir wenigstens schreiben kann, 
wo ich diese kostenlos bekommen kann.

Hatte mal für den MC68HC11 eine IDE (Integrated Development Environment 
) Intergrierte Entwicklungsumgebung.
Dort war einfach ein Menüpunkt beim Debuggen dabei fürs Disamblieren. 
Das Programm kostet heute um die 50 Euro. Dachte also Disamblieren wäre 
kein großartiger Akt, wenn man die nötige Software dazu hat. 
http://elmicro.com/de/ide11.html

Zum Schluß kam ja auch was Vielversprechendes dabei heraus, doch ich 
denke Renesas ist halt nicht an Hobbyeletronikern interessiert.

Suchender

von Willi (Gast)


Lesenswert?

Suchender schrieb:
> doch ich
> denke Renesas ist halt nicht an Hobbyeletronikern interessiert.

Du schaffst es nicht, Dich dort unter irgendeinem Namen einzuloggen und 
jammerst hier rum, dass Dir keiner hilft.

Ich drücke es einmal positiv aus: mit einem dissassemblierten .hex-File 
kannst Du überhaupt nichts anfangen. Begreife es doch endlich!

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

Suchender schrieb:
> Dort war einfach ein Menüpunkt beim Debuggen dabei fürs Disamblieren.
> Das Programm kostet heute um die 50 Euro. Dachte also Disamblieren wäre
> kein großartiger Akt, wenn man die nötige Software dazu hat.

Nochmal: Das debuggen und zugehörige Code-anschauen ist kein 
"dis-assemblieren", sondern das "Ansehen" der Assembler-Befehle eines 
vorliegenden Quellprogramms.

In diesem Falle des Disassembler-tracens ist der IDE bekannt "wo sie ist 
(in welchem Quellbefehl)" und "was sie macht (Registertrace etc)".

Beim "echten" Disassemblieren von Binärobjekten liegt dir weder 
Quellprogramm, noch Laufzeitinformationen (Registerbelegung, 
Variableninhalte etc) vor, da du ja gar nicht "weißt, welche Register 
mit welchen Werten gefüttert werden, und welche Variablen es gibt.
Daher kommt mit großer Sicherheit im ersten Anlauf bei solch einem 
Disassembler-Listing nur Quark heraus.

Sowohl die eingebundenen Bibliotheksfunktionen als auch die 
Programm-Laufzeitumgebung werden dir gnadenlos mit disassembliert.

Mach andersrum mal folgende Rechnung auf:

von deinen 512 Kbyte großen binary werden sicherlich ein gewichtiger 
Teil Laufzeitumgebung, Bibliotheken und abgespeicherte Datenstrukturen 
sein. Oben wurde ja schon erwähnt, daß nur ca. 250 KB ungleich "0" sind.

Lass es also mal netto 100 Kbyte Code sein, der "echter" 
(funktionsspezifischer) Code ist, und den du disassemblieren möchtest, 
und den du in deinem *.bin File genau lokalisieren könntest.

Ich kenne den Prozessor nicht, aber nimm mal pessimistischerweise an, 
daß jeder Assemblerbefehl aus 4 Byte code besteht. Macht also ca. 25.000 
Assembler-Befehle.

Alleine das disassembliert gibt einen Papierberg (1 Blatt mit 80 Zeilen 
angenommen) von ca. 300 Seiten (25.000 / 80). Da kannst du lange drin 
rumstöbern, um was sinnvolles zu entdecken ...

Nimm weiterhin an, daß dem ganzen ein C Programm zugrunde liegt, welches 
jedes C-Elementarobjekt in (pessimistisch) 2-3 Assembler-Befehle 
übersetzt. Damit hast du ein Programm von ca. 10.000 "C-Befehlen" 
(Token), macht also locker ca. 30-50 "Seiten" reinen C-Quellcode.

für ein dokumentiertes Programm sind 2500 - 4000 "Lines of Code" (30x80 
.. 50x80) sicherlich nichts erschreckendes, was man nicht warten oder 
lesen könnte.

Es gibt aber durchaus auch "Programmier-Anfänger", welche es schaffen, 
ein Programm von 30 Zeilen vollständig "unleserlich" und 
"unverständlich" zu machen, so daß überhaupt nicht klar ist, was das 
Prgramm macht.

Das "Disassemblat" liest sich ca. genau so schlecht oder noch schlechter 
wie ein Programm von einem zuvor genannten Anfänger.

Und du glaubst ernsthaft, dein Kumpel könnte ein Disassembler-Listing 
von ca. 300 Seiten "mal so eben" ansehen und wesentliche 
Kontrollstrukturen (und Unterschiede zu einem anderen Objekt) erkennen? 
Ach nein, es ist ja deutlich mehr, da ja Bibliotheken, 
Laufzeitumgebungen etc. allse gnadenlos mit-disassembliert werden 
sollen, der Kumpel liest da locker drüber hinweg.

Wenn dein Kumpel das kann, kann er bei freier Gehaltswahl beim 
Geheimdienst oder in der Spionageabwehr etc. anfangen.




> ich denke Renesas ist halt nicht an Hobbyeletronikern interessiert.

Ich denke, kein kommerzieller Halbleiterhersteller ist an 
Hobbyelektronikern interessiert. Wozu auch? Die paar hunderttausend 
Hobbyelektroniker die es auf der Welt gibt mit ihrem Halbwisen sind 
vollkommen uninteressant. Die paar hundert Millionen Geräte oder 
Systemkomponenten, in denen deren Chips verbaut werden, sind "ein wenig" 
interessanter.

von Suchender (Gast)


Lesenswert?

Wegstaben Verbuchsler schrieb:
>
> Lass es also mal netto 100 Kbyte Code sein, der "echter"
> (funktionsspezifischer) Code ist, und den du disassemblieren möchtest,
> und den du in deinem *.bin File genau lokalisieren könntest.
>
> Ich kenne den Prozessor nicht, aber nimm mal pessimistischerweise an,
> daß jeder Assemblerbefehl aus 4 Byte code besteht. Macht also ca. 25.000
> Assembler-Befehle.
>
Sehr vielen Dank.
Deine Bemühungen mir klar zu machen, das dies ein Lebenswerk werden wird 
ist Dir gelungen. Mit meiner naiven Anfängermentalität habe ich auch 
diesmal die Sache erheblich unterschätzt.

Ich hatte jedoch vor, wenn ich diesen Schritt des Disssemblierens 
geschafft hätte, zwei Dateien miteinander zu vergleichen und " nur " die 
Unterschiede näher zu Untersuchen. Mir gefallen nämlich so 
Machenschafften wie diese oder ähnliche gar nicht. 
http://www.youtube.com/watch?v=_hC-9qNrr0Y

Suchender

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.