I'm merely curious.
Assuming a competent programmer, with considerable experience at disassembly, and who had the tools (hardware/software/whatever needed) to do the job, were being paid to disassemble Rybka 4, approximately how many hours would it take?
How long would it take to disassemble Rybka 4?
Moderators: hgm, Rebel, chrisw
-
- Posts: 227
- Joined: Tue Oct 05, 2010 5:29 pm
How long would it take to disassemble Rybka 4?
This production is being brought to you by Rybka: "The engine made from scratch.™"
-
- Posts: 72
- Joined: Thu Mar 10, 2011 10:39 pm
- Location: Bucharest (Romania)
Re: How long would it take to disassemble Rybka 4?
Automatic disassembler can do it without too much human interventions.Tom Barrister wrote:I'm merely curious.
Assuming a competent programmer, with considerable experience at disassembly, and who had the tools (hardware/software/whatever needed) to do the job, were being paid to disassemble Rybka 4, approximately how many hours would it take?
But I think you mean decompile not disassemble.
Result of decompile is one possible candidate source in high-level language. Result of disassemble is assembly language (low-level).
For question about decompile, ask Mr Osipov he is posting here at same time. He is the expert.
-
- Posts: 227
- Joined: Tue Oct 05, 2010 5:29 pm
Re: How long would it take to disassemble Rybka 4?
Thanks for the correction.
What I mean is to have the Windows executable taken apart and reduced to source code that other programmers could understand. If that's decompiling, then that's what I mean.
What I mean is to have the Windows executable taken apart and reduced to source code that other programmers could understand. If that's decompiling, then that's what I mean.
This production is being brought to you by Rybka: "The engine made from scratch.™"
-
- Posts: 227
- Joined: Tue Oct 05, 2010 5:29 pm
Re: How long would it take to disassemble Rybka 4?
Never mind. I've found out what I needed to know. It's a moot point now.
This production is being brought to you by Rybka: "The engine made from scratch.™"
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: How long would it take to disassemble Rybka 4?
I don't know that one could estimate this very accurately unless they had done something similar several times previously.Tom Barrister wrote:I'm merely curious.
Assuming a competent programmer, with considerable experience at disassembly, and who had the tools (hardware/software/whatever needed) to do the job, were being paid to disassemble Rybka 4, approximately how many hours would it take?
If an executable is stripped, you have three distinct tasks.
1. Locate each entry point by searching for call instructions. Now you know where each procedure is located and where it ends.
2. look at each procedure independently to understand the semantics of what it does. This is sometimes a recursive thing because you might have to decode others first, just to figure out what the data structures look like and what they contain.
3. Now you get to put the whole thing in context to understand the overall program.
That is a _lot_ of work. If the global symbols are not stripped, things are a lot easier because you will know the names of the procedures as well as their location, which gives you a really big hint as to what they do. If you have local symbols (as in a debug compile) then the assembly language code is readable immediately as you know procedure names and variable names.
A typical commercial product has global symbols intact. Some strip them out to either make the executable file smaller, or to obfuscate their code to make reverse-engineering harder.
-
- Posts: 186
- Joined: Mon Jan 21, 2008 2:07 pm
- Location: Russia
Re: How long would it take to disassemble Rybka 4?
Rybka 4 contains approximately 100,000 lines of ASM-code (non-library functions).
I would need the following times:
1. About 1 month to get a compiled project in assembler.
2. Another month to convert from assembler to pseudo-C.
3. 2-3 months to obtain pure C code.
4. Another month on the final fine-tuning of the code.
I would need the following times:
1. About 1 month to get a compiled project in assembler.
2. Another month to convert from assembler to pseudo-C.
3. 2-3 months to obtain pure C code.
4. Another month on the final fine-tuning of the code.
I went through the Rybka code forwards and backwards and took many things.
-
- Posts: 227
- Joined: Tue Oct 05, 2010 5:29 pm
Re: How long would it take to disassemble Rybka 4?
Thanks for the replies. I was afraid it would run into serious time and money.
The less expensive solution would be to pay the asking price for rhe actual source, and of course that would save a lot of time.
Of course that"s just a "what if" thing....
The less expensive solution would be to pay the asking price for rhe actual source, and of course that would save a lot of time.
Of course that"s just a "what if" thing....
This production is being brought to you by Rybka: "The engine made from scratch.™"
-
- Posts: 12542
- Joined: Wed Mar 08, 2006 8:57 pm
- Location: Redmond, WA USA
Re: How long would it take to disassemble Rybka 4?
It would take IdaPro about a minute to turn the binary into assembly.Tom Barrister wrote:I'm merely curious.
Assuming a competent programmer, with considerable experience at disassembly, and who had the tools (hardware/software/whatever needed) to do the job, were being paid to disassemble Rybka 4, approximately how many hours would it take?
You could use the hex rays decompiler to get uncommented spaghetti C in five minutes or so.
I doubt if it would compile.
-
- Posts: 54
- Joined: Sun Dec 19, 2010 6:49 pm
Re: How long would it take to disassemble Rybka 4?
As the previous poster said, you could use hexrays to get pseudo-c in 5 minutes, but you'd probably have to spend a month converting it to compilable code. The code is really difficult to read from a human point of view as well, so it would be hell to try to improve it.
-
- Posts: 72
- Joined: Thu Mar 10, 2011 10:39 pm
- Location: Bucharest (Romania)
Re: How long would it take to disassemble Rybka 4?
Correct.dann wrote: It would take IdaPro about a minute to turn the binary into assembly.
You could use the hex rays decompiler to get uncommented spaghetti C in five minutes or so.
I doubt if it would compile.
Are you "Juri Osipov"?
That conclusion is consistent with the evidence.
To the same degree that it is consistent with the evidence that Mr Rajlich stole from Fruit.