Seite 1 von 1

Re: num Vars in EXE

Verfasst: Mi, 17. Jan 2007 12:29
von AUGE_OHR
hi,
H1 hat geschrieben: weiss jemand wie clipper seine numerischen Variablen in der der EXE ablegt? Ich sollte nach der MWST-Umstellung eine EXE patchen, dersourcecode ist leider nach all den Jahren nicht mehr auffidbar.
Ich würde erstmal versuchen das Cl*pper Programm zu decompilieren,
denn wenn du Pech hast ist es ist es evtl. noch "gepackt" (PkLite/AsPack)
oder anderweils "behandelt" (Blinker). Dann wirst du es schwer haben
überhaupt was zu finden.

Cl*pper legt zwar die Variabeln (Public,Private) zwar irgendwo ab, aber
das sagt noch nichts über die "Werte" aus.

gruss by OHR
Jimmy

Verfasst: Mi, 17. Jan 2007 15:40
von Tom
Hallo, Heinz.

Valkyrie 5 verweigert sich Clipper-EXEn, die mit Blinker gelinkt wurden. Aber es gibt offenbar eine (für 195 $ zu kaufende) aktualisierte Valkyrie-Version, die Blinker "kann":

http://www.grafxsoft.com/2valkyrie.htm

Verfasst: Mi, 17. Jan 2007 15:46
von brandelh
Hallo,

dir bleibt nur eine winziges Programm zu schreiben, in diesem einer NumVar 'MSWT' 16 zuzuweisen und kompilieren nach z.B. MWST16.exe, danach 19 zuweisen und wieder kompilieren nach MWST19.EXE, beide EXE vergleichen und die Unterschiede suchen. Nun merke dir die geänderte Bytefolge und suche in der SICHERUNGSKOPIE der alten EXE nach der 16er Folge, es könnte in Hex etwa so aussehen 0001 und zu 0301 werden.

Strings sind leichter, da diese im Speicher lesbar abgelegt werden 1 Byte pro Zeichen. Numerische Werte werden in 4 oder 8 Byte codiert versteckt.

Verfasst: Mi, 17. Jan 2007 15:46
von Tom
Kommando zurück. Was die da anbieten, ist noch älter, als die "Shareware", für die Martin einen Link gepostet hat. Es gibt auf der Site, die ich genannt habe, eine Utility "VAU.EXE" zum Download, die überprüft, ob die Clipper-EXE dekompilierbar ist. Diese Utility ist von 1993. Da gab es meiner Kenntnis nach Blinker 2. Aktuell ist 7 oder 8, meine Clipper-Software ist mit 5 gelinkt. Und da sagt VAU: No way.

Aber es muß eigentlich eine Möglichkeit geben, die EXE zu patchen und aus der 16 eine 19 zu machen. Hast Du es mal in einer Xbase-NG oder in einem Clipper-Forum probiert, zum Beispiel bei dbforums.com?

Verfasst: Do, 18. Jan 2007 1:09
von brandelh
Hallo,

00 01 bezog sich auf die HEX Anzeige eines HEX-Editors. Das wären 2 Byte.
Oft werden die Zahlen mit niedrigem Byte (bit 0 bis 15) zuerst, danach die mit hohem Byte abgelegt. Bei Werten von 0 bis 15 muss man nur ein Byte betrachten, bei 16 ist das erste Bit des 2. Byte belegt, daher 00 01. Ob aber Clipper und Xbase die Zahlen intern anders ablegt weiß ich natürlich nicht. Bestimmt sind aber die Variablennamen selbst nicht mehr in der EXE sondern nur Querverweise (Pointer) auf die Inhalte. Beim Suchen nach Inhalten hat man es halt mit Strings leichter.

Ich seh mal ob ich da Morgen was raus bekomme.

Re: num Vars in EXE

Verfasst: Do, 18. Jan 2007 6:42
von AUGE_OHR
hi,
H1 hat geschrieben: ich habe das Programm geschrieben, habe dazu clipper S87 und Blinker verwendet, Meinst Du, dass sich blinker exe nicht decompilieren lassen?
ich hab mal ein bisschen getestet und musste feststellen das sich
Blinker v3.3 Programme nicht mehr mit "Valkyrie5", v1.0, Revision K
decompilieren lassen. Bei der Blinker v3.2 ging es noch, aber auch
"Recure5" kann den v3.3 Blinker nicht mehr.

Wenn ich mich recht erinnere wurde ab v3.x bei Blinker eine Kompression
des *.EXE eingeführt so das man nicht mehr EXEPACK (M$), ASpack oder
PkLite einsetzen musste. Später wurde das extern auch als "Shrinker"
verkauft.

Deshalb "sieht" man in einem Blinker v3.x Programm auch viel weniger
"Text" den man "erkennen" kann denc er ist ja "komprimiert".

Welches "Datum" hat dein S87/Blinker Programm ? Das Blinker v3.2
Update kam am 04.07.1995 raus. Wenn es also noch das original
Erstellungs Datum hat und vor dem 07.12.1995 (Blinker v3.3) liegt
dann hast du noch Chance es zu decompilieren.

gruss by OHR
Jimmy

Re: num Vars in EXE

Verfasst: Do, 18. Jan 2007 8:07
von AUGE_OHR
hi,
H1 hat geschrieben: ich habe hier Valkyrie V2.0 copyright 1990,1992
das Analyseprogramm VAU.EXE sagt mir:
Searching..................................
Linker is Blinker 2.01
Compiler is Clipper Summer '87

VPP.EXE sagt: determining overlay manager
Dann ist doch eigendlich alles ok, oder hast du nur die Demo ?

was für ein OS() fährst du ? (wegen des DOS-Extender)
H1 hat geschrieben: Was ist RECURE?
Das "Konkurrenz" Produkt, geht aber nur für Cl*pper v5.x.

gruss by OHR
Jimmy

Verfasst: Do, 18. Jan 2007 12:03
von brandelh
Hi,

ich habe mir gerade mal eine 3 Zeilen EXE vom Blinker und von RTlink im HEX-Editor angesehen. Das ändern von numerischen Werten erscheint mir aussichtslos.

Ich muss mich korrigieren,
in HEX sieht 16 so aus

2 Byte: 00 10 oder 10 00
und 15:
2 Byte: 00 F0 oder F0 00

beides ist sehr häufig in der EXE enthalten, aber nicht offensichtlich nebeneinander. Nun könnte man als mutiger und fleisiger Mensch alle aufs Geradewohl durchtesten, das ist aber nicht nur mühsam sondern auch gefährlich, da man nicht weiß was der andere Code bewirkt, wenn man nicht die Zahl erwischt hat.

Was bleibt ist der Versuch mit dem Rückwandeln in Quellcode.