首页
论坛
课程
招聘
[原创]分析IDA の "消失"的导出Jni静态函数
2021-5-11 01:07 6500

[原创]分析IDA の "消失"的导出Jni静态函数

2021-5-11 01:07
6500

一、分析IDA の "消失"的导出Jni静态函数


案例:某小说APP
参数:sign
作者:Lunction
时间:2021年5月10日


# 0x1 抓包

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
POST /api/v1/login/index HTTP/1.1
net-env: 1
channel: qm-huawei65_lf
is-white: 0
platform: android
app-version: 51115
reg:
AUTHORIZATION:
qm-params: cLGZ4CG-uloLp3U1paHWHT9wgI9wgI9wthfLpqfQAIo5gaUzpzpztqpzpzp5Nh-Y4zHY43HjHSRUmqF5A5HwgI9wgI9wgaMMAI4wth4E4T-QgI9wgaMwgI9wNI9MpTHL4qf5taG-pCp14lfQmqF5A5HLgIHngIfwAhHnNI4eghozgh-Y4TR5pT0wphOMgyFrghFwAIG2pqHMNe0lpTuTgI0MgefUgI0YNeFEAIFlgLHjHzUx4LHWHT0wA-4nA-4LATKUA-pyATKlH5w5OE2etCp2O5HWHTK7g3rwH5w5u_GUOEk2paU1paHWH-kUg0kFFERsR-kMqoZE3zkluooTufuFchpYulQekMQamC2zmlxYN0UqgMdMRfuIqCRzk0RY3o1H3eFMc5JDOR-rcqJxRUsROCOluCpaR0JWtlN_BMGmRCO5taG1BqR1HTZ5gefrgIglgIKwgh0wNh4MH5w5BqJ-pqw5A5GshUNFHyJ7H_kxmqU2B5HjHSuj45U1BqR1HTZ5gefrgIglgIKwgh0wNh4MH5w5uln5tCR1paHWHTgUAI9eNT9rgI0ngIflNaHjHzNjmqR7uaU1paHWHzflpIgwNI9lgzR5ghfUNqH5taG5Ozo7paHWH-o7p_GDmqF5taGD4q2-HTZ5HSM=
sign: 786226e3e984253bcf6d14a0cc4f3475
QM-it: 1620580746
QM-ii: 1969128767
no-permiss: 0
User-Agent: webviewversion/51115
Content-Type: application/x-www-form-urlencoded
Content-Length: 124
Connection: Keep-Alive
Accept-Encoding: gzip
 
cancell_check=1&encrypt_phone=ghgrgI9ngeKwgI9=&gender=2&open_push=1&type=1&verify=1111&sign=5288f921bd48c316222ec51305b3f628

# 0x2 定位分析 搜索"sign"


# 0x3 方法跟进 找出关键点

#0x4 sign方法定位

#0x5 查找加载so库名称 查看a()引用

#0x6 查看init方法引用 定位so库文件

#0x7 用IDA打开so 搜索Java_com 但没找到sign的静态注册函数

#0x8 莫慌! 推荐两种解决办法

1、Findcrypt3 插件识别常见的加密算法(准确度仅供参考)

 

2、推荐龙哥的强大的FRIDA识别Hash脚本插件 地址:https://github.com/Pr0214/findhash

 

3、IDA按 G 跳转到_ZN22MessageDigestAlgorithm4initEPKhj

 

4、最终的结果都是指向这里

#0x9 最终挂上最爱的FRIDA

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function Hook_So() {
    var base_address = Module.findBaseAddress("libcommon-encryption.so");
    var offest = Module.findExportByName("libcommon-encryption.so", "_ZN22MessageDigestAlgorithm4initEPKhj")
    console.log(base_address + "offest : " + offest);
    if (base_address) {
        Interceptor.attach(offest, {
            onEnter: function(args) {
                console.log("args:\n", Memory.readCString(args[1]));
                console.log("MD5:\n " + md5(Memory.readCString(args[1])))
                // 省略MD5加密算法 为了直接搜索加密结果,偷懒加MD5.
            },
            onLeave: function(retval) {
 
            }
        })
    }
}
setImmediate(Hook_So)



#10 教程就到此结束。 疑问:为什么IDA导出表是没有·Java_com_km_encryption_api_Security_sign·


[注意] 欢迎加入看雪团队!base上海,招聘安全工程师、逆向工程师多个坑位等你投递!

最后于 2021-5-11 01:28 被Lunction编辑 ,原因:
收藏
点赞3
打赏
分享
最新回复 (9)
雪    币: 1
活跃值: 活跃值 (179)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
bluegatar 活跃值 2021-5-11 16:32
2
0
一句话,龙哥威武
雪    币: 25
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
万里星河 活跃值 2021-5-11 19:09
3
0
对呀 导出表为啥没有呢? 动态注册?
雪    币: 25
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
万里星河 活跃值 2021-5-15 16:07
4
0
F:\360MoveData\Users\Administrator\Desktop\IDA_Pro_v7.0_Portable\plugins\findhash.py: invalid syntax (F:/360MoveData/Users/Administrator/Desktop/IDA_Pro_v7.0_Portable/plugins/findhash.py, line 106)
Traceback (most recent call last):
  File "F:\360MoveData\Users\Administrator\Desktop\IDA_Pro_v7.0_Portable\python\ida_idaapi.py", line 553, in IDAPython_ExecScript
    execfile(script, g)
  File "F:/360MoveData/Users/Administrator/Desktop/IDA_Pro_v7.0_Portable/plugins/findhash.py", line 106
    value["describe"] = f"函数{value['funcName']}疑似哈希函数主体,包含初始化常数以及运算部分。"
                                                                                                                        ^
SyntaxError: invalid syntax
findHash安装出错
雪    币: 25
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
万里星河 活跃值 2021-5-15 16:20
5
0
py脚本里的那个f是啥意思呀 有他就报错
雪    币: 8390
活跃值: 活跃值 (329)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Lunction 活跃值 2021-5-16 01:07
6
0
万里星河 py脚本里的那个f是啥意思呀 有他就报错
不支持7.0 还有推荐使用52破解的IDA7.5绿化版 
雪    币: 182
活跃值: 活跃值 (92)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
eviliori 活跃值 2021-6-26 11:20
7
0
Mark一下
雪    币: 2425
活跃值: 活跃值 (436)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
VNRKDOEA 活跃值 2021-6-29 15:57
8
0
龙哥yyds!
雪    币: 1
活跃值: 活跃值 (175)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wx_沉默的逗比 活跃值 2021-7-1 16:56
9
0
我见过 不调用registerNatives得动态注册,老阴了!
雪    币: 1445
活跃值: 活跃值 (768)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
燕幕自安 活跃值 2021-7-4 15:04
10
0

Mark一下

最后于 2021-7-4 15:06 被燕幕自安编辑 ,原因:
游客
登录 | 注册 方可回帖
返回