吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4676|回复: 28
收起左侧

[Android 原创] 关于通过赋值数组进行破解

  [复制链接]
一块砖头 发表于 2022-3-30 23:14
本帖最后由 一块砖头 于 2022-3-31 10:57 编辑

前言:

教程以“鲁搬大师”为例
这个软件好像最近挺火,我只搞过6.0-7.0版本,其他版本的破解实在是没有什么意思,也就这个有dexcc有趣些所以发个教程。下面把没有dexcc的称为6.0,有dexcc的称为6.1
首先你得把6.0先破解一遍,这样你弄6.1才会方便很多,直接弄难度太大了了

教程:
一般来说大家破解6.0都是追到这个地方,让146或者160行跳转成功就算是破解了

IMG_20220330_213627.jpg

而在6.1版本中因为这个方法被抽空了没办法进行修改,因此咱们回到6.0的这个方法寻找线索

首先是146对应的142行的b方法,它是用来判断弹窗有没有在显示的,对我们破解6.1来说帮助不大所以放弃

其次是160对应的152行的d方法,咱们跳转过去发现返回值来自一个叫“val$activate”的字段,而在6.1中这个字段还是存在的甚至连名字都没有改,这就成了我们破解6.1的关键。来到6.1中,对这个字段查找put调用

IMG_20220330_215254.jpg

可以看出是由p4传入的,而整个方法里没有对p4进行赋值,所以这个p4是调用这个<init>方法时传入的
ps:这里给不知道的朋友补充一个知识点,px和vx是不一样的,调用某个方法的时invoke传入的值就会被放进px中(x从0开始数)

一般来说咱们就在这里直接对p4赋值就可以完成破解,但是要注意的是val$activate的数据类型是[Z,这是一个布尔数组

平时都是const走天下,但是数组不能直接用const赋值,这里我不直接讲怎么赋值数组,教大家一个思考方法吧这也是本教程唯一一个有营养的地方了

既然咱们不会赋值数组,但是对于这个p4肯定有个定义里面值的步骤,而6.1里面查找<init>的调用发现被抽了那咱们就去6.0找调用处。

第一次查找调用处,找到了传入p4的调用但是其也是由上一层调用进行的赋值,所以再查找调用,然后我们就来到了这里

IMG_20220330_231119.jpg

可以看到数据是由这里的v3传入的,而对v3有定义的地方就在上面,咱们是来偷定义数组的方法的,所以咱们把目光聚焦5393-5397行,第一行咱们很熟但是下面的相信大部分人都挺陌生的。这里结合MT的翻译插件,我对其进行一下解释(有不对的地方还请指正)
new-array vx,vy [Z

首先要知道new-array是指创建一个数组,这里vx是指创建的数组是放到vx里的;vy指的是这个数组的长度(可以放几个数据),后面的[Z指的是这个数组的数据类型是布尔数组

所以结合上面的const/4 v3, 0x1就可以知道这里的意思是,新建一个叫v3的布尔数组,长度是1
aput-boolean vx, vy, vz

aput-boolean就是用来把值放进数组的语句
vx指的是放进去的值是什么
vy是放进哪个数组
vz是放的位置(从0开始数)

所以再结合5385行的const/4 v1, 0x0就可以知道这里的意思是把0放到v3数组的第0个位置

这样一来咱们就明白了嘛,回到6.1的<init>方法。结合6.0的时候看到的判断的是nez,所以要跳转成功就得让这个数组返回的值是1,也就是让这里的p4值是1
根据咱们上面学到的知识,咱们在64行插入代码就完事了
    const/4 v1, 0x1

    const/4 v2, 0x0

    aput-boolean v1, p4, v2

然后保存退出,安装测试就可以看到破解成功了。(软件有np注入的签名验证,这个大家直接过签就不讲了)

免费评分

参与人数 6吾爱币 +11 热心值 +6 收起 理由
qtfreet00 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
笙若 + 1 + 1 谢谢@Thanks!
芽衣 + 1 热心回复!
minejoy + 1 + 1 热心回复!
xiaomomeihuashe + 1 + 1 教程很详细
chinawolf2000 + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

无闻无问 发表于 2022-3-31 07:53
一块砖头 发表于 2022-3-31 03:38
里面有一句是这个
    .local v4, "handler":Landroid/os/Handler;
我不是很能理解这句的意思,有知道的 ...

定义变量,如
Handle handler;

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
一块砖头 + 1 + 1 谢谢@Thanks!

查看全部评分

hyl67788 发表于 2022-3-31 00:45
 楼主| 一块砖头 发表于 2022-3-30 23:25
因为这个软件的破解实在是太简单了讲出来没什么营养,也就那个赋值数组的值得看了所以其他地方讲得比较简略,有不懂的地方可以在评论区说一下(不要找我要软件,我没有)
kisszgy 发表于 2022-3-30 23:37
学习学习。永远追逐未来
北辰没有林安 发表于 2022-3-30 23:38
第一次接触数组。不过签名验证和其他破解方法的确没意思
 楼主| 一块砖头 发表于 2022-3-30 23:42
北辰没有林安 发表于 2022-3-30 23:38
第一次接触数组。不过签名验证和其他破解方法的确没意思

如果你弄过6.0那个就知道了,破解起来太容易了。讲出来就是在倒垃圾,讲思路的教程我也出过所以实在不想写一堆废话
a6718589 发表于 2022-3-30 23:43
方便发下源软件吗
 楼主| 一块砖头 发表于 2022-3-30 23:45
a6718589 发表于 2022-3-30 23:43
方便发下源软件吗

这玩意我现在也没有了,主要是讲一下那个思路和赋值数组的方法。你随便找个有数组的软件试试就可以了
a6718589 发表于 2022-3-30 23:46
明白了哈哈
xy0225 发表于 2022-3-31 00:06
看懂了,谢谢分享
ruhua2295210 发表于 2022-3-31 00:18
666666666666666666
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 15:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表