Computer Chess Club Archives


Search

Terms

Messages

Subject: What Disassembling can all reveil?

Author: Rolf Tueschen

Date: 23:48:13 08/22/04

Go up one level in this thread


On August 23, 2004 at 02:09:51, Paul H wrote:

>On August 23, 2004 at 00:31:53, Rolf Tueschen wrote:
>
>>On August 22, 2004 at 17:17:25, Paul H wrote:
>>
>>>The argument here is not based on the output of the engine or the strenght of
>>>the engine or the kind of moves that it generates. If ElChinito is only Elo
>>>1000, it still does change the fact that the binary ElChinito.exe is made from
>>>Crafty source. If it is Elo 1000 using crafty code, it just means that there are
>>>changes that made it so.
>>>
>>>I just did a thorough code analysis. It reveals facts that even Bob only
>>>realizes now. Even without the source code, Bob agrees that those portions of
>>>code is from Crafty. Again, that is without the source code. Have you seen
>>>anyone do this kind of technical analysis here before? And after all that, you
>>>compare it to a primitive witch hunt?
>>>
>>>I am about to also post the disassembly of the function NextMove(). These are
>>>all technical facts.
>>>
>>>Why don't you review all the code analysis and tell us that it is wrong.
>>
>>
>>I am also part of the handful of people in CCC who can't understand code
>>analysis or anything with code. Could you please explain to these few what you
>>did in your analysis? You say that you can get details of a program's code if
>>you have only the exe? - A question in that context would also be, if you could
>>clarify if LIST (Graz) was a Crafty clone or at least if it used parts of Bob's
>>code? Would your answer be also relevant if say some critics still claimed that
>>they had data that LIST in fact were a clone or used parts of its code? - Thank
>>you in advance.
>
>You analyze an exe file by running a disassembler on it. You will get a file in
>assembly language. Now you can read it as a computer language, just like you
>would read any other computer language (like C/C++, Pascal). When C/C++ code is
>turned into an exe file, it is first converted to assembly language. This is the
>same assembly language file that you get when you disassemble the exe. You can
>also look at the disassembly of an exe by loading it in a debugger.
>
>Disassembling is the method used when people want to determine what a virus does
>(since you don't have the source code of the virus; you only have the infected
>exe file). People also use the method to determine how to "crack" a program
>(like removing some copy-protection code). It is also the method for determining
>if others are using your intelectual property (like if Oracle wants to see if
>IBM's DB2 database software is using any Oracle technology) - its much like what
>we are doing here between Crafty and ElChinito.
>
>Btw, to turn C/C++ to assembly language, you don't need a compiler. You can
>translate it manually, but it is a lot of work. You can also manually convert an
>exe to assembly language. Again, it is a lot of work.
>
>As for List, I have mentioned this before, that I analyzed version 4.61 of List
>and found that it does not use BitBoards at all, and that I could not find any
>similarity with Crafty. Dann agrees that it does not use BitBoards because he
>has seen the code.
>
>The effect of not using BitBoards is huge. The attack functions will be very
>different. The evaluation functions which rely a lot on computing attacks will
>look very different. The move generation will be very different. And with the
>use of x88 boards, the board indexing is very different too.
>
>If one takes some code from Crafty but converts it to a non-bitboard code, the
>disassembly with look very different.
>
>Mind you however, that to convert Crafty to use non-bitboards is a lot of work.
>It is not the kind that a cheap cloner will want to do. In such a case, you
>could already qualify for copying the idea and not the code.

And that would be allowed?

This is all indeed breathtaking for me as a lay, but let me finally ask, if you
could also decrypt this way how commercial exes would work? Say Fritz or
Shredder? And if you did, if they _also_ used at least a little bit of Crafty
code? That indeed would set the record straight. Or do they just copy ideas? :)

As usual my very last question is still another one. What did you find for
RUFFIAN 1 or 2? We were all very surprised that such a prog should be possible
completely out of the closet from a newcomer.



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.