一个安卓锁机软件的逆向分析

前两天在吾爱上看到有人求助手机被锁,顺手吧样本下载了,分析下。

样本桌面是一个百度网盘的图标

image-20220402141506388

这像素一看就是假的。。。

打开后是个root锁机,这里还是提醒各位没事不要随便开root权限,这都2021年了,还有这种垃圾软件,也是服了!

image-20220402141514360

直接jeb

启动后看到这变量名是真恶心啊!!!

发现MainActivity中只调用了一个hh

image-20220402141521365

第一个页面

这里发现第一个页面是第四层函数

image-20220402141530861

这里主要是q()中是个文字编码,提取出来,把这两行解密下。

image-20220402141538590

这里有一行解码后发现是一个网站,猜测可能是访问网站返回解码

100000005线程处跟进

image-20220402141544779

本质是做了一个判断,继续跟进isINTERET()

image-20220402141552826

这里发现9160,尝试下,对了

然后进入第二个页面

(还是多重锁机骗钱,可以很骚,很傻逼)

第二个页面

image-20220402141602192

第二层是第五层的函数

image-20220402141609649

跟进100000008

image-20220402141617211

点击屏幕30次会出现两个控件

然后跟进100000009

image-20220402141624353

这里try里边先做了一个字符编码,直接把m这个函数摘下来稍作修改

解码后是9,5,10

然后通过这三个数做了运算

同样吧加密摘下来

这个加密处理处v0.val$test 是界面给的序列号

这个序列号是通过取随机数然后通过m下的方法处理后的(这个软件变量方法名太恶心了,就在第五层的倒数第三行)

还是老办法,把这个函数取出来处理下

image-20220402141631663

把v1,v2 的值交换下就可以了

image-20220402141638554

转第二层锁

第三个页面

image-20220402141647476

image-20220402141654580

这个和上一个差不多做法就不细说了

把改过的函数挂出来吧(这里边函数或者变量名是修改过的,后边会把整个项目脚本放上来,可以看那个)

image-20220402141702375

解出来后跳到第四个页面

第四个页面

第三层函数

image-20220402141710260

和上边也是差不多

继续改函数

这里要注意 粉红兔 这个实例在创建的时候传了个 fuck参数(当时找了好久,好烦呀)

image-20220402141718598

image-20210528183252244

image-20220402141726058

搞定,下一层下一层

第五个页面

第一层函数,看起来也差不多

看第四个页面,不过这里又个迷惑人的点

随机码多了一个b,解码时删掉这个解就好

image-20220402141734543

image-20220402141741322

总结

没有什么特别奇怪的算法,都是大差不差,刚去看了下吾爱,好像有师傅提前解出来了

网站也是被挺多人留言了

分析的时候去找过那个qq群,好像还在运行,这种人就挺可恶的

拿技术做坏事,为人所不齿

脚本因为是分析的时候写的,乱得很,这里先放上来

https://gitee.com/p1piyang/backward-analysis/tree/master

累死了!!!


一个安卓锁机软件的逆向分析
http://example.com/article/e48e684a.html
Author
p1yang
Posted on
May 28, 2021
Licensed under