您可以在此处查看大量资源:
http://en.wikipedia.org/wiki/Lego_Mindstorms_NXT_2.0
我倾向于反汇编编译器。如果它是用.NET(C#,VB.NET等)或Java编写的,那么有反编译器会给你一些东西 的 非常 强> 接近原始源代码(除非它被混淆)。即使它是C ++并且您只能进行汇编,库调用也可能指向正确的方向。
如果字节码很小,另一个选择是从“Hello world”程序开始,编译它,进行一些小改动,编译它,然后区分两个字节码结果。
如果您可以发布有关特定编译器/ VM的更多信息,也许其他人有相关经验。
的 编辑: 强> 鉴于这是一种商业产品,通过反编译对其进行逆向工程可能会违反其许可协议。重新编写字节码可能不是(我不是律师)。听起来你好像是在Catch-22中。如果您成功,则不使用RobotC或LabView。如果比赛仅指定代码必须在RobotC VM上运行,则可能是可行的。但请记住,一旦你重新编写了字节码,你就必须在任何人编写任何软件之前编写自己的编译器。如果你这样做是为了好玩,很棒;否则可能不可行。
我确实找到了一个基于硕士论文的有趣链接: 软件逆向工程