前几日,看到一篇文章颇有意思的破解文章,便尝试亲手操刀试一试,文章来源:《 Android破解之北斗手机定位系统》,来源自:吾爱破解论坛,文章链接:http://www.52pojie.cn/forum.php?mod=viewthread&tid=385773,感兴趣的朋友可以速速围观,下面我要说明的是以下几点:
工具:APK改之理(Apk IDE)http://www.onlinedown.net/soft/427172.htm
一款可视化的用于修改安卓Apk程序文件的工具,集Apk反编译、Apk打包、Apk签名,支持语法高亮的代码编辑器,基于文件内容的关键字(支持单行代码或多行代码段)搜索、替换引擎,打造一条龙修改工具(不必再借助各种第三方工具),从而大大简化Apk修改过程中的繁琐工作,节约时间,让你能够把精力全部集中在修改任务中。
1、全自动的反编译、编译、签名,从此不必再输入繁琐的Apk解包、打包命令。
2、以树目录管理全部Apk资源文件,浏览、管理、打开、删除文件或文件夹都可以统一在软件中实行,方便快捷。
3、自动识别图像资源,并提供该类资源的快捷替换功能,方便修改这类图片资源。
4、内置代码编辑器,支持包含(但不限于)。samli、。xml、。html、。java等的各种文件的语法高亮显示,根据文件格式自动匹配相应语法;同时支持使用系统编辑器来编辑代码文件。
5、内置基于文件内容的单行或多行代码搜索、替换引擎,一键搜索替换,可显示无穷多个搜索结果以标签的形式分门别类;可指定搜索范围(全部源代码或在指定的文件夹中搜索),支持正则表达式搜索和替换。搜索功能是Apk修改的一个重要工具,从此你不必借助其它第三方搜索工具。
6、内嵌Unicode、AscII互转工具,以方便汉化类修改。
7、内置类似于系统cmd.exe的命令窗口,高手也可以手动直接输入各种命令来手动操作。
8、所有操作步骤、操作结果都以良好的阅读格式输出在日志窗口,方便查看修改的历史记录。
9、内置adb功能,包括使用adb向设备(或模拟器)安装、卸载修改后的apk进行测试,并嵌入adb log、ddms等功能监测修改apk的运行状况,以便于分析和查找错误。
10、支持界面换肤。
截图如下:
small语法:
反编译后可以得到jar或者得到smali文件,Android采用的是java语言 进行开发,但是Android系统有自己的虚拟机Dalvik,代码编译最终不是采用的java的class,而是使用的smali,具体详情看参考文章:http://mobile.51cto.com/aprogram-464015.htm
,这里我列下基本语法,以便本内容使用:
.field private isFlag:z 定义变量
.method 方法
.parameter 方法参数
.prologue 方法开始
.line 12 此方法位于第12行
invoke-super 调用父函数
const/high16 v0, 0x7fo3 把0x7fo3赋值给v0
invoke-direct 调用函数
return-void 函数返回void
.end method 函数结束
new-instance 创建实例
iput-object 对象赋值
iget-object 调用对象
invoke-static 调用静态函数
条件跳转分支:
"if-eq vA, vB, :cond_**" 如果vA等于vB则跳转到:cond_**
"if-ne vA, vB, :cond_**" 如果vA不等于vB则跳转到:cond_**
"if-lt vA, vB, :cond_**" 如果vA小于vB则跳转到:cond_**
"if-ge vA, vB, :cond_**" 如果vA大于等于vB则跳转到:cond_**
"if-gt vA, vB, :cond_**" 如果vA大于vB则跳转到:cond_**
"if-le vA, vB, :cond_**" 如果vA小于等于vB则跳转到:cond_**
"if-eqz vA, :cond_**" 如果vA等于0则跳转到:cond_**
"if-nez vA, :cond_**" 如果vA不等于0则跳转到:cond_**
"if-ltz vA, :cond_**" 如果vA小于0则跳转到:cond_**
"if-gez vA, :cond_**" 如果vA大于等于0则跳转到:cond_**
"if-gtz vA, :cond_**" 如果vA大于0则跳转到:cond_**
"if-lez vA, :cond_**" 如果vA小于等于0则跳转到:cond_**
看到这里应该大概明白为什么作者要改lt为gt了吧,小于变成大于了,呵呵,这里大家重点要掌握就是这个函数调用:invoke-static,看明白了基本就可以完成下面去广告的功能了,除了作者的lt转gt功能;
去广告:
如果大家完成了作者的修改lt左右后,发现有个非常讨厌的弹出广告每次都出来,而且不小心点击就会自动下载,我就中招无数,可怜了笔者的小手机,故此必须除掉它,我们首先看下整个项目反编译后的效果,浏览会发现waps这个jar 包,
那就好办了,搜索waps 关键字,终于出了它本身之外,我们发现了在自己的smali文件里出现了一个方法showPopAd,判断就是它,直接删除即可,编译生成可不再显示弹出广告;
修改软件显示信息
1,中文
直接定位到string文件,双击打开就可以编辑任何可见中文,截图如下:
2,ASCII
发现文字是直接写到代码里面的,这里表示对开发者偷懒的极度不满,让破解遇到问题,比如如下文字:
没有办法,只能先转换了,在线转换网站:http://tool.oschina.net/encode?type=3
转换后明显亲切了,如下图:
遇到问题如何解决:
1 破解工具使用,记得要安装JDK1.7喔,不然可能出现问题吧,出现别的问题自行百度;
2 语法问题,smali 基本语法要懂,不然无法下手,反正就是边学边用,程序员基本都是如此;
3 第三方jar包,建议先浏览看看有哪些方法,然后进行全局搜索;
4 ASCII,遇到不要怕,因为这是可以转成中文的,如果看不懂,记得转成中文喔;
联系笔者:
感兴趣的可以发邮件联系笔者:xxxx@163.com,特别注明:破解后的软件不免费提供,请尊重知识产权。
备注:已无法再次破解,请大家谅解,请勿继续发有邮件,谢谢,时间:2019-07-04。
附言:
非常感谢原破解作者,站在巨人肩膀,别忘记了继续往上爬,不然,你还是没有人家看的高,看的远,与君共勉。