移动安全之修改加密带sig签名的APP数据包
来源:互联网 发布:常见自动控制算法 编辑:程序博客网 时间:2024/06/08 16:58
现在越来越多的app应用都采取了加sig签名的方法来防止自身的数据包在传输中被修改所以有时要测一个APP是否有逻辑问题,有时可能会变得棘手.因为每个APP的实现的sig算法都不尽相同,要想成功的修改数据包再重新签名,你可能会要先反编译它,然后在找到sig算法,有时可能运气好sig的算法就写在java代码里,那就很容易的可以直接利用或还原成其他语言,但一般sig都会写到so文件,arm的汇编代码相信很多人都看不下去.先不谈加固的情况,像一些安全性要求较高的app,一般都会有检查apk自身签名,并在运行时发送到服务器做校验,一旦签名不一致就直接退出,在这种情况下如果app采用随机key或者非对称加密来加密数据,就算知晓加密的过程,在不能修改app的情况下,是无法解密出加密的数据.那么有没有其他的方便便一些的方法来实现改包呢,先来说说我的一些思路.
其实要想减少工作量,主要就是在于分析算法,那么有什么方法可以减少分析算法或者直接略过算法分析的过程了,想到的就是通过HOOK注入.
我说一下简单流程:
首先抓包分析下数据,然后反编译dex文件找到调用sig函数的函数(有点绕)hook之,在其被调用前将其参数(一般就是要修改的明文数据)通过socket转发出来,然后本地修改完之后再发送回去,最后hook程序将参数重新赋值.
我这里以手机里某(han)某(ting)酒店APP来举个例子:
1.首先通过抓包简单分析下数据包
其实原理很简单,简单说下,只要调用findAndHookMethod方法写入需要hook的函数名注意参数不要写错,然后在beforeHookedMethod中取得要参数(即要修改的明文数据包)将其传入新的子线程中,主线程会一直等待(主界面会暂时定住),子线程会将数据转发到pc机的指定端口,可以用nc监听,修改完再发送,主线程会一直等待到pc返回了数据,最后将参数重新赋值
先安装写好的插件
截获下登陆的数据包
截获成功修改后直接发送就可以了
这种改包方式有个好处就是可以不要考虑传输方式是什么,因为已经在传输前改完了包.
还有个思路说下,就是hook目标程序然后向里面注入一个HttpServer,然后本机将通过代理截获的数据修改重新发送到目标程序利用反射的方式调用加解密函数,这样有个好处就是可以截获并重组完整的数据包.
其实要想减少工作量,主要就是在于分析算法,那么有什么方法可以减少分析算法或者直接略过算法分析的过程了,想到的就是通过HOOK注入.
我说一下简单流程:
首先抓包分析下数据,然后反编译dex文件找到调用sig函数的函数(有点绕)hook之,在其被调用前将其参数(一般就是要修改的明文数据)通过socket转发出来,然后本地修改完之后再发送回去,最后hook程序将参数重新赋值.
我这里以手机里某(han)某(ting)酒店APP来举个例子:
1.首先通过抓包简单分析下数据包
通过截获的数据来看数据包已经被加密而且加了签名
com.htinns.biz.HttpUtils.packParams
hook它应该就可以了
其实原理很简单,简单说下,只要调用findAndHookMethod方法写入需要hook的函数名注意参数不要写错,然后在beforeHookedMethod中取得要参数(即要修改的明文数据包)将其传入新的子线程中,主线程会一直等待(主界面会暂时定住),子线程会将数据转发到pc机的指定端口,可以用nc监听,修改完再发送,主线程会一直等待到pc返回了数据,最后将参数重新赋值
先安装写好的插件
截获下登陆的数据包
截获成功修改后直接发送就可以了
这种改包方式有个好处就是可以不要考虑传输方式是什么,因为已经在传输前改完了包.
还有个思路说下,就是hook目标程序然后向里面注入一个HttpServer,然后本机将通过代理截获的数据修改重新发送到目标程序利用反射的方式调用加解密函数,这样有个好处就是可以截获并重组完整的数据包.
0 0
- 移动安全之修改加密带sig签名的APP数据包
- APP加密,让你的移动应用更安全!
- 安卓移动App保护、爱加密App安全加固!
- Android app的签名及加密
- 安居客app端抓取数据包 分析数据包的签名 编写爬虫脚本
- 爱加密亮相第十八届软博会,移动App安全引关注
- 海云安带你解读移动金融APP安全报告
- 【移动安全】ida idc脚本实现加密指令修改
- 安全加密解密 签名 证书
- 怎么看待移动APP的安全测试
- [Spring] 为Hessian加入加密签名的安全机制
- JNI NDK (AndroidStudio+CMake )sig签名的实现方法
- 移动APP安全
- 移动app与CRM签名功能的实现
- 通过fidder抓取移动端设备的数据包,来分析移动app的技术
- 移动安全大讲堂:整体解决方案之iOS加密保护
- 接口安全之签名
- 【Android安全】自带加密光环的SharedPreference
- POJ 2437 Muddy roads(贪心)
- 读书笔记--用户访谈成功的秘密
- vs2013下strcasecmp方法和snprintf方法找不到标识符的解决方法
- UVA 213 Message Decoding
- hdu5610 Baby Ming and Weight lifting(暴力)
- 移动安全之修改加密带sig签名的APP数据包
- 1419: Red is good 概率与期望 DP
- UVA 1589 象棋
- android之本地文件读取
- spark 命令行环境 python
- 动画效果--漫天飞雪
- RW RO ZI ROM keil中的含义
- BZOJ 1415: [Noi2005]聪聪和可可|概率dp
- 2015年大二上-数据结构-图-1-(2)操作用邻接表存储的图