[ros-dev] Reverse Engineering Apps instead Windows

theUser BL theuserbl at hotmail.com
Wed Feb 8 14:37:57 CET 2006


Hi!

I am not a programmer. So, it can be possible, that my idea is naive.

You write here in the list, that the best would be, to make clean room 
reverse enginering, if an API isn't documented.

But why you not disasseble the apps which you want to run on ROS instead of 
disassembling Windows?

I see for it two advancements and one disadvancement.

The advancements:

1. If you make clean room rev. eng., then you cut into halves the number of 
developer of ROS.
Then only one half programs for the system. The other half writes documents.
But if you disasseble the apps which running on Windows, then you are still 
allowed to publish the documentation of the API it used. You are not allowed 
to write then an application like that, what you have disassembled. But that 
is nothing you want. You want to write an OS, which can execute this app. 
And that is (hopefully) allowed.

I don't know, if I am naive, but I think, if you see, that the program used 
a function
void WindowsFunctuion (int, int, float);
then you can write little test apps, with different values, to see what 
happens. So you don't need to disasseble Windows to look which happens.

2. If you make a clean room rev. eng. the people who write the document can 
make a mistake. Discribes the API wrong or not complete, so that the program 
which needs it still not runs.
In this case the people who program, must say to the documenter, that he 
must do it again or better. But they can not communicate to much about it. 
Not to detailed.
But this problem can be solved if you use the programs/drivers for Windows 
to disasseble insted of Windows itself.

The only disadvantage I see is, that it can need more time to understand the 
code.
If you "only" disassemble Windows, you comprehend the code in any time.

But if you disassemble an app, it is at first the same. But if you have 
written the API for ROS and the app runs on ROS, then you must begin by zero 
by disassembling the next app, which don't run on ROS. And you must try to 
understand the code of this app and so on. So it can be possible, that this 
way takes longer, then clean room rev. eng. Windows direct. But I am not 
sure.

Greatings
theuserbl




More information about the Ros-dev mailing list