Ⅰ app反编译和apk反编译有什么区别
APP指的是各种系统类型的程序
而APK指的是用于安卓系统的程序
因此一个是广泛的统称,一个是特定的叫法。
易语言对于反编译是没有任何多大的用处的
如果你要学会多种系统类型上用的程序,那么你要学的东西会很多。
如果你只是要学会APK反编译,而且是深层次的修改,那么懂点java知识还是有点用处的。
Ⅱ android 如何对apk文件进行反编译以及重新
第一:使用apktool直接反编译apk
第六:把生成的hellodemo.apk安装到手机,可以看到主界面上已经显示的是hello,而不再是你好。说明反编译重新打包成功!
Ⅲ 求安卓软件反编译修改教程
1、baksmali:classes.dex反编译为smali格式
(smali:smali格式编译打包为classes.dex,但由于smali格式类似汇编,比较难阅读,所以用dex2jar进行辅助 )
2、dex2jar:classes.dex转为jar包
3、jdgui:jar反编译并阅读
操作顺序:
apk用zip解开,里面的classes.dex分别用baksmali处理为smali,用dex2jar处理成jar,然后用jdgui看代码,找好java文件中要改的位置后,在smali里找对应的位置修改,改完了用smali再编译为classes.dex,覆盖原来apk里的同名文件,最后重新签名。注意安装时要先删除原来手机里的版本,因为签名不同。
Ⅳ 哪个安卓的反编译软件,最强大反编译错误最少
一、工具:
apktool , dex2jar , jd-gui
二、使用dex2jar + jd-gui 得到apk的Java源码
1.用解压工具从 apk包中取出 classes.dex 文件
用命令(dex2jar.bat classes.dex)得到一个 jar文件
2.用jd-gui反编译工具将得到.jar文件反编译成.java文件
三、使用apktool得到apk的xml文件
1.用命令(apktool d xxx.apk xxx_xml)反编译xxx.apk包
2.从 xxx_xml 文件夹得到xml文件
Ⅳ android apk反编译软件哪个好用
Android反编译的目的无非就是为了看到APK的xml、资源和代码:
得到代码的方式:直接解压APK文件 --> 得到classes.dex文件 --> 使用 dex2jar
classes.dex classes.jar生成jar文件 --> [可选的解压jar文件]
-->使用XJad或者JDCompiler查看源代码
得到XML的方式:
方式1:直接解压APK文件 --> 通过axmlprinter工具查看XML文件(这种方式查看的XML文件的id都是数字--即R文件中id对应的值)
方式2:使用APKTool工具解压APK文件可以直接查看XML文件
Android反编译常常使用如下的一些工具:
1、反编译命令:
apktool d D:\\Developer\androidDecode\Test0201.apk D:\\Developer\androidDecode\test0201
D:\\Developer\androidDecode\Test0201.apk:要反编译的APK文件
D:\\Developer\androidDecode\test0201:反编译文件的保存目录,必须为空目录
2、从反编译的文件编译成APK apktool b D:\\Developer\androidDecode\test0201 D:\\Developer\androidDecode\test020101.apk
D:\\Developer\androidDecode\test0201:保存编译后文件的目录
D:\\Developer\androidDecode\test020101.apk:生成的新的APK文件的保存的绝对路径
3、签名APK文件:
singedAPK.bat文件
java -jar "%~dp0signapk.jar" "%~dp0testkey.x509.pem" "%~dp0testkey.pk8" %1 signed.apk
执行singedAPK.bat命令
singedAPK D:\\Developer\androidDecode\test020101.apk 生成一个singed.apk文件和test020101.apk在同一个目录
4、使用baksmali.jar把一个dex文件转换为一个smali文件
java -jar D:\\Developer\ApkTool\baksmali.jar -o
D:\\Developer\androidDecode\baksmaliout
D:\\Developer\androidDecode\Hello.dex
D:\\Developer\ApkTool\baksmali.jar:baksmali.jar文件所存在的全路径
D:\\Developer\androidDecode\baksmaliout:生成的smali文件的保存目录
D:\\Developer\androidDecode\Hello.dex:要转成smali文件的路径
5、使用ddx.jar把一个dex文件转换为ddx文件
java -jar D:\\Developer\ApkTool\ddx.jar -d D:\\Developer\androidDecode\ddxout D:\\Developer\androidDecode\Hello.dex
D:\\Developer\ApkTool\ddx.jar:ddx.jar文件的绝对路径
D:\\Developer\androidDecode\ddxout:要保存ddx文件的路径
D:\\Developer\androidDecode\Hello.dex:要转换的dex路径
6、Android自带dexmp工具:dex文件转为smali文件 dexmp -d xxxx.dex > xxxx.smali
7、dex2jar.jar:dex2jar XXX.dex YYY.jar
Ⅵ 安卓反编译apk代码没修改只是把软件名字改了
首先要说明一点,反编译是个灰色地带,是会触犯版权问题的。完全正当的用途不多,比如恶意软件的分析。
如果你真的想学反编译,去吾爱破解论坛上,认真把上面的教程都学一遍。这绝对不是什么简单的事情,需要大量的工作经验作为支撑。换句话说,如果你没有相应语言足够的实战开发经验,学反编译无异于蛇吞象。
安卓app是使用JAVA进行开发的,对安卓app的反编译就是对JAVA程序进行反编译。而JAVA的由于其本身原理的原因,从JAVA程序反编译为代码是比较简单的,不容易出错,并且整个过程是傻瓜式的。不像其他语言,比如C++,程序会彻底变为机器语言,就不容易直接使用软件恢复成代码了。
因此,为了保证自己的代码不被他人反编译,我们开始使用代码混淆技术。简单的例子,某个方法名本来是setUserName(String userName),这样的名字别人一看就知道是用来干嘛的,而使用了混淆之后,这个方法的名字就有可能变为c(String s),这样就不能够知道这个方法是做什么的了。换句话说,混淆能够急剧地增加反编译者的工作量,使之无法修改和获取自己app的真正代码。
总结一下,反编译不是闹着玩的,也不是修改一个所谓的“名字”就能够完成任务的。如果想要真正地修改APP,必须从头开始,把混淆的代码都恢复成原本的代码,至少,你也得知道被混淆之后的代码中,哪里是干嘛的。
同时也希望题主不要以身试法。
Ⅶ 安卓APP反编译后的程序源代码在哪里
assets是html文件,lib是jar,res是资源文件。AndroidManifest是配置文件,源码在smali和original里面
Ⅷ 安卓反编译一般软件成功,反编译系统自带软件就不行。比如System.apk。错误提示如下:
安装系统框架没?
用re管理器到systemframework文件夹中找到framework-res.apk文件,然后复制到apktool目录下。
成功解压……
只是回编时要先删除ststusbar_background.9.png……
w开头的基本都是警告提示……
Ⅸ 有没有可以反编译安卓数据包的软件(obb格式)
安卓手机上有一款软件叫 apktool 的反编译软件应该可以解决你的问题 去论坛找找看
提供机锋地址:http://bbs.gfan.com/forum.php?mod=viewthread&tid=6028134
祝你成功
忽然发现我看错了 是obb数据包啥
obb是外部扩展的资源文件,加密的
要在linux下面,挂载obb文件,必须知道它的密码,要具备的知识太多了