几种java反编译软件的安装以及使用总结

几种java反编译软件的安装以及使用总结,第1张

下面是在网上找的几种反编译软件的安装以及使用:

一、JD-JUI

官网下载链接:http://jd.benow.ca/

下载之后解压,

点击“jd-gui.exe”运行:

直接将".jar"文件拖入进去即可查看里边的“.class”文件,如上图所示。

二:Luyten

官网下载链接:https://github.com/deathmarine/Luyten/releases/tag/v0.5.3

点击“luyten-0.5.3.exe”下载,下载之后点击运行,运行后的界面如图所示,同样也是讲“.jar”文件拖入进入即可。

三、在eclipse中安装反编译工具

准备工作:

“jad.exe”下载:https://varaneckas.com/jad/

“net.sf.jadclipse_3.3.0.jar”下载:https://sourceforge.net/projects/jadclipse/files/

jad.exe”下载:

“net.sf.jadclipse_3.3.0.jar”下载:

然后将“net.sf.jadclipse_3.3.0.jar”拷贝到eclipse的plugins目录下,再删除eclipse的configuration目录下“org.eclipse.update”文件,这一步很重要!

重启eclipse,点击window->Preference->Java,你会发现里边多了一个插件“JadClipse”,

选中这个插件,将下图中红圈圈的地方的地址填写为你 “jad.exe”文件的地址

还没有配置完,先不要close,

点击General->Editors->File Associations 后,进入下边的界面

设置.class 文件默认打开方式:

设置.class without source文件的默认打开方式,

需要注意的是,“JadClipse Class File Viewer”这个一开始是没有的,需用添加,如下图所示:

接下来在eclipse中查看反编译后的代码:(这种方法可能不合适,但是能够查看)

新建一个EJB project,右键“import”,选中"EJB JAR file",导入你的jar包,Finish

在项目下找你要查看的反编译的文件即可,如果你遇到了下边的这种情况

关闭这个文件后再次打开,就可以查看了(我的是这样,所以我感觉这个方法不太好,但别的方法又不知道怎么查看):

有错误或者有更好的方法,希望大家在下边留言指出

让我们先来认识下APK文件. Android的应用程序包为扩展名为.apk文件, 无论你是从手机市场里下载, 还是电脑中下载.  都是这类APK文件.  APK是AndroidPackage的缩写,即Android安装包(apk)。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。apk文件和sis一样,把android sdk编译的工程打包成一个安装程序文件,格式为apk。 APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接,和Windows Mobile中的PE文件有区别.

android

一个APK文件解压开通常有这样的文件夹:

META-INF 目录:

MANIFEST.MF: manifest文件

CERT.RSA: 应用程序证书

CERT.SF: SHA-1资源签名列表. 例如:

Signature-Version: 1.0

Created-By: 1.0 (Android)

SHA1-Digest-Manifest: wxqnEAI0UA5nO5QJ8CGMwjkGGWE=

...

Name: res/layout/exchange_component_back_bottom.xml

SHA1-Digest: eACjMjESj7Zkf0cBFTZ0nqWrt7w=

...

Name: res/drawable-hdpi/icon.png

SHA1-Digest: DGEqylP8W0n0iV/ZzBx3MW0WGCA=

lib: 这个目录包含某些特定编译代码, 这个文件夹分成下面这些

armeabi: 只基于所有ARM处理器的编译代码.

armeabi-v7a: 所有ARMv7处理器的编译代码

x86: 仅针对x86处理器的编译代码

mips: 为MIPS处理器的编译代码

res: 包含资源的目录不编译到资源文件,看下面:

assets: 包含应用程序的资产,可以通过AssetManager进行检索.

AndroidManifest.xml: 包含应用程序的元数据文件,描述名称、版本、访问权限、引用应用程序的库文件。此文件在Android二进制格式, 可被工具转化为可读的纯文本XML工具,如   AXMLPrinter2,apktool,或Androguard。设置,可以通过AssetManager进行检索

classes.dex: Dalvik字节码

resources.arsc : 一个包含预编译资源文件,如二进制的XML.

有两种方法反编译APK, 如果是为了汉化程序, 可以使用apktool:

安装过程

1.下载apktool1.5.2.tar.bz2和apktool-install-windows-r05-brut1.tar.bz2

2.把两个文件都解压放在同一个目录,共三个文件

aapt.exe

apktool.bat

apktool.jar用于解包,apktool.jar和aapt.exe联合用于打包。

在命令行执行:

apktool d d:\xxx.apk d:\xxx

xxx 为你的输出目录,  然后你就可以看一些xml的资源文件, 以及Smali文件. 如下图某APK文件反编译输出目录:

Smali,Baksmali分别是指安卓系统里的Java虚拟机(Dalvik)所使用的一种.dex格式文件的汇编器,反汇编器。其语法是一种宽松式的Jasmin/dedexer语法,而且它实现了.dex格式所有功能.

你可以使用dex2jar, 下载后解压, 直接把apk文件拖到dex2jar.bat文件上,就可以生成对应*.jar文件,这时使用JD-GUI, 打开jar文件,就可以看到java源码,同时可以导出.

由此可见,Android应用程序反编译并不难, 加密与解密的斗争一直会持续.

工具:安卓修改大师、一个你要修改的app安装包(这里以贪吃蛇大作战为例)。

1、选取一个要进行反编译的游戏或应用:点击安卓修改大师顶部的安卓游戏选项卡,打开的页面中找到任何一款想修改的游戏,例如,本示例将要修改的游戏为“贪吃蛇大作战”。

2、开始进行反编译:点击该游戏的“安装”按钮,d出相关的反编译选项菜单。点击菜单中的“反编译”按钮,进入到游戏的反编译界面。

3、修改图标、程序名称等:在“反编译”界面,左侧为功能分类选项卡,右侧为当前选项卡对应的可 *** 作项。默认选项卡是“常规信息”,在这里修改应用图标和应用名称,注意图标要为png格式,设置128*128像素大小或者更大的图标。

4、重新打包:经过前面的步骤后,已经修改了应用的名称和图标以及相关的应用参数,点击前述界面左侧的“打包/签名”选项卡,然后点击开始打包按钮进行打包。

5、打包完成,马上点击“安装到手机”按钮,可以开始安装到您的手机上。

更改安卓安装包的内置文件需要反编译已经打包的APK安装包,此方法推荐使用“安卓修改大师”,可以在没有源代码的情况下,直接反编译安装包,通过修改代码实现添加和去除部分功能,也可以修改应用图标和应用程序名称。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11448703.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存