Android破解之Lic文件加密程序(首例)

简介: 我不会写Android,这是我第一个破解Android的例子,耗时接近一天,希望大神不要见笑! 本程序为商业软件,不便发布APK程序。 不要给我发消息,我不得回,有问题,直接回帖就可以了。 准备工作 在开始之前,要进行以下准备工作: (1)安装JDK,至于版本,自己选择吧,目前我是用JDK1.6版,可以去官网下载安装,并进行环境配置; (2)安装模拟器,APK软件要运行测试,需要环境,模拟器是个好东西,我用的是海马玩模拟器,不知道行不行; (3)APK编辑器下载,现在我还是工具党,只能依靠工具,我用的是APK改之理,我并不知道为什么要取这么一个名字。

我不会写Android,这是我第一个破解Android的例子,耗时接近一天,希望大神不要见笑!

本程序为商业软件,不便发布APK程序。

不要给我发消息,我不得回,有问题,直接回帖就可以了。

准备工作

在开始之前,要进行以下准备工作:

(1)安装JDK,至于版本,自己选择吧,目前我是用JDK1.6版,可以去官网下载安装,并进行环境配置;

(2)安装模拟器,APK软件要运行测试,需要环境,模拟器是个好东西,我用的是海马玩模拟器,不知道行不行;

(3)APK编辑器下载,现在我还是工具党,只能依靠工具,我用的是APK改之理,我并不知道为什么要取这么一个名字。

至于,这三个软件 ,哪个版本相互之间最搭配,现在我还不知道,只能在后面学习过程中总结发现。

限制测试

现在进入正题,在查看、编译APK之前,得让原版程序在模拟器上运行一下,一方面,可以检查apk文件是否有效,我有很多小伙伴经常拿着有问题的数据在那里测试,为了莫名的错误百度都用烂了;另一方面,可以看看软件到底有什么限制。下面以默认账户登陆,然后出现了"此硬件设备未授权!"的错误信息。其实,这个软件需要放置一个lic许可文件在根目录下,但我们没有这个lic许可文件……

反编译程序

将apk程序载入APK改之理3.2版,出现以下错误,果断换了2.5版,就成功进行反编译了。

注意,文件名不能有中文,不然,无法进行正常反编译。

搜索关键

下面是主界面,左边目录树是项目的文件,中间上面是主要视图窗体,中间下面是日志窗口,右边是搜索面板。现在我得搜索一下我们的重要线索"此硬件设备未授权",在右边的搜索面板没有找到任何结果!陷入了僵局……,注意,这里的代码并不是JAVA代码,而是一种叫Smali的语言,不是那么好理解,因为跳转比较多,有点让人头痛!要想看懂并修改这些代码,其语法可参考文章末尾的链接。

但后来发现,Smali中的字符串是Unicode编码,于是,复制了一段就可以转换成汉字。

后来发现,可以看到JAVA源代码,打开任意*.smali文件,在编辑工具栏,打开JAVA源码即可用;在这里面就可进行中文搜索了,现在找到了关键位置。

分析代码

由于打码非常麻烦,所以就不分析怎么具体修改Smali代码了,下面是JAVA源码,主要是判断i值,在Smali语法中,if-nez表示不等于0……,if-eqz表示等于0……

编译程序

修改完毕后,保存,菜单栏"编译"-"编译生成",即可编译生成程序。

如果出现签名不成功,菜单栏"工具"-"配置与选项",修改签名工具为jarsigner尝试。

运行测试

在模拟器上安装测试使用,如果成功,再拿到平板上进行实地测试。当然,不要看这文章一下子就写出来,在模拟上的测试,不止一次两次的,多次尝试,总会成功!

 

参考:

Smali语法学习与DEX文件详解:http://www.apkbus.com/android-181396-1-1.html

Android apk反编译基础:http://www.jb51.net/softjc/119036.html

apk反汇编之smali语法:http://bbs.pediy.com/showthread.php?p=1117963

Apk改之理(Apk IDE)使用常见问题:http://bbs.angeeks.com/thread-2617106-1-1.html

目录
相关文章
|
3天前
|
Shell Android开发
Android系统 adb shell push/pull 禁止特定文件
Android系统 adb shell push/pull 禁止特定文件
15 1
|
2月前
|
Android开发
安卓SO层开发 -- 编译指定平台的SO文件
安卓SO层开发 -- 编译指定平台的SO文件
32 0
|
4月前
|
XML Java Android开发
Android App开发网络通信中使用okhttp下载和上传图片、文件讲解及实战(超详细实现用户注册信息上传 附源码)
Android App开发网络通信中使用okhttp下载和上传图片、文件讲解及实战(超详细实现用户注册信息上传 附源码)
142 0
|
3天前
|
存储 Java API
Android系统 文件访问权限笔记
Android系统 文件访问权限笔记
32 1
|
3天前
|
移动开发 Java Unix
Android系统 自动加载自定义JAR文件
Android系统 自动加载自定义JAR文件
20 1
|
3天前
|
Android开发
Android源代码定制:添加customize.mk文件进行分项目和分客户的定制
Android源代码定制:添加customize.mk文件进行分项目和分客户的定制
2 0
|
2月前
|
JSON Java Go
|
2月前
|
算法 Java Android开发
安卓逆向 -- 调用其他APK的SO文件
安卓逆向 -- 调用其他APK的SO文件
17 0
|
2月前
|
Android开发
安卓逆向 -- Hook多个dex文件
安卓逆向 -- Hook多个dex文件
19 1
|
2月前
|
Shell Android开发
安卓逆向 -- 防抓包破解(JustTrustMe)
安卓逆向 -- 防抓包破解(JustTrustMe)
77 1