-
-
[原创]逆向某4399分析过程
-
发表于:
2022-2-18 10:47
32014
-
1.抓包报⽂分析
1.1.charles抓包分析报⽂
登录和注册 发送验证码 都带有⼀个sign字段
其他参数都为固定参数 ⽐如请求头中的
只有这个sign每次都是变化的,那我们就开始分析这个sign
2.⽼规矩
1.先查apk是否加固 查询发现没加固
2.直接上jdax打开apk,能正常反编译
3.发现⽹络框架使⽤的okhttp
3.代码分析
1.因为使⽤的okhttp框架 那么⾃然直接搜索OKhttpClient 在哪被初始化 jadx直接搜索到
看名字猜测应该是⽹络核⼼⽗类,接着按x找到相关引⽤类 找到
看名字就猜到了http相关的⼯具类,接着继续找关键字sign ,因为⽹络相关的类都在framework包下的 helper⼦⽬录中所有随便翻翻找到⼀个
打开⼀看找到app相关的native⽅法都在这类中定义 按x找到相关引⽤的类中 有⼀个
看⽅法名就猜到了应该是计算sign的⽅法,打开看果然是
计算⽅法为:
1.调⽤buildSignRequestParams(str,map)⽅法将请求参数赋值给hashMap,并将hashMap中的值按照 key进⾏排序,重新赋值给map
2.遍历排序后的hashmap的取出value进⾏拼接传递给buildSignValue()⽅法,调⽤native⽅法 ⽤frida Hook这两个⽅法调⽤也证明了这两点:
3.接下来开始分析native⽅法 getServerApi() 找到使⽤的so 包为libNativeHelper.so
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课