![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
逆向开发
文章平均质量分 82
463666991
这个作者很懒,什么都没留下…
展开
-
btrace:binder_transaction+eBPF+Golang实现通用的Android APP动态行为追踪工具
在进行Android恶意APP检测时,需要进行自动化的行为分析,一般至少包括行为采集和行为分析两个模块。其中,行为分析有基于规则、基于机器学习、基于深度学习甚至基于大模型的方案,各有各的优缺点,不是本文关注的重点,本文主要关注Android APP的动态行为采集。在做Android APP逆向分析时经常需要通过hook系统调用观察APP的行为,也需要一个动态行为追踪工具。btrace(原创 2024-06-14 21:39:24 · 1007 阅读 · 0 评论 -
appproxy 一个轻量级的VPN代理工具,支持HTTP, SOCKS5协议
基于flutter和tun2socks开发.appproxy是一个轻量级的VPN代理工具,支持HTTP, SOCKS5协议功能单只做代理,可分app代理, 双击修改配置逻辑比较简单, 主打一个能用就行.出于学习flutter的目的去做的,分享给大家,顺便帮我测试一下.加上上下游都有了哈哈.原创 2024-06-14 21:16:49 · 312 阅读 · 0 评论 -
记一次全设备通杀未授权RCE的挖掘经历
这篇文章是在挖到这个0day挺久之后写的了。依稀记得当时刚挖到这个漏洞的时候,有着些许兴奋,但更多的是感到不易,因为我当时觉得这条调用链还挺深的,里面也牵涉到了不少东西。但是,当我如今再梳理这个漏洞的相关细节的时候,我觉得这条调用链其实也就那样吧,整个挖掘思路和利用思路都不算难,抛开影响范围,并算不上品相多好的洞QAQ。在挖这个洞的时候,我遇到的最大挑战就是逆向分析了,我觉得这里的逆向难度还是比较大的(当然我逆向水平也很菜)。原创 2024-06-14 21:13:10 · 611 阅读 · 0 评论 -
微信小程序反编译/解包
A:使用 wxapkg 的 scan 功能,联网状态下会获取小程序名称。或者删除目录下所有文件再打开一次小程序。⚠新版功能更丰富,但转为闭源,订阅制收费。本文使用 2.0 免费版本。Q:小程序目录下文件太多了,找不到要解包的小程序?A:在微信的设置找到文件路径,小程序文件位于。付费使用最新版,免费使用流传最后一版免费版本。下载可执行文件,或者下载源码编译。使用 unpack 功能解包小程序。使用 scan 功能解包小程序。微信版本:3.9.10.19。Q:如何找到小程序文件位置?wx 子命令支持更多操作。原创 2024-05-24 17:26:50 · 1507 阅读 · 0 评论 -
绕过最新版bilibili app反frida机制
它应该是使用了一些反hook的手段,没有必要和它正面对抗。简单描述一下我的绕过策略,创建一个fake_pthread_create函数,它只有一条ret汇编指令,然后hook来自libmsaoaidsec.so的前2次对dlsym的调用,返回fake_pthread_create函数的地址,这样就达成了欺骗它调用fake_pthread_create函数的目的。输出如下,在加载libmsaoaidsec.so后,调用了2次dlsym获取pthread_create函数,然后进程就终止了。原创 2024-05-24 17:14:12 · 1403 阅读 · 0 评论 -
VM逆向,一篇就够了(下)
虚拟化变异组合保护。我们主要了解一下虚拟化,VMProtect首先会将受保护的代码转换为等价的虚拟代码片段,然后交由虚拟机执行,该虚拟机是VMProtect嵌入到受保护程序中的,因此受保护的程序不需要第三方库活模块即可运行。更为夸张的是,VMProtect允许使用多个不同的虚拟机来保护同一个应用程序的不同代码片段,这大大增加了破解难度。原创 2024-05-24 17:10:14 · 483 阅读 · 0 评论 -
VM逆向,一篇就够了(上)
vm题算是逆向中比较难的一种题型了,就在这里详细的记录一下。程序运行时通过解释操作码(opcode)选择对应的函数(handle)执行。进行初始化工作。在这个函数里,规定了有几个寄存器,以及有几种不同的操 这样看不明显,创建结构体修复一下,结构体长这个样子123456789 12345 修复完的初始化函数123456789 如果rip指向的操作码为F4就返回。调度器,任务是根据opcode选择函数执行123456789101112 循环,找到opcode对应的函原创 2024-05-24 17:04:48 · 895 阅读 · 0 评论 -
通过修改物理内存实现跨进程内存读写
习一下利用修改物理内存来跨进程内存读写系统:win10 21h1 x64编译环境: vs2022 详情见附录。原创 2024-05-24 16:54:18 · 949 阅读 · 0 评论 -
一种简单实用的ollvm反混淆的方案与源码
我是一名从事反欺诈&风控&设备指纹相关的工作,最近对ollvm的如何逆向的问题进行了学习与思考。ollvm是一个开源免费的so混淆工具,对于逆向的小白来说简直是灾难性的存在。这个例子是超简单,我想每个人都可以学会跟掌握,原创 2024-05-24 16:50:48 · 415 阅读 · 0 评论 -
某短视频sig3算法分析
这篇如果写的详细一点的话至少可以写5篇,unidbg,trace技巧,crc32,白盒aes,hmacSha256,我写成一篇确实有点一口吃成大胖子的感觉.可能不太适合刚入行的朋友吗,不过这个作为国内数一数二的短视频加密难度还是很可以的,有基础的可以细细品味一下.原创 2024-04-25 01:17:42 · 1306 阅读 · 2 评论 -
android脱壳:一种使用native进行抽取壳脱壳的方法,native版本的frida-fart
写rxposed的时候,搞了很多模块,其中有一个远程调用脱壳的,但是当时使用的是rmi远程调用,因为一些问题无法使用,可能是对抗问题,也有可能是技术问题,所以我又换了一种远程调用方式。android的dex加固,有整体dex加固,抽取加固,dex vmp,java2c,虽然有这么多,但是其实就脱壳主要是两个方面,第一个是整体dex脱壳,第二个就是在整体dex脱壳的基础上进行dex加密函数还原。抽取加固,dex vmp,java2c这些加固方式都以函数为粒度,进行函数代码的保护。原创 2024-04-25 00:45:37 · 1140 阅读 · 1 评论 -
Android某钉数据库的解密分析
在对aes_decrypt分析发现就是aes算法,算法分析对应aes 128,196,256加密的方式,就是128字节对应4*4矩阵加密,具体怎么操作自己baidu,发现加密方式采用了128,也就是10轮计算,5:现在还有一个问题就是java参数是怎么生成的,具体是过程就省了,自己往回跟踪就可以搞定,具体放在xml文件com.alibaba.android.rimet_preferences字段dt_bee_db_phone_*下面的值进行md5得到得到32位值。在这个so文件中,能发现。原创 2024-04-25 00:42:17 · 1302 阅读 · 2 评论 -
安卓真机无root环境下的单机游戏修改-IL2CPP
之前在研究手游的il2cpp修改,选取了作为研究对象,由于手上没有root的机子,于是安装在了MuMu模拟器上但是很快发现了问题,游戏只有arm的lib,由于一系列原因,导致我无法获取到的基址在尝试了很多方法后都无法完美的解决这个问题,最终只能考虑安装在真机上了但是目前并没有对机子root的打算,于是选取了注入的方案,这样没有root也可以对游戏进行修改了hhh可以手动操作去理解原理,参考这篇文章当然我这种懒汉肯定是选用自动化方案啦,使用objection来自动化patch apk。原创 2024-03-09 01:08:31 · 1158 阅读 · 0 评论 -
记录一次某茅台MK-V参数的逆向过程
根据maps中映射的librand.so的基址+偏移,hook不上指定函数,猜测是通过映射等其他手段重新加载了so,请教各位大佬,so使用了什么反调试手段?java层hook MT-V 参数的构成,发现把时间戳、固定字符串和一个空串传入调用了native函数,来自librand.so。1、java层获取时间戳、固定字符串和一个空串3个参数,调用librand.so中的native函数。4、取MD5的前26位字符拼接之前生成的一位随机字符,一共27位,即MT-V参数。1、so使用了什么反调试手段?原创 2024-03-09 01:05:01 · 500 阅读 · 0 评论 -
逆向分析 FSViewer 并写出注册机
最近在整理之前的资料, 发现了一篇几年前刚学逆向那会儿写的文章, 是跟着看雪一位大牛的文章做的, 但逆向方法不同, 应该算是自己能逆向出算法的第一款软件了, 发出来纪念一下借鉴了看雪@深山修行之人大牛的文章:FastStone Image Viewer注册算法分析+KeyGen。原创 2024-03-09 01:03:04 · 901 阅读 · 0 评论 -
记一次某汽车app白盒aes还原过程
学逆向一年了 今天第一次写一篇完整的文章 样本难度不高 混淆不算太严重 部分符号没有抹去 才有了攻击点希望这篇文章能对正在学习移动安全的朋友有所帮助。原创 2024-03-09 01:01:11 · 835 阅读 · 0 评论 -
CTF黑客精神:算法还原
这题的解法有很多,可以通过so文件的静态分析,直接将结果写入文件达到解题的目的,不过核心思想肯定是希望我们通过逆向他的算法来获取flag.接下来我将详细的分析算法逆向的过程。原创 2024-02-03 01:16:45 · 1021 阅读 · 0 评论 -
某站平台的签名算法分享
然后用jadx打开xxx.apk包,全局搜索sign字符串,在众多函数方法中,找到一个SignedQuery函数,跟进去看,发现又个loadLibrary(xxx),那么直接告诉我是在一个so里。分析代码,发现关键在 check_app_key_get_type和global_key,一个是app key获取type,还有一个存着类似于secret key的 global key。分析包 看到路径参数如下。原创 2024-02-03 01:01:54 · 878 阅读 · 0 评论 -
使用unicorn模拟执行去除混淆
在分析某app的so时遇到了间接跳转类型的混淆,不去掉的话无法使用ida f5来静态分析,f5之后就长下面这样:本文记录一下使用python+unicorn模拟执行来去掉混淆的过程。原创 2024-02-03 00:59:23 · 985 阅读 · 0 评论 -
某ttEncrypt算法的简单分析
花了几个小时快速分析的,所以并未能的完全的分析他的整个流程。只能是通过一些快速分析的手段进行快速的定位以及验证!到最后才发现他的整个基本都是这个样子比如一开始的JNI_OnLoad方法,有空还想把那个指令的执行也分析一下,看一下他是如何入参出参以及执行方法!unidbg的简单调试so的方法简单修正aes的key初始化流程然后大佬们就可以判断是否有必要继续看下去了那按照惯例都看一下他们的实际值了x0嘿,还有引用,看看又是哪里是sha512哪里的结果x1-->0x10x2。原创 2024-01-19 12:51:09 · 940 阅读 · 1 评论 -
逆向分析 160个CrackMe五星052
逆向分析 160个CrackMe 052闲来无事,工作上有调整,等待来年安排,日常的学习还是不能松懈,好久没搞2进制了,最近正在刷pwn和CrackMe,看到了一个160集合感觉不错,刷了几周了,做了20多个了吧,也不知道哪个好,随便搞了下,感觉这5星级的还是挺有意思的,故分析发文。原创 2024-01-19 12:44:20 · 1426 阅读 · 0 评论 -
Hook入门与抓包
Frida 的 介 绍 是 “Frida 是 平 台 原 生 App 的“Greasemonkey”,专业一点来说就是一种动态插桩工具,可以插入一些代码到原生App的内存空间去动态地监视和修改其行为,这些原生平台可以是Windows、Mac、Linux、Android或者iOS,同时Frida还是开源的。原创 2024-01-19 12:40:34 · 1184 阅读 · 0 评论 -
【Android逆向】记录一次某某虚拟机的逆向
很明显,有关VIP的数据都在此,使用XPosed来修改这些成员变量,即可达到对显示UI的修改,即使服务器对这些数据有校验也不影响,至少在UI层面已经成功了。学了一段时间的XPosed,发现XPosed真的好强,只要技术强,什么操作都能实现...打开抓包工具,通过对两者的对比,发现是其中少了一些数据,所以才会加载失败。使用抓包工具检查网络请求,当点击底部的导航栏的时候,应用会发送网络请求。,当请求成功的时候会将用户的信息保存起来并移除广告?,算法助手对应用进行了常见功能的Hook,最重要的是。原创 2023-12-15 20:35:41 · 1464 阅读 · 0 评论 -
逆向经历回顾总结
将自己的逆向经验做个总结,希望新手对逆向大方向能快速了解。高手有啥不一样的经验也可以讨论讨论。回顾逆向这几年,就是个攻防不断升级,更明显的体现了那句“逆水行舟,不进则退”。好久没研究技术了,不知道高手们又在深挖哪块的难点,让我用小说里的话感叹一句“啊~,仙路尽头谁为峰...”原创 2023-12-15 20:21:04 · 819 阅读 · 0 评论 -
flutter逆向 ACTF native app
算了一下好长时间没打过CTF了,前两天看到ACTF逆向有道flutter逆向题就过来玩玩啦,花了一个下午做完了.说来也巧,我给DASCTF十月赛出的逆向题其中一道也是flutter,不过那题我难度降的相当之低啦,不知道有多少人做出来了呢~原创 2023-11-12 22:28:22 · 1525 阅读 · 1 评论 -
快手协议算法最新版
2. 内容特征分析:快手的协议算法会分析视频的内容特征,如标签、描述、音乐、场景等,以及视频的视觉特征,如图像、颜色、动作等。3. 推荐策略分析:快手的推荐策略可能涉及多个因素,如用户兴趣、视频质量、热度等。然而,一般来说,协议分析的目标是理解算法系统中各个组成部分的功能和作用,以及它们之间的相互关系。快手的协议分析是指对快手算法系统进行分析,以了解其推荐内容和个性化用户体验的机制。原创 2023-11-01 17:44:31 · 535 阅读 · 0 评论 -
抖音协议最新版
主页信息、主页视频数据、发布作品、发布图文、验证可靠、验证点选、扫码登录协议、视频点赞、视频举报、视频详情解析(获赞、评论数、收藏数、无水印地址等)、视频评论、视频评论信息、视频评论点赞、用户关注、用户举报、用户资料、用户更改资料、用户粉丝和关注的用户详情、直播上榜人气协议、直播间数据信息、直播间点赞、直播间发言、直播间举报、直播间商品数据、web端全部数据接口、绕验证、ttwid、绕验证获取主页视频详情。原创 2023-11-01 17:32:34 · 929 阅读 · 9 评论 -
抖音协议算法最新版
2. 内容推荐:内容推荐算法分析视频的内容特征,如标签、描述、音乐、场景等,以及用户的喜好,来推荐相关的视频。在抖音协议算法中,强化学习可以用于优化推荐策略,通过不断尝试和评估不同的推荐策略来最大化用户的满意度和参与度。抖音的协议算法是指用于推荐内容和个性化用户体验的算法系统。这些算法根据用户的兴趣、行为和偏好来推荐适合他们的视频内容,以提供更好的用户体验。# 用户-物品评分矩阵。原创 2023-11-01 17:25:52 · 688 阅读 · 2 评论 -
【逆向】Base64编码解码及逆向识别
1、识别代码中的“=”通配符2、识别Base编码表,静态编码表可以在IDA“string”窗口查看,有些动态拼接的则需要手动识别3、识别代码中对数据的左移右移操作4、最主要的是理解编码解码原理,比如编码时通常都会用3个字节一组来处理比特位数据,这些特征都可以用来分析识别。原创 2023-10-22 18:13:32 · 950 阅读 · 0 评论 -
Android微信逆向--实现发朋友圈动态
最近一直在研究Windows逆向的东西,想着快要把Android给遗忘了。所以就想利用工作之余来研究Android相关的技术,来保持对Android热情。调用微信代码来发送朋友圈动态一直是自己想实现的东西,研究了一下,果然实现了,遂写下本文当作记录。本文主要分析发送纯文字朋友圈动态和发送图片朋友圈动态。原创 2023-10-22 18:11:00 · 1061 阅读 · 2 评论 -
Hook原理--逆向开发
fishhook的源码地址为fishhook的主要方法有两个还有一个结构体查看代码结构为,将红色圈起来部分移入到代码中,即可使用fishhook来hook代码。上面讲述了Hook的几种技术方式以及fishhook的原理探究,以及如何让别人的app实现自己的代码。下面我们对此总结一下,写了一个本篇博客的整个过程便于大家整理,希望对大家有所帮助加深理解。原创 2023-10-22 18:09:07 · 1217 阅读 · 0 评论 -
iOS逆向工程之Theos
接下来我们就要使用theos来创建我们的工程了,创建工程也是比较简单的,就是调用我们theos目录中bin下的nic.pl命令。当然我们此处创建的是application_modern类型的工程,所以我们就选2即可,当然,如果你想创建tweak,那么就选11即可,下方我们选择的是第二个模板。接着我们要做一些编译打包前的准备工作,SDKVERSION是编译工程时所使用的SDK,因为本机Xcode中是9.3的SDK,所以我们知道的SDKVERSION是9.3。开门见山,下方就是我们要实现的效果。原创 2023-10-22 18:06:12 · 1233 阅读 · 0 评论 -
对一个变速器原理的分析
在HyperV里叫Overlay Page,简单理解就是贴一张新的A4纸到原来的纸上,如果要禁用,那就把贴上去的A4纸撕下来,将原来的A4纸原样“显示”出来,纸上的内容还是原来的样子。这个运算的目的则是在CPU的tsc频率与Win的QPC频率之间算一个系数,用于频率转换,因为QPC在新一点的机器上一般都是建立在TSC基础之上(CPU要支持iTSC),在支持iTSC的情况下,QPC频率是代码写死的固定10MHZ,TSC频率却取决于CPU,tsc频率肯定不会等于10Mhz,那么必然要在中间做一层转换。原创 2023-10-11 18:17:35 · 353 阅读 · 0 评论 -
PC版企业微信逆向之消息发送CALL-找不到参数文本消息内容,但是确定这就是消息发送CALL
获取UI文本字符串长度 DuiLib.DuiLib::CRichEditUI::GetTextLength。清空UI文本框DuiLib.DuiLib::CRichEditUI::SetText。//消息发送CALL如下。原创 2023-09-22 20:07:25 · 1628 阅读 · 3 评论 -
猫眼逆向协议抢票开发
为什么会出现滑块, 用selenium打开的浏览器, 和正常用户打开的浏览器不同。#登陆按钮: #login-form > div.fm-btn > button。# 加速度越小,单位时间的位移越小,模拟的轨迹就越多越详细。# 单位时间为0.2s来统计轨迹,轨迹即0.2内的位移。# 位移/轨迹列表,列表内的一个元素代表0.2s的位移。# 密码输入框: #fm-login-password。#1.3 输入账号, 输入密码, 点击登陆 (滑块)# 账号输入框: #fm-login-id。原创 2023-09-22 20:05:02 · 4487 阅读 · 9 评论 -
为什么你抢不到演唱会门票?
具体实现没有这么简单的,有攻击方必然有防守方,票务方为了保障平台方利益,势必会定义打击策略,例如,我们会看到验证码从文字到图片再到滑块验证的一个迭代过程。self.driver = webdriver.Chrome(executable_path='chromedriver.exe') # 当前浏览器驱动对象。while self.driver.title.find('大麦网-全球演出赛事官方购票平台')!'domain': '.damai.cn', # 必须要有的, 否则就是假登录。原创 2023-09-22 19:55:28 · 236 阅读 · 0 评论 -
丽江旅游集团抢票协议开发
1. 定义协议规范:确定协议的数据格式、字段、消息结构等。这可以是自定义的协议,也可以是基于现有的标准协议如HTTP、SOAP、REST等。协议开发通常是为了实现系统间的数据交互和通信,确保数据的准确传输和安全性。具体的协议开发需要根据您的需求、业务场景和技术栈进行设计和编写。5. 接口文档和版本管理:为了确保不同系统之间的兼容性,编写接口文档并进行版本管理是一个良好的实践。4. 数据加密和身份认证:如果需要保护数据传输的安全性,您可能需要实现数据加密和身份认证机制,如使用SSL/TLS协议、数字证书等。原创 2023-09-08 15:33:45 · 235 阅读 · 3 评论 -
大麦抢购协议最新版
1. 网络请求:您可以使用合适的编程语言和库来发起与大麦网的网络请求。3. 请求头部:在发送请求时,可能需要设置一些请求头部信息,如 User-Agent、Referer 等。这些信息可以从抓包数据中获取。注意,您应该尊重大麦网的服务条款和规定,避免滥用或伪造请求头部。5. 数据解析:一旦收到来自大麦网的响应,您需要解析响应数据以获取所需的信息。2. 请求参数:根据大麦网的接口文档或分析抓包数据,确定所需的请求参数。4. 授权和认证:如果需要进行用户身份认证或授权,您可能需要实现相关的登录或授权逻辑。原创 2023-09-08 15:29:46 · 2099 阅读 · 10 评论 -
高更妙的抓包——从Chrome源码学习使用Cronet 通讯组件的app的通用抓包方法
最近看论坛里关于抓包的问题聊的火热,小弟我也借此机会献丑来分享一下我的抓包的研究成果。毫无疑问,app逆向的第一步是抓包。通过抓包可以获取很多有用的线索,比如url,参数名等。再根据url,参数名等,可以逐步抽丝剥茧找到app收发数据的地方,然后就能找到最关键的签名所在的位置。研究清楚签名,接下来就可以做一些不可告人之事了~安卓app常用的网络框架是okhttp,对于okhttp的抓包研究已经非常成熟了,无非是certificate pin或者hostname verify那一套。原创 2023-08-26 16:53:27 · 107 阅读 · 0 评论 -
Android APP漏洞之战——非root环境下的抓包、脱壳、Hook
最近在总结Android APP漏洞挖掘方面的知识,上篇帖子Android漏洞挖掘三板斧——drozer+Inspeckage(Xposed)+MobSF向大家初步的介绍了Android APP漏洞挖掘过程中常见的工具,这里也是我平时使用过程中比较常用的三套件,今天我们来逐步学习和复现Android中 Activity漏洞挖掘部分知识,每个漏洞挖掘部分,我们都会选择具有代表性的样本案例给大家演示。在学习Activity的漏洞挖掘之前,我们先对Activity的基本运行原理有一个初步的认识12345。原创 2023-08-17 20:07:00 · 1684 阅读 · 0 评论