ASC: Veränderung von Originaldateien


ASC: Veränderung von Originaldateien

von Erhard » Mo 30. Dez 2019, 11:11
Hi,

bei einer Suche nach einer eventuell aktualisierten Version von Castle Defender habe ich festgestellt, daß die aktuelle Version von der Webseite und die vom ABBUC Softwarewettbewerb voneinander abweichen.

In einem Gespräch mit MatoSimi stellte sich jedoch heraus, daß die beiden Versionen eigentlich identisch sein sollten.

Bei einer genaueren Kontrolle stellte ich fest, daß bei der ASC-Version offenbar diverse Blöcke der ursprünglichen Datei vorangestellt wurden.

Daraus ergeben sich ein paar Fragen und Folgen:

- wird das bei allen Dateien gemacht ?
- ist der vorangestellte Code immer der gleiche?

Natürlich führen diese Veränderungen dazu, daß das Führen von Listen mit Fingerabdrücken (MD5 Prüfsummen) oder CRC32s eigentlich recht sinnlos wird, denn jede Veränderung auch nur eines Bits führt dazu, daß eigentlich identische Versionen nicht mehr als solche erkannt werden können.

CU, Erhard

Re: ASC: Veränderung von Originaldateien

von CharlieChaplin » Mo 30. Dez 2019, 18:43
Mist, erwischt! ;-)

Ich vermute mal, du meinst die folgenden Datensegmente:
- $0400-0447
- $0244-0244
- $0400-041E (alternativ: $0400-0408 oder $0600-0668)
(bei TB XL und CTB-Runtime auch: $2000-2055 für einen Gr. 2 Titel während dem Laden, z.B. aktuell bei Joe Painter WB Edition)

Böse wie ich bin, hänge ich diese Segmente vor die meisten ML-Programme, egal woher (oder von wem) die kommen. Was machen diese ach so bösen Segmente nun?

- $0400-0447: von Fandal für mich gecodet, macht folgendes: schaltet das Atari Basic aus, clears page 0, clears RAM under Basic
- $0244: entspricht Poke 580,1, setzt also Reset auf Kaltstart (Reboot des Rechners, sofern das Programm nicht total resetfest ist)
-$0400-041E: von HiasSoft für mich gecodet, ergibt einen schwarzen (aber eingeschalteten) Bildschirm während dem Laden (alternativ: $0400-0408: ergibt einen schwarzen+ausgeschalteten BS während dem Laden; $0600-0668 schaltet den Bildschirm bis auf ca. zwei Zeilen aus, in den zwei Zeilen ist Platz für einen Gr.2 Titel; diese Routine habe ich aus einer RK-Fileversion von Jinks geklaut)

Die kurzen Page 4 Routinen sind so gecodet, dass sie unmittelbar nach Ausführung des Codes die Page 4 wieder freigeben, das eigentliche Programm kann also problemlos Page 4 nutzen (bei der Page 6 Routine klappt das leider nicht, die wird erst bei einem RUN freigegeben, daher kann sie nicht vor Programme gehängt werden, die selber Page 6 nutzen)...

Castle Defender, ließ sich zudem nicht fehlerfrei packen (bzw. entpacken), daher habe ich die ungepackte Version auf dem Magazin untergebracht. Mit der gepackten Variante hättest du wieder eine ganz andere MD5 oder CRC32 erhalten... (einige andere Programme des SW-Wettbewerbs habe ich aber gepackt, z.B. Poker, Warriors, etc. da ich sonst mehr Diskettenseiten benötigt hätte - und jede Diskseite muss ja ca. 500 mal dupliziert werden). Aktuell benutze ich gerne Superpacker/Exomizer oder Code3-Cruncher zum Packen von A8 Programmen. Und ausschließlich SIO2PC V4.21 in der MS-DOS Version von N.Kennedy zum Umwandeln von A8 Disks zu ATR-Images (seit ca. 20-25 Jahren SIO2PC.exe auf einem DOS-Rechner, momentan auf einem 2Ghz single core PC mit MS-DOS, demnext auf einem dual core 2x 3Ghz PC mit MS-DOS)...

ASC: Veränderung von Originaldateien

von Erhard » So 5. Jan 2020, 11:34
Hi,

vielen Dank für die ausführlichen Erläuterungen!

Auf jeden Fall verstehe ich die Gründe.

CharlieChaplin hat geschrieben:Aktuell benutze ich gerne Superpacker/Exomizer oder Code3-Cruncher zum Packen


Kann man mit diesen Programmen auch wieder den Originalzustand der Software herstellen?

Viele Grüße

Erhard

Re: ASC: Veränderung von Originaldateien

von CharlieChaplin » So 5. Jan 2020, 17:04
Erhard hat geschrieben:
Kann man mit diesen Programmen auch wieder den Originalzustand der Software herstellen?

Viele Grüße

Erhard


Ich kann das leider nicht und in den beiden Programmen ist m.W, auch keine Funktion vorhanden, um aus einer (z.B. von jemand anderem) gepackten Datei wieder eine ungepackte (Ursprungs-)Datei zu machen.* Einige gute Programmierer und Hacker (z.B. Homesoft) können das aber problemlos, auch wenn die ML-Datei mehrfach mit versch. Packern gepackt wurde.

*Wenn ich gerade eine Datei oder ein Datensegment gepackt habe und diese(s) nach wie vor im Speicher des Superpackers ist, so ist es lediglich via UNDO Funktion möglich, die ungepackte Datei oder das ungepackte Datensegment wiederherzustellen. Eine von Dritten gepackte A8 Datei kann jedoch nicht wieder in den ungepackten Zustand zurückgesetzt werden - vielleicht ist das ja mal mit einer zukünftigen Version des Superpackers von TeBe möglich, aktuell geht es leider nicht (jedenfalls nicht für Laien wie mich).

ASC: Veränderung von Originaldateien

von Erhard » Mi 8. Jan 2020, 09:17
Ah, okay, danke für die Info.