首页 > 编程语言 >某app最新版 vmp算法分析一

某app最新版 vmp算法分析一

时间:2024-11-15 12:19:59浏览次数:3  
标签:app 算法 so 签名 ollvm 最新版 vmp

本系列预计3篇

某app使用了一种X开头的HTTP 签名。该应用程序对服务器的请求在其标头中有6个x签名。该应用程序通常使用此签名来确保数据的安全性和完整性。代号花露水.

6个x签名都来自古希腊神话中的某个神.

分别是蛇发女妖(G),柯罗诺斯(K,时间之神),拉顿(L),阿尔戈斯(A),赫利俄斯(H),美杜莎(M),据内部消息,L和A即将退役,新的神叫索忒耳(S).本故事纯属虚构,如有雷同,纯属巧合

目前我已经将6个全部还原,除掉退役的L和A,K是时间之神,就剩下G和H和M

待S稳定下来我会第一时间还原出来.

6个参数以最难的M为100分标准,A=30分,H=L=10分,G=5分,G不在vmp,所以给5分,剩下的4个都在vmp里(仅个人观点).某app最早2020年由GK提供签名防护,后来升级加了A和L,22年末加了H和M,H用来替代L,M用来替代A,当然中间还有些其他的比如T,后来也是退役了.本篇是关于G的还原,后续一篇是H,一篇M,从易到难,当然我不会透露算法细节,只是从这几个签名中挑一些有意思的算法或者对抗分享出来,所以各位看官看看热闹就行.如果你可以抗的住对方的律师函或者帮我打官司,我也可以写的很详细.

因为8月份我在看雪发表了一篇某大厂的vmp算法,写了大概有两天14000多字,挺适合vmp算法入门分析的,可惜两个小时就下架了.好不容易的一篇精华帖啊!

图片

2020年左右各大厂商的签名算法远远没有如今的复杂,但是近年来由于灰黑产业的泛滥,app不得不不断升级,造成了今天这个ollvm,vmp盛行的局面,普通的ollvm就可以难倒90%的逆向人员,而arm vmp要比ollvm难上个好几倍,因为ollvm只是阻扰静态分析,动态调试还可行,vmp直接把动态调试的指令翻了几个数量级,所以你会发现现在一个大厂的算法执行一次要跑2000万行汇编,vmp就占1900万左右(这个app估计的),如果是ollvm的,最多就几十万行,参考某手,某书的签名分析.但作为早期2020年的时候,G签名还是很强的.不过是双方技术都升级了

回归本篇的重点 G的还原

首先需要确定是在哪个位置生成的,早期的几乎都是搜索大法,现在都不行了,app体积大了,搜的很多结果,而且很多连key都是在so的,压根搜不到,这6个可以通过hook newStringutf找到,然后跟踪堆栈找到对应so,接着找对应的java中的注册方法.这里有个注意事项,如果选择降级抓包,app走ms开头的那个类在java调native的函数,如果走quic,app会在ssc开头的那个so里跳转到met开头的(也就是目标so)的函数完成加密,ssc是早期的改so实现抓包的so,后来有了降级开关.

定位到so后打开一看导出函数

图片

hey man,are you sss bbb? 怎么还玩这种

图片

图片

然后就是so有多层花指令,那种跳转完的地方还有花,就是一个函数会被多次插花,有些复杂,不过到vmp的地方去不去都差不多,因为压根没法看,看不到有用代码的,如果能还原虚拟机逻辑的话另说.

 

图片

不要小看这个看似没有很多线缠在一起的,如果是vmp的话会比那种ollvm难上几个数量级,比如下面的boss app,只是一个ollvm

图片

 

事实上这个app就是vmp,这个函数内部跑了1900多万行汇编,基本上就是在做异或,与,或,加,取值,赋值的重复操作.这个vmp的我们后面两篇介绍,如果还能发的话,但愿吧.

由于没有vmp,很容易就可以借助ida看到伪代码

图片

首先是初始化了一个256的表,这个表由0-255生成的,这个很像是rc4的特征,然后v9应该是秘钥,不过rc4很简单,直接对着c代码扣下来就行了,然后就是一些很简单的操作了,没有vmp,直接看代码那种,不过有一个key是不同版本变化着的,这个也很好办,直接拿抓包的结果对比就能猜出秘钥.

G就说这么多吧,恶心的还是M,里面的hash算法不同版本支持一键算法变异,16套,有些是改常量,一套hash大概有好几个常量不固定,有些是直接逻辑有小变化,不过匹配特征还是可以做到短时间还原全部算法,如果是重新来一遍的话估计得让你坐在板凳上几个星期.好像没说什么,你可以理解为G比较简单没什么好说的,看个热闹就行了,国内环境就这样,参考看雪这篇[讨论]现在安全文章都这么隐晦了吗,各种某某某,XXX-茶余饭后-看雪-安全社区|安全招聘|kanxue.com

图片

 没办法写详细咯,下一篇是H算法的还原,不过我不会透露算法细节,可以分享出一些好的逆向思路或者app防护的好的地方挑一些出来讲讲.

标签:app,算法,so,签名,ollvm,最新版,vmp
From: https://blog.csdn.net/xmx_000/article/details/143770627

相关文章

  • thinkphp 6.0.* 升级到thinkphp 6.0.15最新版的方法
    ​虽然thinkphp官方目前更新到了8.x版本,但是旧项目是使用thinkphp6.0.*,如果直接升级到thinkphp6.1.*或者8.*,项目会运行错误,那么应该怎么升级到thinkphp6.0.*的最新版呢?方法是:打开项目根目录下的composer.json文件,找到下面的代码"require":{"php":">=7.2.5",......
  • thinkphp升级后报错Declaration of think\app\Url::build() must be compatible wit
    ​将源码中的thinkphp升级后,发现了错误:Declarationofthink\app\Url::build()mustbecompatiblewiththink\route\Url::build():string出现这个错误的原因是,你通过命令“composerupdatetopthink/framework”只升级了框架,没有更新多应用扩展模块。只需要composer运行下面......
  • 基于springboot+vue.js+uniapp小程序的企业oa管理系统附带文章源码部署视频讲解等
    文章目录前言详细视频演示具体实现截图核心技术介绍![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/940ba4f56a0645c8a8a27b4421e7a3a5.png)后端框架SpringBoot前端框架Vue持久层框架MyBaits为什么选择我代码参考数据库参考测试用例参考源码获取前言......
  • Apple Final Cut Pro 11.0 - 专业后期制作 (视频剪辑)
    AppleFinalCutPro11.0-专业后期制作(视频剪辑)FinalCutPro11开启Mac视频剪辑新篇章请访问原文链接:https://sysin.org/blog/apple-final-cut-pro/查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgFinalCutPro11开启Mac视频剪辑新篇章Mac、iPad和......
  • Apple Logic Pro 11.1 - 专业音乐制作 (音频编辑)
    AppleLogicPro11.1-专业音乐制作(音频编辑)LogicPro配备全新AI功能,引领音乐创作再上新阶请访问原文链接:https://sysin.org/blog/apple-logic-pro/查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgLogicPro配备全新AI功能,引领音乐创作再上新阶伴奏乐手......
  • 老人新兵 —— 一款iOS app的开发手记
    老人新兵——一款iOSapp的开发手记东坡肘子​ ​关注他 47人赞同了该文章本文写于2020年初,文中提到技术问题随着SwiftUI的发展以及认知的提高,大多有了更好的解决方案,请无视技术细节。原文发表在我的博客 肘子的Swift记事本 。由于技术文......
  • uniapp路由与页面跳转详解:API调用与Navigator组件实战
    UniApp路由与页面跳转详解:API调用与Navigator组件实战路由uniapp页面路由为框架统一管理,开发者需要在page.json里面配置每个路由页面的路径及页面样式。路由跳转uniapp有两种页面路由跳转方式,调用API跳转和navigator组件跳转。调用API跳转navTo(){ /*跳转到非tabbar......
  • 【Azure App Service】部署在App Service上的.NET应用内存消耗不能超过2GB的情况分析
    问题描述.Net应用程序部署在AppServiceforWindows环境中,已经根据需求把Platform的位数由32bit修改位64bit。但是应用程序在运行一段时间后,一直抛出OutOfMemory异常。System.OutOfMemoryException: atSystem.GC.AllocateNewArray同时,查看AppService内存占用指标......
  • uniApp分包
    subPackages里的pages的路径是root下的相对路径,不是全路径。微信小程序每个分包的大小是2M,总体积一共不能超过20M。百度小程序每个分包的大小是2M,总体积一共不能超过8M。支付宝小程序每个分包的大小是2M,总体积一共不能超过8M。QQ小程序每个分包的大小是2M,总体积一共不能超过......
  • 解决 uniapp打包app 使用uview的图片上传导致的 您的应用在运行时,未同步告知权限申请
    该问题主要原因是因为u-upload的组件在点击上传组件就直接触发了权限获取而华为的要求是点击拍摄提示获取相机权限并提示点击从相册选择获取存储权限并提示本文主要解决uview的u-upload导致的问题解决思路为修改u-upload组件在u-upload组件添加以下代码//自定义......