从AWT可执行文件

时间:2017-11-04 21:34:44

标签: java c# applet

我有一个在其中运行JVM的应用程序,看起来它正在使用Abstract Windowing ToolKit (AWT),我发现在进行一些研究后,因为主应用程序窗口是 MSAWT_Comp_Class ,所以一些分析应用程序EXE我发现看起来像导入Java类的链接(我不确定):

enter image description here

所以我猜Java类在那里但是无法访问,我在应用程序中找到的只是一个具有上述链接的RC_DATA内容,还发现该应用程序是使用 Jexegen转换为EXE的Java应用程序因为可以使用十六进制查看器找到Jexegen和一些SDK链接。

我的问题是,是否有提取Java类或从该应用程序读取它们的方法?也许通过了解抽象窗口工具包(AWT)或Swing Jexegen 的结构,或者编译后如何将Java文件包含在c#app中。

我希望我可以清楚地问我的问题,我用我的小知识尽力而为。

1 个答案:

答案 0 :(得分:4)

  

我的问题是,是否有提取Java类或从该应用程序读取它们的方法?

正如您已经想到的那样,.exe文件包含RC_DATA类型的资源。 这种类型有两个条目。较小的一个(名为“1001”)只包含一个带有类名的字符串(它可能是主类名),而较大的一个(名为“1000”,大约600 Kb)包含实际的类。 您可以借助任何资源提取工具(例如“资源黑客”)来提取该资源。

每个*.class文件以4个字节0xCA 0xFE 0xBA 0xBE开头,因此您可以遍历提取的“1000”的内容,并将每个类保存到单独的*.class文件中。每个0xCA 0xFE 0xBA 0xBE都会标记新文件的开头。并且,显然是之前的结束。

然后可以反编译类。

  

可能通过了解Abstract Windowing ToolKit(AWT)或Swing

的结构

AWT和Swing是构建UI的标准库。所以这里没关系。