Crack App | yrx App 对抗赛第一题 Sign 算法的还原

简介: Crack App | yrx App 对抗赛第一题 Sign 算法的还原

今日目标

aHR0cHM6Ly9hcHBtYXRjaC55dWFucmVueHVlLmNvbQ==

这次比赛果然是神仙打架,先是珍惜哥哥沙箱乱杀,然后是各路大佬神仙过招,我这菜鸡只能仰望了。

虽然没有参加,不过还是借了账号写写文章,瞻仰下各路大佬的风采(简称蹭蹭流量)

抓包分析

进入 App 第一题之后,可以抓到一下两个包,分别是timeapp1

time包返回时间戳

app1包返回页面上的数字

主要看app1包的请求

除了timepage之外还多了一个sign字段

这个sign就是分析的重点

加密定位与算法还原思路

取巧的方法

直接搜索关键词第一题直接跳到第一题的的逻辑里

然后可以看到sign的逻辑

直接点进sign看方法

frida hook看看参数和结果

console.log("脚本加载成功");
function main(){
    Java.perform(function() {
        var clazz = Java.use('com.yuanrenxue.match2022.security.Sign');
        clazz.sign.implementation = function() {
            console.log('find sign <======>');
            console.log("arguments 0 <======>",JSON.stringify(arguments[0]))
            console.log("result <======>",clazz.sign.apply(this, arguments));
            return clazz.sign.apply(this, arguments);
        }
    });
}
setImmediate(main)

这个时候已知入参为

具体的组成page=[page num]+time

再进入sign看下加密的逻辑

这就是sign的逻辑,其实就可以进行缺啥补啥了,扣出来java的代码,然后用python调用就行

这个是最方便快捷的,但是可能会卡在下面这个点

这里的OooO00o.OooO00o(-592855683721616730L)是个啥,跟进去看下

搁着套娃呢?

这要是扣岂不是人没了?

不过既然代码都找出来了,直接hook不就完事了呗。

hook 结果这里就是不变的,所以不用扣,直接固定%02x%02x%02x%02x就完事了

如果不会写,可以用jadx 1.3.5右键自动生成并复制frida片段

虽然说有时候会有一些小问题,但是cv起来很是丝滑

End.

以上就是全部的内容了,咱们下次再会~

相关文章
|
6月前
|
算法
|
5月前
|
搜索推荐
App Inventor 2 列表排序,函数式编程轻松实现高级排序算法
本文探讨了列表的函数式编程高级用法,允许根据自定义逻辑进行排序。不仅支持基本数据类型(文本和数字)的升序和降序排序,还能处理复杂结构类型中特定元素的排序。通过示例展示了如何定义比较函数来实现升序和降序,简化了排序操作。
63 0
|
算法 Java 数据安全/隐私保护
App逆向百例|12|某电商App Sign分析
App逆向百例|12|某电商App Sign分析
396 0
|
安全 数据安全/隐私保护 Python
Crack App | 某赢+ 二手车 App 登录参数加密逻辑分析
Crack App | 某赢+ 二手车 App 登录参数加密逻辑分析
105 0
|
Dart 安全 数据安全/隐私保护
Crack App | 某都市魔幻 FM 请求参数 sign 的加密分析
Crack App | 某都市魔幻 FM 请求参数 sign 的加密分析
121 0
|
6月前
|
算法
某圈app算法分析
某圈app算法分析
62 0
|
6月前
|
算法 安全 数据安全/隐私保护
某影视APP算法逆向分析
某影视APP算法逆向分析
55 0
|
6月前
|
算法 Java
某江app算法分析
某江app算法分析
37 0
|
6月前
|
算法 数据挖掘 数据安全/隐私保护
某合伙人app算法分析
某合伙人app算法分析
45 0
|
6月前
|
存储 算法 数据库
魔方还原算法(三)上帝算法
魔方还原算法(三)上帝算法
52 0