安卓游戏反编译教程
用什么工具能反编译DLL文件?
用什么工具能反编译DLL文件?
如果是微软.net框架内的语言,用ILDasm!在命令提示界面内输入ILDasm就行!
昆仑通态触摸屏如何反编译?
在eseybuilder pro软件中常用菜单下点击反编译选项即可
android怎么反编译获得apk源码?
你好,非常高兴为你解答:
用apktool反编译工具来做,不过源码通常拿不到,xml可以拿到。即便是纯Java代码写的,你反编译出来的代码也缺少很多东西,可以看得懂但是导入IDE中还是会有很多错误的。而且如果apk是用C 写的实现部分,那基本没希望反编译出源码了。好的apk都会有自己加密算法和反反编译算法的。
希望有所帮助!
安卓逆向怎么弄?
安卓是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。安卓逆向就是将安装包apk文件还原成打包前的样子。逆向分析是一门技术,也是一门艺术。
分类:
1.应用层APK逆向。
2.安卓设备框架逆向。
3.内核驱动逆向。
4.基于安卓的硬件产品逆向。
逆向工程,主要有几种用途,第1种是直接修改apk的,例如改代码数值、改图片等的,这时主要用到apktool来解包、打包。第2种是逆向分析,然后源码开发出类似功能的,这时用apktool来得到资源文件,再用dex2jar来得到类似的源码,然后再根据逻辑来完善这个工程。
工具/原料
more
apktool dex2jar jd-gui Android签名文件
方法/步骤一:使用apktool来解包打包
1/5 分步阅读
使用apktool来编译出资源文件。在命令行输入:
apktool -d test.apk
2/5
执行上一步后,分析资源文件。
apktool.yml: apk属性,这个基本不用修改的.AndroidManifest.xml: 清单文件, 看这里可以知道总体的代码结构.original: 原始数据, 应用的二进制清单和签名.res: 资源文件,图片,xml文件都在这里。smali: dex解析的代码.smali是dex虚拟机的解析格式,在 dex2jar中,也包含smali格式的转换.
3/5
修改文件。一般情况,修改文件主要是res和smali。修改图片,主要.9的图片是不太支持重新打包的。修改smali文件,可以结合用dex2jar把代码反编译成可读性强的代码,读懂smali文件每一代实际代表的java代表的意思。用有的编辑工具编辑smali后,会生成.bak后缀的代码,注意要删掉,否则会重新打包编译不通过。
4/5
使用apktool重新打包。在命令行输入:
apktool b test
5/5
签名apk。没有签名的apk是不可用的。在命令行输入:
jarsigner -digestalg SHA1 -sigalg MD5withRSA -verbose -keystore 密钥库名 -storepass 密钥密码 -signedjar 生成后apk路径 原apk路径 密钥别名
方法/步骤二:结合dex2jar来生成源代码
1/2
如果想逆向分析后,用源代码开发一个类似的,这时需要用dex2jar来生成可读性强的源代码。在命令行中输入:
test.apk
2/2
利用jd-gui等工具,来查看生成后的jar。这时可以看到代码类似开发时写的java源代码了,可以大概读懂大部分逻辑。如果把代码拷贝到Android Studio,会发现还是有些错误,这时可以结合逻辑进行修改。