`
YTWY001
  • 浏览: 29536 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

exe4j生成的exe文件反编译

    博客分类:
  • JAVA
阅读更多

转自:http://www.blogjava.net/cnfree/archive/2010/08/22/329559.html

 

现在网络上越来越流行.net和java写的客户端的小应用程序,而且后缀是exe。本文讨论的是如何从exe4j封装的exe文件中将自己想要的jar抽取出来。

exe4j一直是一种比较通用的java exe封装工具,但是其并没有将jar转换为本地文件,而是将jar文件通过特殊处理后,封装成的一个exe文件。因此只要我们了解了exe4j的原理,就可以将jar文件从exe文件中提取出来,并通过反编译工具来查看程序代码。

1. 分析Exe4J,得知其在添加文件到.exe时,使用0x88将文件内容Xor,所以第一步,我们需要将原始的数据提取出来:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->import java.io.*;
import java.util.*;

public class gen {
    
public static void main(String args[]) throws IOException {
        FileInputStream fin 
= new FileInputStream(args[0]); // 可以将整个exe文件解码
        FileOutputStream fout = new FileOutputStream(args[1]);
        BufferedInputStream bin 
= new BufferedInputStream(fin);
        BufferedOutputStream bout 
= new BufferedOutputStream(fout);
        
int in = 0;
        
do {
            in 
= bin.read();
            
if (in == -1)
                
break;
            in 
^= 0x88;
            bout.write(in);
        } 
while (true);
        bin.close();
        fin.close();
        bout.close();
        fout.close();
    }
}


2.分析提取出来的数据文件,使用WinHex查看其16进制代码。由于Jar文件的开头总是PK开头,并且总包含有manifest.mf文件,并且结尾总是有3个00,同时结尾段有整个Jar包文件的索引,我们可以根据这一特性来分析我们需要的片段。

1、搜索Jar的manifest,然后往前找,找到的第一个PK段,即为一个Jar的开头。
2、查看片段里Jar里的每个class信息,直到最后的文件索引片段。
3、一个Jar的结束片段位于索引片段之后,仍然包含着PK段,并且最后包含着3个00,且这3个00距离PK大概20个字节左右

根据以上3条准则,足以提取整个Jar数据段,然后导入新文件中,并且以zip字段命名,尝试用ZIP解压缩软件打开,看看是否抽取正确。

需要注意的是WinHex非注册版,只能保存280K大小的文件,更大的Jar文件,需要注册版的WinHex才行。

 

**************

 

注:可以用 ultraedit来查看十六进制,非常方便

分享到:
评论
4 楼 lzc0088 2013-12-11  
你好,我也是在第二部分没解决,请问执行java gen 时候的两个参数如何设置?

谢谢
3 楼 foible 2013-01-08  
我一直都没有解决,我跟你已经私信了,并且将.exe包发给你了。望帮助。
2 楼 YTWY001 2012-12-20  
好久没看了 哇 估计你现在都解决了吧。。
1 楼 foible 2012-10-25  
我在第2部份时遇到困难,真心希望得到你的帮助。

相关推荐

    dex2jar反编译dex文件

    反编译dex文件 反编译apk解压后生成的class.dex文件 内附使用说明

    最新的android反编译

    最新的android反编译工具以及相关的使用方法,这个版本为最新的工具。 1、把apk文件重命名为zip或者rar文件格式 2、解压后把classes.dex复制到dex2jar-2.0目录中 3、打开cmd,定位到dex2jar-2.0目录 4、运行d2j-dex2...

    exe4j最新版,附注册码

    可以将jar包生成exe文件,防止被反编译。

    .NET Reactor反编译

    与代码混淆工具(Obfuscator)相比,.NET Reactor 可以完全阻止对 .NET 程序集(由 C#, VB.NET, Delphi.NET, J#, MSIL… 等语言编写)的反编译。通俗的讲,.NET Reactor 在破解者和您的 .NET 代码之间构建了强大的防...

    jd-gui(class文件反编译).rar

    将classes.dex复制到解压后的dex2jar-2.0文件夹下。从命令行进入到该目录,执行 d2j-dex2jar.bat classes.dex 会生成由classes.dex反编译得到的jar文件,classes-dex2jar.jar。

    反编译工具.zip

    操作说明:1、下载完成解压dex2jar-2.0压缩包,然后把apk文件解压,不知道怎么解压的先把...2.在dex2jar-2.0文件中打开命令行输入d2j-dex2jar classes.dex命令会生成一个jar文件 3.运行jd-gui.exe,打开这个jar文件即可

    Android反编译

    Android反编译,反编译后可以查看源代码与资源文件。具体步骤是。1:把apk文件后缀改成zip,然后解压出来。得到资源文件;2:把其中的classes.dex文件复制出来,放到本工具文件夹dex2jar-0.0.9.15下,并cmd到此目录...

    dex2jar-2.0 反编译

    用winrar等工具解压APK 将class.dex拷贝到dex2jar目录下 执行:d2j-dex2jar.bat classes.dex 最后会生成jar文件

    Android代码反编译工具

    1.进入dex2jar文件夹,在此处打开命令行 2.输入命令 d2j-dex2jar.bat classes.dex(apk解压过后的代码文件)的全...3.在dex2jar文件夹下就会生成对应的jar文件,可以用jd-gui.exe打开,也可以用AndroidStudio依赖打开

    Android apk反编译工具(dex2jar.zip jd-gui.zip)

    将xxx.apk重命名为xxx.zip,然后解压,取出classes.dex,放到dex2jar里面,cmd执行d2j-dex2jar classes.dex,会生成一个classes-dex2jar.jar,然后用jd-gui.exe 打开生成的文件。

    c# exe dll 加壳 工具

    与代码混淆工具(Obfuscator)相比,.NET Reactor 可以完全阻止对 .NET 程序集(由 C#, VB.NET, Delphi.NET, J#, MSIL… 等语言编写)的反编译。通俗的讲,.NET Reactor 在破解者和您的 .NET 代码之间构建了强大的防...

    Ubuntu(Linux)反编译apk(apktool)

    签名,执行:sh ./dex2jar/d2j-apk-sign.sh ./xxx/dist/xxx.apk 就是给刚才那个apk签名,生成的文件还是xxx.apk在apktool根目录下。这样就大功告成啦。 [请看:...

    自己使用Swing实现的POJOGenerator(POJO代码生成器 v1.2)

    由于本工具的内部实现较菜,所以还请反编译高手手下留情,让我留几分颜面。^_^ 作者本人只用过Oracle、MySQL、MS SQL Server这三款数据库产品,所以制作成exe 可执行文件时只添入了这三款数据库的驱动支持。如果您...

    自己使用纯Swing写的POJOGenerator(POJO代码生成器) v1.2版

    由于本工具的内部实现较菜,所以还请反编译高手手下留情,让我留几分颜面。^_^ 作者本人只用过Oracle、MySQL、MS SQL Server这三款数据库产品,所以制作成exe 可执行文件时只添入了这三款数据库的驱动支持。如果您...

    dex2jar-2.0 反编译工具

    用winrar等工具解压APK 将class.dex拷贝到dex2jar目录下 执行:d2j-dex2jar.bat classes.dex 最后会生成jar文件

    android 反编译工具集含"APK Multi-Tool""dex2jar""jd-gui"

    dex2jar 用来把APK直接解压得到的classes.dex文件编译为jar文件 具体: cmd 进入dex2jar目录,把classes.dex文件也放在此目录 执行: d2j-dex2jar classes.dex 会自动生成classes_dex2jar.jar 用可视化工具jd-gui查看...

    (.NET 代码混淆器)Eziriz.Reactor.v4.2.8.4(破解版)

    与代码混淆工具(Obfuscator)相比,.NET Reactor 可以完全阻止对 .NET 程序集(由 C#, VB.NET, Delphi.NET, J#, MSIL… 等语言编写)的反编译。通俗的讲,.NET Reactor 在破解者和您的 .NET 代码之间构建了强大的防...

    POJOGenerator v1.3.3 Install(可视化POJO代码生成器最终版)

    由于本工具的内部实现较烂,所以还请反编译高手手下留情,让我留几分颜面。^_^ 由于本人只用过Oracle、DB2、MySQL、MS SQL Server这四款数据库产品,所以制作 成exe可执行文件时只添入了这四款数据库的驱动支持。...

    『ApkTool』APK破解工具

    4、反编译dex 拖拽dex文件或odex到"反编译dex"按钮前的输入区,点击"反编译dex"按钮, 会在dex文件所在目录外生成一个与dex文件名相同的目录 5、重建dex 拖拽要重建的目录到"重建dex"按钮前的输入区,点击"重建...

    .NET Reactor V4.5绿色破解版

    通俗的讲,.NET Reactor 在破解者和您的 .NET 代码之间构建了强大的防破解保护屏障,生成一个基于 Windows 的而不是基于 MSIL 的兼容格式文件。原始的 .NET 代码完整的封装在本地代码内,无论何时都不会释放到硬盘,...

Global site tag (gtag.js) - Google Analytics