首页
论坛
课程
招聘
[逆向分析] [原创]快手6.8版本sig3算法破解
2021-5-28 15:57 8389

[逆向分析] [原创]快手6.8版本sig3算法破解

2021-5-28 15:57
8389

快手6.8版本sig3算法破解

目录

1、前言

​ 最近急性腰间盘突出,520当天晚上被救护车抬去医院,在医院的这几天感慨良多,腰间盘突出是真的折磨。哎,各位大哥长时间坐在电脑旁一定要保持良好的坐姿。快手最新版本的sig3算法变了,故写下这篇文章。

2、sig3定位

1、Jni_Onload 定位doCommandNative函数位置

    RegisterNatives函数位于sub_88F4中。
图片描述
sub_c060为doCommandNative。

2、初探sub_c060函数

起初看到sub_c060函数时头皮发麻,ollvm混淆的太乱太美观,导致ida f5都巨慢,附上美丽的cfg图。

 

图片描述

 

看到这个流程图很多大哥直接劝退,回收站见。但方法总比困难多,我们可以从返回值开始,查找交叉引用,结合frida一步步的确定目标函数。sub_c060->sub_26BB8->sub_3AE54->sub_3AAF8->sub_3F920->sub_3E550

3、hook sub_3E550函数看结果

使用frida hook该函数,结果如下:

 

抓包的结果如下:
图片描述
可以看到sub_3E550函数的返回值是sig3算法部分结果,并且该函数调用了两次,第一次是要加密的内容,第二次是一个base64的值。下一步开始还原该算法。

4、sub_3E550函数还原

sub_3e550函数部分片段如下:

 

图片描述

 

点击dword_9e338查看

 

图片描述

 

很明显这是sha256算法的常量表,该函数是sha256的变形。话不多说,开始调试。
用肉丝姐的反调试rom直接附加,成功断下。

 

图片描述

 

开始愉快的trace之旅。

 

最后根据trace文件成功还原该算法。

 

图片描述

 

除了ida trace之外还可以使用unicorn进行trace,个人认为unicorn trace的结果要比ida trace的结果好分析一些。

5、sub_3FDA4 算法还原。

frida hook sub_3fda4结果如下:

 

图片描述

 

可以看到,经过sha256算法的返回值在经过这个函数,把sub_3FDA4 函数的结果在经过base64之后在进行base64就是sig3算法的部分值。同样,trace之后进行还原。

 

图片描述

 

这两个位置的值,是读取图片的数据之后加密获得的,具体没去跟,因为同一个版本这个值不会变所以dump出数据就行,有兴趣的可以去跟下。至此sig3算法的部分还原完成。

6、剩余部分算法还原。

sig3后面的部分已经还原,但前面部分并没有, 经过一系列的查找,确定算法位置为sub_24404

 

图片描述

 

与当前时间戳异或一个值后进行进行加密。

3、算法验证

直接上图吧
图片描述

4、后记

快手sig3是3179开头的版本的话算法应该差不多,只是数据改了下,有兴趣的大哥可以去试一下。最近想换工作,如果有大哥公司招人的话麻烦私信下小弟,不甚感激。本来想写的很详细的,但实在是不知从何开始,附件放上trace的文件吧,算法就不放了感兴趣的大哥可以试着还原下。最后说一句,腰间盘突出是真的难受,各位大哥要好好注意身体!!!


[注意] 招人!base上海,课程运营、市场多个坑位等你投递!

上传的附件:
收藏
点赞4
打赏
分享
最新回复 (17)
雪    币: 15
活跃值: 活跃值 (282)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
asmjmp0 活跃值 2021-5-28 16:05
2
0
不是说问题不大的吗?
雪    币: 63
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
wx_么么哒^3^啊 活跃值 2021-5-28 16:08
3
0
我司招人 base:南京 有兴趣嘛
雪    币: 158
活跃值: 活跃值 (115)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
Lenus 活跃值 3 2021-5-28 16:11
4
0
私信已发,查收一下。

新版本的Sig3搞到什么程度了?
雪    币: 1390
活跃值: 活跃值 (1247)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
hczhong 活跃值 2021-5-28 16:12
5
0
asmjmp0 不是说问题不大的吗?
直接被抬上救护车了,问题有点大
雪    币: 1390
活跃值: 活跃值 (1247)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
hczhong 活跃值 2021-5-28 16:12
6
0
Lenus 私信已发,查收一下。 新版本的Sig3搞到什么程度了?
新版的不同了,没怎么看
雪    币: 59
活跃值: 活跃值 (107)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
逆向何须学历 活跃值 2021-5-28 21:55
7
0

有问题请教大佬,有偿啊

最后于 2021-5-29 17:46 被逆向何须学历编辑 ,原因:
雪    币: 133
活跃值: 活跃值 (257)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
koflfy 活跃值 1 2021-5-28 23:24
8
1
楼主我腰间盘突出很多年了,有丰富的治疗经验,现在已经好得差不多了。这个病吃药不管用,就是要坚持锻炼身体。
我当年腰间盘突出腰都弯不了,后来打了半年篮球,好全了。然后工作上继续作死,导致老毛病又犯了,现在坚持跑步,每两天跑一次,一次跑个两公里就行。然后工作的时候要护着腰,不能久坐,也不能久站。有时候坐久了,站起来的时候要悠着点,不能睡太软的床或者沙发,坐矮凳子建议不要久坐。
总之,坚持锻炼身体才是王道。
另外,从返回值开始,查找交叉引用,结合frida一步步的确定目标函数。这一句方便说具体一点么?
雪    币: 1535
活跃值: 活跃值 (2136)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
舒默哦 活跃值 1 2021-5-28 23:57
9
0
注意身体大兄弟,身体是革命的本钱。8楼大表哥说的很对,坚持锻炼身体。祝你找到好工作。
雪    币: 1390
活跃值: 活跃值 (1247)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
hczhong 活跃值 2021-5-29 01:23
10
0
koflfy 楼主我腰间盘突出很多年了,有丰富的治疗经验,现在已经好得差不多了。这个病吃药不管用,就是要坚持锻炼身体。 我当年腰间盘突出腰都弯不了,后来打了半年篮球,好全了。然后工作上继续作死,导致老毛病又犯了, ...
多谢提醒,我现在坐着的时候必带着护腰, 现在每天也在运动了,希望能好起来。怎么说呢,就是从返回值开始按x 一步步的查找引用位置,觉得是目标函数的话用frida hook验证猜想。 一步一步慢慢跟
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
小奶牛/ 活跃值 2021-5-29 18:29
11
0
如何联系你啊大佬
雪    币: 1599
活跃值: 活跃值 (397)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
wx_Dispa1r 活跃值 2021-5-31 09:35
12
0
wx_么么哒^3^啊 我司招人 base:南京 有兴趣嘛
哪家
雪    币: 20
活跃值: 活跃值 (107)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
给我快乐 活跃值 2021-5-31 10:06
13
0
看到这个反调试的rom有点心动
雪    币: 15669
活跃值: 活跃值 (16689)
能力值: (RANK:75 )
在线值:
发帖
回帖
粉丝
Editor 活跃值 2021-6-4 15:19
14
0
看来腰有毛病的老哥不少,大家注意身体啊!
另外给老哥点个赞,感谢分享!
雪    币: 378
活跃值: 活跃值 (486)
能力值: ( LV9,RANK:186 )
在线值:
发帖
回帖
粉丝
KwaiChing 活跃值 2021-6-5 17:02
15
0
“​最近近急性腰間盤突出,520當天晚上被救護車抬去醫院”,我都不好意思點破妳,還好我沒女朋友
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
sanpangzi 活跃值 2021-6-10 15:36
16
0
老哥 私信下简历
雪    币: 717
活跃值: 活跃值 (383)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
至尊小仙侠 活跃值 2021-6-13 18:12
17
0

好像是个标准的 hash算法 

最后于 2021-6-13 18:14 被至尊小仙侠编辑 ,原因:
雪    币: 208
活跃值: 活跃值 (33)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
橙味益达 活跃值 4天前
18
0
兄弟,我司疯狂求大佬中,base:北京,甩个简历吧求求了
游客
登录 | 注册 方可回帖
返回