Author: Chrilly Donninger
Date: 03:27:34 02/17/06
Go up one level in this thread
On February 17, 2006 at 04:17:38, Vasik Rajlich wrote: >On February 17, 2006 at 02:33:32, Jouni Uski wrote: > >>Is it possible to disassemble exe-file, which is zipped and/or copy protected >>like Fruit 2.2.1? Where are disassemblers downloadable? >> >>thanks >> >>Jouni > >IDA Pro is easily the best. Yes. IDA-Pro makes it a lot easier. One of the view pieces of Software I really admire. > >Just a general comment though: it is _extremely_ hard to figure out the >innovations in a program. Basically, I would say that in practice it is >impossible. Yes, you can locate the move generator, because you already know >what that looks like and what it does. But understanding the evaluation terms, >or adjustments to search depth, would require an ungodly effort, especially for >a complex program. Let me put it like this: every aspiring computer chess >programmer has been very strongly tempted to try his hand at disassembling. When I started computer chess in 1989 I did just a look at the GNU-Chess Code. It came never in my mind to dissassemble another programm. I think today one should study the Code of Fruit and Crafty. And should then make something else. Doing Dissassembling as a beginner is completly pointless. The only chance to get some usefull information from disassembling is when one knows what to look for. One can only - with a reasonable amount of effort - disassembly a small programm (e.g. a virus). Stefan Meyer-Kahlen once remarked to me "There are a lot of people around which dissassemble Shredder". I felt a little bit stupid that I have thought before that this is impossible and that I had no idea how to do it. So I bought IDA-Pro and learned it. Just to prove, that I am a real programmer. From my experience it is relative straightforward to get a good picture of the search. Not all the details, some flags/conditions why a given search is done/not done are difficult to identify, but one gets the principial idea behind. For Rybka I needed 2 days to get this overall picture. Dissecting the whole programm is much too cumbersome. One gets crazy from this extremly tedious work. I think, it does not pay off. For me it is just an intellectual challenge. E.g. its nice to spot the Mate-Bug in Rybka. But it does not improve at all one ones programm. Even if one knows the search algorithm, one can not directly use it. The parts have to fit together. There is a close relation between the evaluation, the playing style and the search. As a special case the Hydra architecture which its seperation of the FPGA- and PC-search puts additional restrictions. Additionally some tricks which work on a single-processor are a desaster for a parallel program. I think doing engine matches and improving the weak spots of the own programm is the only productive way. Disassembling is just to have some fun between these boring engine-matches. Chrilly
This page took 0.04 seconds to execute
Last modified: Thu, 07 Jul 11 08:48:38 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.