anke1 发表于 2024-7-28 13:42

一木记账 深层代码逆向分析与实现免登录

本帖最后由 anke1 于 2024-7-28 13:49 编辑


前言

大家好,我是安柯,看到上贴的教程大家不是太懂,我也讲的不细致,于是咱们再来一遍 会的复习一遍 不会的好好学习!

教程1.先从会员开始分析,我们常量过滤会员,找到永久会员点进去
代码分析:第一段和第二段是调用静态方法和调用实例方法储存,就不做过多解释我们直接看第三段 第一个if判断语句 如果v0(user)为0或者null 那么跳转到cond49
接下来根据调用getviptype获取VIP类型,根据类型设置不同的test文本(说白了就是根据赋值判断是否显示会员字样)
看②处,如果viptype等于如果为0则设置文本为普通会员为2则设置文本为永久会员

③处表示 在vip类型为1时 用0x7f1201a2获取字符串资源,用来插入VIP到期时间后面就是调用getviptime获取VIP时间然后格式化时间 设置文本

好的,这时候我们就明白为什么替换正则表达式时是v10×2了
其实这段代码你转Java更好理解 0=普通2=永久1=根据时间显示文本


云功能
​同样先解锁会员,我们进入软件,点击云端上传时下方会显示鉴权失败的字样,那我们就常量过滤一下,结果真的有,那我们进去看看

​④处主要是根据body的返回值转换为json类型判断getcode是否不为0,得出两种情况(1)上传成功(2)上传失败或异常所以我们把①处删除即可解决上传失败问题

​然后我们再次测试发现会卡在这个页面

于是我们再次常量搜索关键字眼
​进入然后分析其实这个和上面的有过之而无不及



​⑤处也同样是调用getcode获取响应码然后判断是否不为0为0代表成功就会显示“数据正在........”所以我们直接把⑤处删除 代码的判断和响应会跳过 直接通过activity实例

​BackupGuideActivity$c类这里的也是同样的道理就不在叙述了
​​免登录


首先打开APP进入到登录界面 打开界面布局/开发助手获取密码的ID和当前界面的activity

进入dex文件,类名搜索com.wangc.bill.activity.login.LoginByEmailActivity
接着在当前结果中搜索0x7f0a06d8,搜索类型为整数

选择第一个进去,查找所有调用

然后点击第一个进去,可以转Java分析,更简洁明了

代码分析:如果checkbox被点击,那么两个编辑框里的内容传递给httpmanager类的getuseremail,根据Java可得第一个是email值,第二个是password值

那咱们把email值和password值写明,不就可以实现免登录嘛
于是我们只复制159行到173行的代码,其他的全都删除

然后代码开头加上这两句即可
tips:寄存器要改成5以上(registers 5)
const-string v0,"邮箱账号@qq.com"
const-string v1,"邮箱密码"清空此方法名然后复制下方代码

.line 9
   invoke-static {}, Lcom/wangc/bill/http/HttpManager;->getInstance()Lcom/wangc/bill/http/HttpManager;    move-result-object v2    invoke-static {v1}, Lcom/wangc/bill/utils/a;->e(Ljava/lang/String;)Ljava/lang/String;    move-result-object v1    new-instance v3, Lcom/wangc/bill/activity/login/LoginByEmailActivity$e;    invoke-direct {v3, p0, v0}, Lcom/wangc/bill/activity/login/LoginByEmailActivity$e;-><init>(Lcom/wangc/bill/activity/login/LoginByEmailActivity;Ljava/lang/String;)V    invoke-virtual {v2, v0, v1, v3}, Lcom/wangc/bill/http/HttpManager;->getUserEmail(Ljava/lang/String;Ljava/lang/String;Lcom/wangc/bill/http/httpUtils/MyCallback;)V

这个是直接把代码写死了,点击登录直接把账号和密码自动读取,就不用咱们再输入了(不实用 但是不能不会)

结尾
教程到此结束,谢谢大家支持,一起进步!

啊瓦尔特 发表于 2024-9-7 17:47

YUESE666 发表于 2024-7-28 20:03
你好,我发现还是无法获取上传了的备份

我也是,上传了备份,现在下载不了备份。卸载重装本地无数据了。如果找到办法或者有大佬回复,麻烦通知一声。。。

cxs808 发表于 2024-8-6 21:13

您好,请问最后一步的免签是怎么做的,我的MT和NP都实现不了。目前安装后运行就提示签名不对。

anke1 发表于 2024-7-28 18:42

deniol 发表于 2024-7-28 17:49
还是看不懂,不如直接发个破解后的APK文件吧

论坛不准发,哈哈哈,还不如看我上篇文章

117578111 发表于 2024-7-28 18:55

上篇文章修改替换0X2后多处报错无法保存

sharingcoke 发表于 2024-7-28 19:14

可以在电脑用Android studio'去修改吗

YUESE666 发表于 2024-7-28 20:03

你好,我发现还是无法获取上传了的备份

anke1 发表于 2024-7-29 11:07

117578111 发表于 2024-7-28 18:55
上篇文章修改替换0X2后多处报错无法保存

正则表达式可能转错了

ALazyDog 发表于 2024-7-29 15:42

学习一下

nico33 发表于 2024-7-29 15:46

117578111 发表于 2024-7-28 18:55
上篇文章修改替换0X2后多处报错无法保存

上篇文章有说,大概率是X写错了,不是字母

dxynk 发表于 2024-7-29 15:58

学习一下

exitfang 发表于 2024-7-29 17:52

页: [1] 2 3
查看完整版本: 一木记账 深层代码逆向分析与实现免登录