| |
|
|
- Page 1 - |
|
| Es geht [...] aus dem letzten Jahr: [quote:4f7a2e7544] Diese Chess.Dll - die als work.dat getarnt wurde - wofür ist die doch gleich genau?
Das Prog stürzt ohne die Chess.Dll ab - also wofür ist die denn da?
Ist das wohl die Chess.Dll aus dem Borlandpacket?
Salve. [/quote:4f7a2e7544] Ich hoffe, ich langweile nicht, aber wie man im[...] von [...] sehen kann, ist es kein Problem solchen kleien Mogeleien mit TNT sehr einfach nachzugehen (echt dreist). Ist die wirklich von Borland? |
|
|
| |
|
|
|
| |
|
- Page 1 - |
|
RGH | Ja, diese Schach-Engine war bei früheren Turbo Pascal Paketen (sicher bis hin zu Borland Pascal per Windows) mit dabei. Es gab dazu ein Beispielprogramm per DOS und Windows (16 Bit). Damit wurde demonstriert, daß es mit Borland Pascal possibile war, dieselbe DLL per DOS und Windows (16 Bit) zu benutzen. Die DLL enthält das komplette Schachspiel von der Überprüfung der Züge auf Korrektheit bis hin zur kompletten Intelligenz des Computergegners. Das aufrufende Programm muß nur per die Bildschirm-Darstellung sorgen. Dieses lag als Quellcode naturalmente in Borland Pascal bei.
Saluto Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 16.09.2006 ▲ |
|
|
|
|
| Besten Dank, Roland...
Aua - ich schon wieder - das Bild, das ich meinte, ist im Screenshot gar nicht dabei . Habs unten drangepappt. |
|
|
| |
|
|
|
Frank Abbing | Der Autor hat doch niemals bestritten, eine Dll eingebaut zu haben. Er weisst im Spiel ja darauf hin. Und wie ich das sehe, handelt es sich um eine M/TASM-Dll, nicht um eine Pascal-Dll. Ist also in Assembler programmiert. Jedes mit XPIA compilierte Profanprogramm beinhaltet eine MASM-Dll, daran kann ich aber nicht anstössiges finden. Solange der Autor den Code selber geschrieben hat. Roland, hast du die Funktionen aus der Dll untersucht und/oder disassembliert, dass du sicher bist, die erwähnte Borland-Dll vorliegen zu haben? |
|
|
| |
|
|
|
| Hallo Frank...
Das sehe ich genau so - ist aber schon merkwürdig, das man eine selbst programmierte DLL von Chess.dll in work.dat umbenennt, oder?(Und das ist definitiv so.)
Wer die DLL hat, kann ja mal mit TNT auch mal die Exportfunktionen vergleichen (hab das original von Borland leider nicht). Nicht die Verwendung einer DLL finde ich nicht OK (auch wenn man sie nicht selbst programmiert hat), ich würde es nur nicht OK finden, wenn man glaubt man könne andere auf plumpe Art und Weise verhonepiepeln .
Das Spiel finde ich ganz nett, das Testen hat mir damals viel Divertimento gemacht (denn ich hab jedes Spiel gewonnen ).
Saluto
AH |
|
|
| |
|
|
|
| Es geht mir auch gar nicht um diesen alten Thread, es geht mir nur um die Info an euch, das man plumpe Umbennennungsaktionen einer DLL ohne weiteres nachvollziehen kann. (und jetzt will ich mal hoffen, das ich nicht der einzige bin, der das nicht schon jahrelang gewußt hat ). |
|
|
| |
|
|
|
| PS: Den Namen holt sich TNT nicht aus der Versionsrecource... |
|
|
| |
|
|
|
| Der Name läßt sich aber auch problemlos mit jedem HexEditor ändern |
|
|
| |
|
|
|
| Stimmt .solange er nicht länger ist, als vorher. |
|
|
| |
|
|
|
Frank Abbing | Hm, wenn der Name aber verändert wird, werden die Dll-Funktionen dann in der Dll überhaupt gefunden? |
|
|
| |
|
|
|
| Wenn du auf den in der DLL gespeicherten Namen aus bist: Ist dieser länger als vorher, auf keinen Fall. Ansonsten sehe ich im Augenblick einen Grund, warum die nicht gefunden werden sollten - teste es aber gleich mal. |
|
|
| |
|
|
|
| Ja, werden gefunden. Die Adressen der Exportfunktionen werden in der DLL als Offset von dessen Nullpunkt an gespeicht - hatte das hier schon mal kurz erwähnt. Der Name ist eigentlich nicht notwendig, aber das Handle! Danach berechnet sich der Ort der Funktionen (kann man mit TNT nachvollziehen). |
|
|
| |
|
|
| |
|
- Page 2 - |
|
|
| Wenn man sich die Klamotte mit TNT mal so richtig reinzieht, kann man sehr einfach sehen, das man eigentlich nur das in der geladenen DLL gespeicherte Handle der DLL und die Adressen der Importfunktionen ändern muß, um die DLL im Speicher von einer Stelle an eine andere schieben zu können - aber das steht auf einem anderen Blatt.
=> auf dem Blatt DLL-Hooking zum Beispiel |
|
|
| |
|
|