某影评书评社区App _sig签名分析

简介: 某影评书评社区App _sig签名分析

一、目标


今天的目标是某影评书评社区App的 _sig 签名分析,本次的教程比较简单,主要是巩固一下大家对 objection 用法的掌握,同时体会一下objection在快速定位上的优势。57.png

二、步骤


Base64


这次的签名和以前有点不一样,看上去很像Base64,那就先试试Hook Base64吧

var Base64Class = Java.use("android.util.Base64");
Base64Class.encodeToString.overload("[B", "int").implementation = function(a,b){
    var rc =  this.encodeToString(a,b);        
    console.log(">>> Base64 " + rc);
    if(rc.length < 30){
        var stack = threadinstance.currentThread().getStackTrace();
        console.log("Rc Full call stack:" + Where(stack));
    }
    return rc;
}


为什么长度 小于30的时候才打印堆栈信息?


因为App中可能做Base64的操作有很多处,我掐指一算,长度小于30的时候正好可以打印出来_sig签名计算的位置(我刚数了一下_sig签名是28位 :)。

58.png

太棒了, 很快就定位到了 com.xxx.frodo.utils.crypto.HMACHash1.acom.xxx.frodo.network.ApiSignatureHelper.a


直接hook 它应该就能找到结果了, 收工……


李老板: 慢着。我们不是说好要玩 objection 的吗? 我xx都脱了,你给我讲Base64 ?


奋飞: 好像是这么说的。导演,把前面剪掉。我们假装失忆。重新来一遍


Objection

唉呀,这个_sig签名是在哪做的呢? 我们先上 Jadx 搜一下字符串吧59.png


我去,200多个结果,一个一个去看得累死人。 我们加个 " 搜一下 "_sig

61.png


这下好多了,只有几个结果了,这个和 _ts 在一起的结果很眼熟,我们点进去看看



61.png

我怀疑 这个 ApiSignatureHelper.a 有嫌疑, 祭出法宝 Objection


Objection 三部曲

1、  objection -g com.xxx.frodo explore 注入目标进程

2、  android hooking watch class 'com.xxx.frodo.network.ApiSignatureHelper' 跟踪嫌疑的类

3、  android hooking watch class_method

'com.xxx.frodo.network.ApiSignatureHelper.a' --dump-args --dump-return 定位嫌疑函数之后,检查他的入参和返回值



62.png

结果就是它了,入参是 3个字符串, 返回值就是 _sig_ts


三、总结


大胆假设,细心求证, Objection就是定位的好助手。


葫芦娃的 Wallbreaker 插件也是好东西,在脱不了壳的时候,用来分析类结构的指路明灯。下次有机会再介绍

63.png


解释永远是多余的:懂你的人不需要,不懂你的人更不需要。


TIP: 本文的目的只有一个就是学习更多的逆向技巧和思路,如果有人利用本文技术去进行非法商业获取利益带来的法律责任都是操作者自己承担,和本文以及作者没关系,本文涉及到的代码项目可以去 奋飞的朋友们 知识星球自取,欢迎加入知识星球一起学习探讨技术。有问题可以加我wx: fenfei331 讨论下。


关注微信公众号:奋飞安全,最新技术干货实时推送


相关文章
|
4月前
【Azure 应用服务】App Service频繁出现 Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener 异常分析
【Azure 应用服务】App Service频繁出现 Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener 异常分析
|
1月前
|
开发框架 监控 .NET
【Azure App Service】部署在App Service上的.NET应用内存消耗不能超过2GB的情况分析
x64 dotnet runtime is not installed on the app service by default. Since we had the app service running in x64, it was proxying the request to a 32 bit dotnet process which was throwing an OutOfMemoryException with requests >100MB. It worked on the IaaS servers because we had the x64 runtime install
|
3月前
|
安全
【Azure App Service】App service无法使用的情况分析
App Service集成子网后,如果子网网段中的剩余IP地址非常少的情况下,会在App Service实例升级时( 先加入新实例,然后在移除老实例 )。新加入的实例不能被分配到正确的内网IP地址,无法成功的访问内网资源。 解决方法就是为App Service增加子网地址, 最少需要/26 子网网段地址。
|
4月前
【Azure Function App】本地运行的Function发布到Azure上无法运行的错误分析
【Azure Function App】本地运行的Function发布到Azure上无法运行的错误分析
|
4月前
|
开发框架 缓存 .NET
【App Service】在Azure App Service中分析.NET应用程序的性能的好帮手(Review Stack Traces)
【App Service】在Azure App Service中分析.NET应用程序的性能的好帮手(Review Stack Traces)
|
4月前
|
C# 开发工具
【Azure 应用服务】Azure Function App使用SendGrid发送邮件遇见异常消息The operation was canceled,分析源码渐入最源端
【Azure 应用服务】Azure Function App使用SendGrid发送邮件遇见异常消息The operation was canceled,分析源码渐入最源端
|
4月前
|
网络协议 NoSQL 网络安全
【Azure 应用服务】由Web App“无法连接数据库”而逐步分析到解析内网地址的办法(SQL和Redis开启private endpoint,只能通过内网访问,无法从公网访问的情况下)
【Azure 应用服务】由Web App“无法连接数据库”而逐步分析到解析内网地址的办法(SQL和Redis开启private endpoint,只能通过内网访问,无法从公网访问的情况下)
|
2月前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
712 7
|
2月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
758 1
|
3天前
|
JSON 缓存 前端开发
HarmonyOS NEXT 5.0鸿蒙开发一套影院APP(附带源码)
本项目基于HarmonyOS NEXT 5.0开发了一款影院应用程序,主要实现了电影和影院信息的展示功能。应用包括首页、电影列表、影院列表等模块。首页包含轮播图与正在热映及即将上映的电影切换显示;电影列表模块通过API获取电影数据并以网格形式展示,用户可以查看电影详情;影院列表则允许用户选择城市后查看对应影院信息,并支持城市选择弹窗。此外,项目中还集成了Axios用于网络请求,并进行了二次封装以简化接口调用流程,同时添加了请求和响应拦截器来处理通用逻辑。整体代码结构清晰,使用了组件化开发方式,便于维护和扩展。 该简介概括了提供的内容,但请注意实际开发中还需考虑UI优化、性能提升等方面的工作。
40 11

热门文章

最新文章