某影评书评社区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 讨论下。


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


相关文章
|
1月前
|
存储 Java API
Android 浅度解析:mk预置AAR、SO文件、APP包和签名
Android 浅度解析:mk预置AAR、SO文件、APP包和签名
150 0
|
15天前
|
数据采集 JSON 算法
使用Python爬取华为市场APP应用进行分析
这个网站也是作者最近接触到的一个APP应用市场类网站。讲实话,还是蛮适合新手朋友去动手学习的。毕竟爬虫领域要想进步,还是需要多实战、多分析!该网站中的一些小细节也是能够锻炼分析能力的,也有反爬虫处理。甚至是下载APP的话在Web端是无法拿到APK下载的直链,需要去APP端接口数据获取
|
1月前
|
移动开发 JavaScript 前端开发
APP的HTML5页面经过运营商网络被植入手机管家问题及分析,解决方案见新文章
APP的HTML5页面经过运营商网络被植入手机管家问题及分析,解决方案见新文章
24 0
|
1月前
|
数据采集 小程序 网络安全
云擎技术---分析工信部APP备案的“传闻”
APP备案并非新事物,自2005年起已有非经营性互联网信息服务备案制度。备案针对的是网站主办者,而非用户,不涉及个人用户网络访问。网络接入服务提供者包括ISP和IDC,不限于三大运营商。通知要求不为未备案网站提供接入,但不影响国外软件使用。个人开发者不能涉及经营性内容,备案审核时长1-20个工作日。境内服务器和国内应用商店需备案,境外则无需。手机厂商不会开启白名单制,仅实行黑名单制。APP备案与民营经济发展壮大意见不冲突,工信部有权颁布相关规定。该政策不存在逐步试探底线情况,所有解读均有法律依据。
52 3
云擎技术---分析工信部APP备案的“传闻”
|
1月前
|
网络协议 算法 Android开发
安卓逆向 -- 实战某峰窝APP(动态分析)
安卓逆向 -- 实战某峰窝APP(动态分析)
64 4
|
1月前
|
Java 关系型数据库 MySQL
社区便利店销售微信APP的设计与实现(源码+论文)_kaic
社区便利店销售微信APP的设计与实现(源码+论文)_kaic
|
1月前
|
算法
某圈app算法分析
某圈app算法分析
28 0
|
1月前
|
算法 安全 数据安全/隐私保护
某影视APP算法逆向分析
某影视APP算法逆向分析
27 0
|
13天前
|
移动开发 小程序 视频直播
FFmpeg开发笔记(二十七)解决APP无法访问ZLMediaKit的直播链接问题
本文讲述了在使用ZLMediaKit进行视频直播时,遇到移动端通过ExoPlayer和微信小程序播放HLS直播地址失败的问题。错误源于ZLMediaKit对HTTP地址的Cookie校验导致401无权限响应。通过修改ZLMediaKit源码,注释掉相关鉴权代码并重新编译安装,解决了此问题,使得ExoPlayer和小程序能成功播放HLS视频。详细解决方案及FFmpeg集成可参考《FFmpeg开发实战:从零基础到短视频上线》一书。
22 3
FFmpeg开发笔记(二十七)解决APP无法访问ZLMediaKit的直播链接问题
|
3天前
|
开发框架 移动开发 JavaScript
SpringCloud微服务实战——搭建企业级开发框架(四十七):【移动开发】整合uni-app搭建移动端快速开发框架-添加Axios并实现登录功能
在uni-app中,使用axios实现网络请求和登录功能涉及以下几个关键步骤: 1. **安装axios和axios-auth-refresh**: 在项目的`package.json`中添加axios和axios-auth-refresh依赖,可以通过HBuilderX的终端窗口运行`yarn add axios axios-auth-refresh`命令来安装。 2. **配置自定义常量**: 创建`project.config.js`文件,配置全局常量,如API基础URL、TenantId、APP_CLIENT_ID和APP_CLIENT_SECRET等。