Hi, in meinem kleinen Projekt bin ich mittlerweile soweit, dass ich die ersten Besucher drauf los lassen kann. Es handelt sich um einen online Disassembler. Zur Zeit werden nur 3 processing Cores unterstützt, jedoch ist geplant das zu erweitern. Dies sind im Moment - 8080 - MCS-51 (8051,8052, etc) - z80 Geplant sind PIC, AVR, 8086, ARM, thumb(2) da diese aber teils deutlich komplexer sind, steht deren Umsetzung noch aus. Ihr findet das Projekt unter http://desperate-programmers.com/online-disassembler/ Über Feedback freue ich mich.
Hmm, mein erster, intuitiver Versuch klappte prima. Selbst der Z80 DJNZ Befehl ( Opcode 0x10 ) wurde richtig verarbeitet und das passende Sprunglabel erzeugt. Also erstmal, prima Idee !
Danke dir :-) Gerade habe ich in meiner lokalen Installation den AVR abgeschlossen. Ein paar Fehler sind sicher noch drin, da es doch ein paar Argumentformate in den Opcodes gibt. Ein paar Tests und dann kommt er auf der öffentlichen Version dazu :-) Dabei könnte ich ein wenig Hilfe gebrauchen. Im Moment teste ich anhand von ein paar kleinen .hex Files. Die beinhalten nur einen kleinen Bruchteil der Opcodes. Da ich selber bei ARM zuhause bin, würde ich mich freuen, wenn jemand .s und .hex files zum Testen und evtl. als Demo für den Disassembler zur Verfügung stellen könnte. Gerne auch für die anderen Kerne. Fremde Quellen will ich wegen Copyrights nicht nutzen.
Moin Maxx (Gast), Maxx schrieb: > in meinem kleinen Projekt bin ich mittlerweile soweit, dass ich die > ersten Besucher drauf los lassen kann. Es handelt sich um einen online > Disassembler. Ich möchte dir ja deinen Enthusiasmus nicht rauben, aber warum glaubst du daß die Welt einen Online Disassembler braucht? Ich meine, Disassembler schon, klar. Aber online? Damit man den Code auch schön in der Welt herumschickt? Oder baust du ein privates Repository an legacy code auf? }:-) > Zur Zeit werden nur 3 processing Cores unterstützt > - 8080 > - MCS-51 (8051,8052, etc) > - z80 Ja, toll. Genau das, wo es schon je geschätzt hundert Offline-Disassembler für gibt. XL
> aber warum glaubst du daß die Welt einen Online Disassembler braucht? Glaubt er das? > Aber online? Cloud..., Web 2.0... > Ja, toll. Finde ich auch. > Genau das, wo es schon je geschätzt hundert Offline-Disassembler für gibt. Ja, aber nur einen Online-Disassembler.
Egal ob das nun schick ist oder nicht: Ich schicke meinen Code nicht in der Welt herum. Im übrigen schreibe ich mir auch meine Disassembler selbst. So ein Hexenwerk ist das nun auch nicht.
Hallo Maxx, ich bin begeistert von Deinem Projekt! Und gleichzeitig darüber erschrocken, dass ich nach rund zwanzig Jahren Z80-Abstinenz immer noch im Kopf assemblieren kann. Auch die Pinbelegung des Z80 geht mir nicht aus dem Kopf. Leider musste ich feststellen, dass 0xD3 nicht korrekt disassembliert wird, d.h. das immediate-Argument für OUT (xx), A fehlt.
Axel Schwenke schrieb: > Ja, toll. Genau das, wo es schon je geschätzt hundert > Offline-Disassembler für gibt. Axel, du vergisst aber den Sinn einer Onlineplattform! Mittlerweile haben wir alle so viele verschiedene Systeme (Mac, Windows, Linux, Chromium, Android und was sonst noch kommt) und für jedes brauchen wir einen anderen "Offline"-Dissambler wie du sagst... das ist doch Scheisse wenn dann auch noch jeder Dissambler eine andere Umgebung hat oder anders funktioniert. HTML ist doch gerade das Bindeglied zu allen Systemen und es wird einheitlich auch auf allen System auf Anhieb unterstützt. Ich finde das Projekt super und befürworte Projekte die sich auf Cloud- oder HTML5-Applikationen richten
Ich hab gerade mal einen kleinen Test gemacht: 0000h: label_100: 21ffff ld hl, ffffh 0003h: cd0001 call label_100 Er lokalisiert das label_100 auf die Adresse 0000h. Der Call auf die 0100h geht dann auf das label_100, und nicht, wie es sein soll, auf die Adresse 0100h. Noch eine kleine Spielerei: 0000h: label_2000: 213412 ld hl, 1234h 0003h: cd0040 call label_4000 0006h: c30020 jp label_2000 Hier macht er den Call auf das label_4000, was gar nicht existiert. Der Jump geht dann auf das label_2000, welches aber wieder auf 0000h liegt. Weiter hab ich noch nicht probiert. Ich denke, das ist erstmal nur ein Problem mit dem Setzen der Labels. Ich finde die Idee gut, mach das ruhig weiter. Es wird immer Leute geben, die anderer Meinung sind. Aber es gibt auch genug, die dafür sind.
Nächster Fehler: Erfolgt ein Sprung an eine Adresse, die mitten in einem Mehrbyte-Befehl liegt, wird kein Label erzeugt.
> Ich schicke meinen Code nicht in der Welt herum.
Mal abgesehen davon, dass du paranoid bist wäre das auch gar nicht
erforderlich, sofern der Disassembler in JavaScript implementiert ist.
Super Sache! Ich freue mich schon auf die AVR und ARM Variante, denn mit den bisher unterstüzten Prozessoren kann ich nicht viel anfangen. Bezüglich der Nörger - schaut Euch mal diese Seite an: http://www.onlinedisassembler.com/odaweb/ So kann das aussehen, wenn es fertig ist. Finde ich ziemlich schick.
Tim . schrieb: > > Bezüglich der Nörger - schaut Euch mal diese Seite an: > Ich denke, du meintest "Nörgler". Maxx schrieb: > Über Feedback freue ich mich. Und das bekommt er natürlich. Was nützt ihm jemand der sagt "toll gemacht" und in Wirklichkeit sind Fehler drin? Das ist ja kein Nörgeln, sondern Unterstützung beim Verbessern. Ich denke, Maxx sieht das genauso. Sonst hätte er sich doch kein Feedback gewünscht...
Axel Schwenke schrieb: > aber warum glaubst > du daß die Welt einen Online Disassembler braucht? Ich meine, > Disassembler schon, klar. Aber online? Hallo Axel, ich glaube dass, weil ich vor der Situation stand, dass meine bisheriger online Disassembler, den man auch bequem auf Rechnern/Tablets nutzen kann auf denen man keine Software installieren kann/darf/möchte, ein Update erfahren hat der Ihn unbrauchbar macht. Mein eigener Bedarf reichte mir ;-) Anforderung für mich war vor allem, dass ich die gleiche Quelle in unterschiedlichen Systemen betrachten kann. (Siehe z.B. die ARM/x86 interop-Weiche im Blog) Das kann ich mit keinem existierenden Disassembler ausser vielleicht IDA aber auch da nur mit jeder Menge overhead. Axel Schwenke schrieb: > Damit man den Code auch schön in der Welt herumschickt? > > Oder baust du ein privates Repository an legacy code auf? }:-) Du kannst dich gerne selbst überzeugen, dass kein einziges Byte deiner Probe deinen Rechner verlässt. Was sollte ich auch damit? Ich kann damit nicht mehr als was ich offline mit fremden Quellen auch machen könnte. Ausser den rechtlichen Problemen wäre das zudem reichlich unpraktisch. In der Finalversion sollte ich dazu ein bissle was schreiben :-) Andreas Schweigstill schrieb: > Leider musste ich feststellen, dass 0xD3 nicht korrekt disassembliert > wird, d.h. das immediate-Argument für OUT (xx), A fehlt. Danke Anreas, das schaue ich mir heute Abend an. Andreas Schweigstill schrieb: > Erfolgt ein Sprung an eine Adresse, die mitten in einem Mehrbyte-Befehl > liegt, wird kein Label erzeugt. Danke, das ist zur Zeit eine bewusste Entscheidung und wird sicher zu einem späteren Zeitpunkt nachgeholt an der die grundsätzliche Übersetzung stabil ist. Ohne Einsprungaddressen und der Flußkontrolle folgender Assemblierung kann ein solches Label leider immer wieder vorkommen. Es kann sogar bewusst genutzt sein, um entsprechend Debugger in die Irre zu führen, da ein und die gleiche Bytefolge unterschiedlich abgearbeitet wird, je nachdem ob man "dazwischen" startet oder nicht. Da ich es im Moment nicht auflösen kann wird das label nicht inmitten einer Anweisung angezeigt. Thomas schrieb: >> Ich schicke meinen Code nicht in der Welt herum. > Mal abgesehen davon, dass du paranoid bist wäre das auch gar nicht > erforderlich, sofern der Disassembler in JavaScript implementiert ist. Genau das ist der Fall. ich schrieb: > Er lokalisiert das label_100 auf die Adresse 0000h. > Der Call auf die 0100h geht dann auf das label_100, und nicht, wie es > sein soll, auf die Adresse 0100h. Danke, da habe ich wohl irgendwo ein c&p Fehler übersehen. Wird korrigiert. --- Danke über das Feedback bisher. Ich werd mich bemühen es zeitnah auch im Quellcode zu würdigen.
Zum Testen habe ich dir mal ein Paket mit ASM und HEX Files geschnürt, in dem alle Befehle der jeweiligen Prozessoren getestet werden, ASM ist im Format des Table Driven Assemblers (TASM) von Thomas N. Anderson und als Vergleich gedacht. Sofern vorhanden, werden da auch die erweiterten Befehlssätze getestet. 5 MCs sind bei: 6502, 6800-6811, Z80, 8048 und 8051 Wenn du es brauchst, es gibt auch noch 8085, 8096, TMS32010 und TMS32025...
Martin N. schrieb: > Axel, du vergisst aber den Sinn einer Onlineplattform! Ich vergesse den keineswegs. Ich stelle ihn hingegen in Frage. Kein Zweifel, es gibt eine Menge Anwendungen, wo "die Cloud" oder halt generell eine Online-Variante nützlich sind. Aber bei einem Disassembler erschließt sich mir der Sinn so gar nicht (bei Tabellenkalkulation und Textverarbeitung übrigens genauso wenig). Reverse-Engineering ist ja auch nix, was man so nebenbei oder mit dem Tablet an der Strandbar macht. Man (ok: ich) pasted da auch keine Codeschnipsel in ein Tool, sondern jagt da typisch einen größeren Block (lies: alles was man hat) durch. Und dann wird iterativ - Code von Daten getrennt - Labels mit sinnträchtigen Namen versehen Maxx schrieb: >> aber warum glaubst du daß die Welt einen Online Disassembler braucht? > > ich glaube dass, weil ich vor der Situation stand, dass meine bisheriger > online Disassembler, den man auch bequem auf Rechnern/Tablets nutzen > kann auf denen man keine Software installieren kann/darf/möchte, ein > Update erfahren hat der Ihn unbrauchbar macht. Punkt 2 ok. Aber Punkt 1? Arbeiten auf Tablets? Das geht abseits von "Mail lesen" und "irnkwelche Dokumente ansehen" doch sowieso nicht. Und wenn ich auf einem Arbeitsrechner die zur Arbeit benötigten Tools nicht installieren kann/darf, dann ist ohnehin alles vorbei. > Anforderung für mich war vor allem, dass ich die gleiche Quelle in > unterschiedlichen Systemen betrachten kann. (Siehe z.B. die ARM/x86 > interop-Weiche im Blog) Das kann ich mit keinem existierenden > Disassembler ausser vielleicht IDA aber auch da nur mit jeder Menge > overhead. Hmm ja. Ich würde da einen Shell-Einzeiler schreiben, der den Binärcode durch eine Handvoll Disassembler jagt. Die eigentliche Arbeit ist ja ohnehin, das Ergebnis anzuschauen, ob das irgendeinen Sinn ergibt. Aber wie schon gesagt, ich will deine Arbeit nicht klein oder schlecht reden. Mich interessierte wirklich nur der Grund, warum man sich sowas aufhalsen würde. XL
Meiner Meinung nach müsste man heute jedes neue Projekt daraufhin prüfen, ob eine Implementierung mit HTML5, CSS und JavaScript möglich und sinnvoll ist. Die Vorteile liegen auf der Hand: * Keine Installation * Keine Updates * Zentrale Pflege * Überall und auf Jeder Plattform verfügbar * Ohne Änderung trotzdem lokal installierbar Nicht Umsonst ist in den letzten Jahren ein wahres Wettrüsten der großen Browserhersteller um die schnellste JavaScript Engine ausgebrochen. Apps sind out, das Web ist die Zukunft. Ein herausragendes Beispiel für eine Webapplikation ist auch http://www.mbed.org Auch genial: http://www.youtube.com/watch?v=H6dLGQw9yFQ Irgendwo starten, später irgendwo anders einfach weiter arbeiten, aufwändigere Berechnungen laufen zwischendurch unbeeindruckt weiter. Axel schrieb: > erschließt sich mir der Sinn so gar nicht > (bei Tabellenkalkulation und Textverarbeitung übrigens genauso wenig). Dir mangelt es einfach nur an Fantasie und Innovationskraft. Meine Freundin und ich nutzen Google Drive ja sogar als Einkaufszettel... Richtig schick wird es natürlich erst zur Organisation von z.B. Grillpartys inkl. Zu-/Absagen, Aufgabenverteilung, Einkäufe Abrechnung. Einen Google-Account benötigt dazu übrigens außer dem Organisator niemand.
Thomas schrieb: > Meine Freundin und ich nutzen Google Drive ja sogar als > Einkaufszettel... Und damit seid ihr nicht alleine ;-) Schönes Projekt, ich finde Online Tools auch extrem praktisch. Wie schon erwähnt keine Installation, keine Updates, keine Abhängigkeiten, im Idealfall unabhängig vom Betriebssystem usw. Wenn es schon CAD Programme etc. online gibt warum nicht auch sowas? Ist doch keiner gezwungen es zu nutzen, von daher verstehe ich die kritischen Kommentare nicht.
Maxx schrieb: > Da ich es im Moment nicht auflösen kann wird das label nicht inmitten > einer Anweisung angezeigt. Naja, mal völlig unabhängig von irgendwelchen Schweinereien wie Code mit Byteversatz zweimal abzuarbeiten, was gerade beim Z80 doch total gang und gäbe war, ist sowas:
1 | label1: |
2 | ld hl, 0 |
3 | ... |
4 | |
5 | |
6 | ld l, low(label1 + 1) |
7 | ld h, high(label1 + 1) |
8 | ld (hl), a ; Aktualisieren des Operanden bei label1 |
„Selbstmodifizierender Code“ galt damals als „effiziente Programmierung“.
Die Bestrebungen Anwendungen online anzubieten, schweben ja nicht im luftleeren Raum. Vielmehr wird die Entscheidung dafür von gewissen Gründen bestimmt (die wir in diesem Fall nicht kennen). Abgesehen von den Vorteilen die der Anwender davon hat, gibt es auch noch die Vorteile des Anbieters. Bei allen Vorteilen für den Anbieter die ich mir so denken kann fällt mir keiner ein, der für mich als Anwender nicht mit einem Nachteil verbunden ist. Wiegen die Vorteile nun die Nachteile auf? Die Antwort hängt sicher davon ab was einem wichtig oder unwichtig ist. Zugegeben. Es mag sein, das ich dem TO Unrecht tue, aber wenn ich mir den Quelltext der Seite so anschaue und für gegeben nehme, das es grundsätzlich durchaus Anlass zur "Paranoia" gibt, dann bin ich skeptisch. Warum sollen wir für ihn den Code testen ohne ein Äquivalent zu erhalten und ohne zu wissen wie er mit dem Code später verfährt?
Noch einen Tipp an den TO: - Zufallsdaten erzeugen - mit bekanntem, funktionierenden Disassembler verarbeiten - mit deinem Disassembler verarbeiten - Vergleichen (per Skript, manuell, wie auch immer)
Hmm schrieb: > Es mag sein, das ich dem TO Unrecht tue, aber wenn ich mir den Quelltext > der Seite so anschaue und für gegeben nehme, das es grundsätzlich > durchaus Anlass zur "Paranoia" gibt, dann bin ich skeptisch. Welchen Anlass? Dann kann ich das abstellen. Ich wüsste aber keinen Punkt. Das System ist transparent: - Wordpress - JavaScript nur auf Client kein JSON kein PHP ... > Warum sollen wir für ihn den Code testen ohne ein Äquivalent zu erhalten > und ohne zu wissen wie er mit dem Code später verfährt? Ich bekomme von allem was Ihr eingebt nichts mit. Da existiert kein einziges Post Formular abseits der Kommentarfunktion von Wordpress. Noch irgendein anderes "nach Hause telefonieren". Nutz Wireshark wenn du möchtest und überzeuge dich. Was du davon hast? Nichts wenn du es nicht nutzen willst. Aber ein kleines Tool, wenn doch.
>Welchen Anlass? Lies mal Zeitung und gucke Nachrichten. >Nutz Wireshark wenn du möchtest und überzeuge dich. Nein. Wozu? Entweder Du stellst die Transparenz selbst her oder Du lässt es. Verstehe mich recht: Du bietest das in dieser Form an. Ist ja OK. Mach nur. Ich habe keinen Grund zu schreiben, das Du irgendwas Ubles tust oder vorhast. Ich stelle nur fest, welche Eigenschaften dieses Angebot hat.
Hmm schrieb: >>Welchen Anlass? > Lies mal Zeitung und gucke Nachrichten. Die betrifft Daten die über das Internet oder Telefon übermittelt werden. Das werden deine Daten nicht. Die Mittel zur Prüfung stelle ich dir zur Verfügung. Nutzen kannst du sie nur selbst. >>Nutz Wireshark wenn du möchtest und überzeuge dich. > Nein. Wozu? Entweder Du stellst die Transparenz selbst her oder Du lässt > es. Das ist mir gar nciht bis zum Ende möglich. Wenn jemand vor dem Monitor sitzt und die Augen zumacht habe ich keine Handhabe. *Alle Dateien sind ohne Passwort/Referer Magic im Klartext abrufbar. Keine der Dateien sind Verschlüsselt oder durch einen Obfuscator geschickt.* Es macht doch auch keinen Sinn, wenn ich mich selber darüber hinaus auf den Prüfstand stellen würde, oder? Dann hast du doch noch weniger Sicherheit. Genau das ist doch gerade das Problem was in den Nachrichten auftaucht: Die Täter sind die Prüfer. (ND überwachen sich selbst, Verdächtige erklären allen Verdacht für ausgeräumt, etc) Also: Gesunde Paranoia sorgt dafür dass du dich umguckst, nicht dazu, dass du anderen Vertraust sich für dich umzuschauen.
Wiegesagt habe ich keinen konkreten Anlass Dir was zu unterstellen. Ich benutze aus Sicherheitsgründen einfach keine Online-Services; jedenfalls ganz sicher nicht, wenn es eine Offline-Alternative gibt. Ich fange doch nicht an aufwendig nachzuprüfen ob ein solches Angebot sicher ist, wenn es offline-Alternativen gibt. Ein Zweifel bleibt nämlich immer, weil ich nicht weiss, was auf dem Server abläuft; den kannst Du letzlich nicht ausräumen. Kriege ich z.B. immer den selben Script? >Das ist mir gar nciht bis zum Ende möglich. Sicher ist das möglich. Poste den Quellcode, falls Du das möchtest. So könnte den jeder offline benutzen. Dass Du das in gewisser Form getan hast >Alle Dateien sind ohne Passwort/Referer Magic im Klartext abrufbar. >Keine der Dateien sind Verschlüsselt oder durch einen Obfuscator >geschickt. finde ich gut. Dennoch nutze ich keine Online-Programme. Tut mir leid. Ist so. Und die Gründe dafür sind nicht absurd oder paranoid. So sehe ich das.
Polente schrieb im Beitrag #3287662: > Dafür, dass du so viel von Datenschutz verstehst, wundert mich deine > Idee des Online-Disasm. Dann Butter bei die Fische. Wo genau sind die Bedenken hinsichtlich Datenschutz bei der konkreten Seite? "Online" ist hier nur der Speicherort des Quellcodes. > Deine Argumente sind an den Haaren herbeigezogen. Skriptsprachen sind > genauso platformunabhängig wie dein HTML5. Und wenn es denn sein muss > können selbst gehandicapte Tablet-Smogs sowas benutzen. HTML5 ist nirgends verwendet. Es ist in der Tat eine einfache Skriptsprache. Auf meinem Tablet läuft eine einfache "Speichern unter" Kopie des ganzen offline ... kann jeder mit 2 Klicks nachvollziehen. Nochmals: Ich kann Bedenken nur dann ausräumen, wenn sie konkret dargestellt werden. Für latentes Unwohlsein mit dem Begriff "Online" habe ich kein Rezept.
>Also: Gesunde Paranoia sorgt dafür dass du dich umguckst, nicht dazu, >dass du anderen Vertraust sich für dich umzuschauen. Im Grunde verdrehst Du damit meine Argumentation, wie ich nachträglich feststelle. Es geht nicht darum, dass ich zu faul oder unfähig bin festzustellen ob Dein Angebot sicher ist. Auch nicht darum, das mein Wunsch nach Sicherheit an DICH dadurch sinnlos ist, dass Du sie prinzipiell und im besonderen dadurchnicht herstellen kannst, das Du es selbst tust. 1. Ist grundsätzlich die Sicherheit bei online-Angeboten nicht gegeben. 2. Bist Du als Anbieter dazu aufgerufen zumindest "relative" Sicherheit sicherzustellen, sofern ich Dich darum ersuche. Keinesfalls ist das meine Aufgabe. Nur ersuche ich Dich nicht darum. Ich verwende das einfach nicht! Worum es mir geht, ist klarzustellen, das es sich um 1. ein Angebot auf einem völlig gesättigten Markt handelt da: a) Genügend Disassembler vorhanden sind b) das erzeugen eigener Disassembler recht einfach und 2. ein potentiell unsicheres Angebot handelt.
>Nochmals: Ich kann Bedenken nur dann ausräumen, wenn sie konkret >dargestellt werden. Für latentes Unwohlsein mit dem Begriff "Online" >habe ich kein Rezept. Entschuldige, aber das ist Vernebelungstaktik und erregt schlagartig mein Misstrauen. Bei einem Laien könntest Du wohl unterstellen, dass ein "Unwohlsein" ohne konkreten Hintergrund existiert. Wir sind hier aber einigermaßen bewandert was Computer, Programmierung und Sicherheit betrifft. Das wir unsere Bedenken nicht spezifizieren heisst also nicht (oder jedenfalls nicht zwingend) das es nicht möglich ist sie zu präzisieren.
Polente schrieb im Beitrag #3287682: > Es ist schön, wenn du uns hier im Forum versicherst, dass das Angebot > datenschutztechnisch sauber ist. Das könntest du auch schreiben, ohne > das es der Fall ist. Richtig, daher nutze deine Prüfmöglichkeiten. Das ist was ich seit dem ersten Post zu dem Thema predige. Was kann ich mehr machen? > Dieser Zweifel spricht immer für den guten alten Offline-Disasm. Nein. Im Gegenteil! Dort musst du viel mehr auf die Richtigkeit vertrauen. Ein Offline Disasm kommt in der Regel als .exe daher und hat deutlich mehr Rechte auf deinem Rechner. Deine Prüfmöglichkeiten in diesem Fall sind deutlich geringer.
Hmm schrieb: > 1. Ist grundsätzlich die Sicherheit bei online-Angeboten nicht gegeben. ??? Du hast den Unterschied von cleint- und serverseitiger Datenverarbeitung nicht verstanden. > 2. Bist Du als Anbieter dazu aufgerufen zumindest "relative" Sicherheit > sicherzustellen, sofern ich Dich darum ersuche. Keinesfalls ist das > meine Aufgabe. Nur ersuche ich Dich nicht darum. Ich verwende das > einfach nicht! Natürlich. Ich kann dir die Sicherheit doch gar nicht geben! Ich kann dir nur Prüfmittel geben die Beurteilung musst du selber geben. Das habe ich getan. Dann verwende es nicht. Aber bitte behaupte nicht überprüfbar falsche Dinge.
>Richtig, daher nutze deine Prüfmöglichkeiten.
Das ist schon wieder Vernebelungstaktik und erledigt für mich das Thema.
Du weisst genau, dass eine hundertprozentige Prüfung prinzipiell nicht
möglich ist. Oder Du solltest es wenigstens wissen.
Naja. Lassen wir das. Ich wünsche Dir dennoch Erfolg und alles Gute, ob
auf diesem oder einem anderen Weg.
>Natürlich. Ich kann dir die Sicherheit doch gar nicht geben! Das ist ja das was ich die ganze Zeit schreibe! >Ich kann dir nur Prüfmittel geben die Beurteilung musst du selber geben. Ich muss garnichts. Wenn Du willst, das ich oder sonstwert das verwende musst DU die Sicherheit gewährleisten. Nicht ich. Entschuldige. Das ist doch wirklich trivial. >Dann verwende es nicht. Mach ich ja nicht. >Aber bitte behaupte nicht überprüfbar falsche Dinge. Welche überprüfbar falschen Dinge habe ich behauptet?
Hmm schrieb: > Worum es mir geht, ist klarzustellen, das es sich um > 1. ein Angebot auf einem völlig gesättigten Markt handelt da: a) > Genügend Disassembler vorhanden sind b) das erzeugen eigener > Disassembler recht einfach und > 2. ein potentiell unsicheres Angebot handelt. 1.) Na und? Hmm schrieb: > Wir sind hier aber einigermaßen bewandert was Computer, Programmierung > und Sicherheit betrifft. Das wir unsere Bedenken nicht spezifizieren > heisst also nicht (oder jedenfalls nicht zwingend) das es nicht möglich > ist sie zu präzisieren. Nein. Jedoch schliesst die Prüfung dies aus.
Hmm schrieb: > Sicher ist das möglich. Poste den Quellcode, falls Du das möchtest. Der Quelltest ist doch da! Du musst ihn dir nur anschauen, und wenn du einen "sicheren Stand" einfrieren möchtest kannst du doch jederzeit einfach "Datei->Speichern unter" wählen.... Es läuft doch kein Code auf dem Server, also bitte jetzt mal diese sinnloses Diskussion um vertrauen und misstrauen mal wieder etwas runterfahren solange man die hinterliegende Technik nicht verstanden hat.
Ich weiss ja nicht welcher Mod das war. Aber Dir ist hoffentlich klar,
das die Behauptung:
>Nein. Jedoch schliesst die Prüfung dies aus.
schlicht falsch ist.
Und das sollte man auch schreiben dürfen, denke ich.
Die Aussage wäre in der Tat im Allgemeinen nicht zulässig. Für primitiv-rekursive Funktionen, wie eine surjektive Abbildung einer Reihe aus einer statischen Menge in eine andere ist jedoch verifizierbar. Das Halteprblem ist über der Menge der primitiv-rekursiven Funktionen berechenbar. Ein Disassembler ist nichts weiter als die Implementierung einer rechtsvollständigen Abbildung über eine Reihe. Dieses spezielle Problem lässt sich daher mit einer regulären Sprache nach unerwünschten Zuständen über die finite Laufzeit untersuchen.
Ich habe einmal einen Disassembler benutzt. Ich wollte herauskriegen, warum die C51 Divisions-Lib schneller und kleiner ist als meine mühsam optimierte Assembler-Lib. Hut ab, was der Herr Keil da programmiert hat. Aber ich wüßte keine reale Anwendung für einen Disassembler. Ehe ich mich da durch Code ohne aussagefähige Funktions-, Variablennamen und Kommentare durchwühle, habe ich die Aufgabe schneller in C nachprogrammiert. Es mag vielleicht einige Hacker geben, die mit einem Disassembler nicht offengelegte Protokolle knacken wollen, aber dazu gehöre ich nicht.
Ich stelle es mir nicht einfach vor, wie ein Disassembler Code und Daten auseinander halten soll. Er kennt ja nicht mehr die Formate, ob nun char, int16, int32 usw.
Peter Dannegger schrieb: > Ich stelle es mir nicht einfach vor, wie ein Disassembler Code und Daten > auseinander halten soll. Ich kenne keinen, der das 100%ig allein schaffen würde. Sowie man mit Code aus dem richtigen Leben ankommt, muss man ihm da auf die Sprünge helfen, indem man ihn parametriert.
Zum Beispiel Z.B. https://www.blackhat.com/us-13/archives.html#Cesare Peter Dannegger schrieb: > Er kennt ja nicht mehr die Formate, ob nun char, int16, int32 usw. Korrekt. Ein Disassembler kann die Übersetzung nicht rückgängig machen, sondern bietet lediglich eine mögliche Übersetzung in die gegenläufige Richtung. Mnemonik<->Opcode ist meist nicht bijektiv.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.