App逆向百例|03|某游戏app sign分析

简介: App逆向百例|03|某游戏app sign分析
样本:aHR0cHM6Ly93d3cuYWxpeXVuZHJpdmUuY29tL3MvTmgxazNqbjU1WXM=

观前提示:

本文章仅供学习交流,切勿用于非法通途,如有侵犯贵司请及时联系删除

0x1 加密位置分析

打开app 发现无法连接服务器 一般认为是证书验证了 随便网上找个hook脚本就行了 或者用justtrustme也行

先抓包找到log-in.html

看post data有password和sign是被加密的


打开java-gui找

全局搜索一下log-in.html

只有一个结果 双击跳转过去

双击进来

能看到password的加密是调用native方法

往下滑可以看到

可以看到是加载了NativeHelper 也就是libNativeHelper.so

这就是password的加密位置了


还有一个sign参数

回到上层界面 找到buildRequestParams

进入super.buildRequestParams方法

进来之后 再次进入super.buildRequestParams

从这里就能看到sign的加密位置了

进入AppNativeHelper.getServerApi方法


0x2 加密逻辑分析

ida打开libNativeHelper.so 先去导出表看看导出方法有没有含有JAVA开头的

没有就需要考虑动态注册了

找到JNI_OnLoad

进入off_1C044

这里就可以看到动态注册的函数名了 本篇文章 我就只以getServerApi作为示例

双击下面的sub_12794进入getServerApi 如果是loc开头的 则需要Edit->Functions->Create function 或者直接按P 创建


进入到sub_12794后就可以开始分析了 同时也可以通过rename和convert to struct

进到sub_125B0

这里我名字已经改好了 可以看到salt是通过取dword_16954来计算写进内存的 最后传入sub_4DF0

进入sub_4DF0 同样我已经改好变量名和有分析注释了

整体流程还是可以直观看出来的 这里的大概意思就是 开内存 写数据

接着就看这俩个方法了

进入sub_4538

熟悉的码表 不懂也可以百度搜一下这几个数值 是md5没错了

进入sub_4564 可以看到全是计算操作

再进入其中的一个sub_45F4

得了 不用继续看了 md5坐实 静态分析就先到此结束 上frida


0x3 hook

上面分析可知 这个so是一个简单的动态注册

需要hook的是sub_4DF0这个方法 写法就是

var libNativeHelper=Module.findBaseAddress("libNativeHelper.so");
var sub_4DF0=libNativeHelper.add(0x4DF0+1);

hook代码网上很多 基本可以照抄学习

从代码可以知

sub_4DF0(env, str, salt);

str是从java传入的 salt是so里面计算的

所以直接console的话是乱码的 需要转换一下

var String=Java.use('java.lang.String')
console.log('str->',Java.cast(args[1],String))
console.log('key->',args[2].readCString())

写好hook代码就该测试一下啦

输出结果

str-> 1643530355352531084076641lXIjMLZ7qXY=123
salt-> ef2vx#sf*^FlklSD*9sdf(m$&qw%d7po

分割一下就是

1643530355 dateline
35253108407664 deviceIdentifier
1 info
lXIjMLZ7qXY= password
123 username

手动拼接 md5加密一下

可以看到 结果一模一样 md5无魔改


完美撒花 感谢各位大佬观看

如有错误 还请海涵

共同进步


[完]

相关文章
|
4月前
|
JSON 监控 数据格式
1688 item_search_app 关键字搜索商品接口深度分析及 Python 实现
1688开放平台item_search_app接口专为移动端优化,支持关键词搜索、多维度筛选与排序,可获取商品详情及供应商信息,适用于货源采集、价格监控与竞品分析,助力采购决策。
|
4月前
|
缓存 监控 Android开发
京东 item_get_app 接口深度分析及 Python 实现
京东item_get_app接口可获取商品原始详情数据,包含更丰富的字段和细节,适用于电商分析、价格追踪等场景。需通过认证获取权限,支持字段筛选和区域化数据查询。
|
5月前
|
缓存 数据挖掘 API
淘宝 item_get_app 接口深度分析及 Python 实现
淘宝item_get_app接口是淘宝开放平台提供的移动端商品详情数据获取接口,相较PC端更贴近APP展示效果,支持获取APP专属价格、促销活动及详情页结构,适用于电商导购、比价工具、数据分析等场景。接口采用appkey+appsecret+session认证机制,需申请相应权限。本文提供Python调用示例及使用注意事项,帮助开发者高效对接移动端商品数据。
|
4月前
|
人工智能 编解码 监控
游戏显卡驱动,NVIDIA App ,0xc000007b,amd显卡驱动下载,解决游戏慢,游戏卡等问题
本文介绍了游戏显卡驱动的重要性及安装方法,涵盖NVIDIA和AMD显卡驱动下载与更新,解决游戏卡顿、闪退及报错0xc000007b等问题。提供三款工具推荐,支持自动识别与手动精准安装,优化游戏性能,提升体验。
568 5
|
7月前
|
JavaScript
TypeOrmModule 从 app.module.ts 抽离到 database.module.ts 后出现错误的原因分析
本文分析了TypeORM实体元数据错误的成因,主要涉及实体注册方式、路径解析差异及模块结构变化导致的关系解析问题,并提供了具体解决方案和最佳实践建议。
187 56
|
4月前
|
缓存 供应链 开发者
1688 item_get_app 接口深度分析及 Python 实现
1688平台item_get_app接口专为移动端设计,提供商品原始详情数据,包含批发价格、起订量、供应商信息等B2B特有字段,适用于采购决策、供应链分析等场景。接口需通过appkey+access_token认证,并支持字段筛选,返回结构化数据,助力企业实现智能采购与供应商评估。
|
5月前
|
数据采集 数据可视化 API
驱动业务决策:基于Python的App用户行为分析与可视化方案
驱动业务决策:基于Python的App用户行为分析与可视化方案
|
8月前
|
安全 搜索推荐 数据可视化
提升游戏APP留存与付费:高性价比工具与实践
2024年中国移动游戏市场收入达2843.3亿元,头部产品占据超七成份额。在存量市场竞争中,留住用户成为关键。Xinstall推出三大工具:Deeplink实现无缝跳转提升转化;安全加速优化启动体验;分享统计助力社交裂变,以低成本助力开发者提升留存与付费转化率。
264 3
|
9月前
|
数据采集 数据可视化 数据挖掘
基于Python的App流量大数据分析与可视化方案
基于Python的App流量大数据分析与可视化方案
|
11月前
|
小程序 搜索推荐
2025同城线下陪玩APP开发/电竞游戏平台搭建游戏陪玩APP源码/语音APP开发
线下陪玩约玩APP旨在满足现代人的社交、兴趣分享、专业指导及休闲娱乐需求。用户可通过平台结识新朋友、找到志同道合的伙伴,并享受高质量的陪玩服务。平台提供用户注册登录、陪玩师筛选与预约、实时沟通等功能,支持个性化游戏体验和高效匹配。
636 0
2025同城线下陪玩APP开发/电竞游戏平台搭建游戏陪玩APP源码/语音APP开发

热门文章

最新文章