反编译修改apk
所用软件
Jdk
dex2jar (例子版本dex2jar-0.0.9.15) 用于修改java文件
ApkTool 反编译apk
XJad
eclise (主要用于生成单个的jar文件)
为了叙述方便以激活成功教程test.apk为例。
一修改展现界面
步骤1:把test.apk命名为123.apk放在ApkTool文件目录下运行APKTool.cmd文件,按提示选择1按回车键。ApkTool会把123.apk反编译出来放在APK目录下,这里的xml是可读的(直接解压apk文件的xml是不可读的)其文件目录如下:
步骤2:找到要修改的界面布局的xml或图片进行修改。(做过android开发的人应该很熟悉)
这里举例我们修改两个位置:
a:修改app的名字
b:修改其中的一个图片。
找到要修改文件的位置我替换的是:APK\assets\data\res\ui下的
步骤3:修改完后进行回编。
运行APKTool.cmd文件,这是我们选择2(虽然3是回编并签名,这里我们不选择,我试过没有正确签名,原因没有细究)
之后在build文件下回生成一个:已编译(未签名).apk 文件(如果你没有看到在APKTool.cmd下按个回车)
步骤4:签名修改后的apk(签名是jdk的功能)
a :运行cmd 执行cd指令指向我们要签名的apk所在文件目录。
b :先用keytool生成keystore
执行keytool-genkey -keystore mykeystore -alias mykeystore -validity 999指令
执行完后会在当前目录下生成一个mykeystore文件
c : 再用jarsigner 签名
jarsigner -verbose -keystore mykeystore –signedjar 已编译(已签名).apk 已编译(未签名).apk mykeystore
执行后生成:已编译(已签名).apk这个是可用的。
步骤5:界面的修改已经完成。安装测试
可以看到我们修改的两个位置都已经变化了。
二修改程序的逻辑
步骤1:修改 test.apk为test.zip 用解压工具解压得到的文件目录结构如下:
这里的xml是打不开的。
步骤2:修改java文件(应用的逻辑)
运行cmd 用cd指令指向dex2jar文件夹目录
调用指令:d2j-dex2jar.bat C:\Users\Administrator\Desktop\over\temp\classes.dex
把步骤1中的classes.dex文件转换为jar文件,转换后的jar文件放在dex2jar目录下(因为没有指定)名字为:classes-dex2jar.jar
可以用java的反编译工具修改classes-dex2jar.jar文件
步骤3:打开XJad.exe 选择反编译jar文件
相同目录下得到源码
步骤4:在eclipse中新建一个android项目把源码拷贝过去。
步骤5:修个java后打补丁
步骤6:替换源文件
步骤7: 调用d2j-jar2dex.bat指令把修改后的jar回编为dex文件
步骤8:替换apk中的classes.dex文件,并删除META-INF文件夹
步骤9:重新签名,即可以安装使用了
声明:此文档仅供学习,参与违法行为与笔者无关。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/34356.html