- 博客(253)
- 收藏
- 关注
原创 航班管家sid参数加密纯算分析
摘要:分析encrypt.so中sid参数的加密逻辑,发现根据a5参数值(0/1)走不同分支。a5=0时对pid+uid+固定盐值进行标准MD5加密,直接取结果;a5=1时MD5处理后需去掉前5位取后27位字符。通过Unidbg模拟验证,确认0分支结果匹配但1分支初始不符,最终发现是取值规则差异所致。整个过程涉及包名签名校验、MD5运算(未魔改)和结果字符串的特殊截取处理。
2025-07-17 16:23:32
232
原创 某东 jdgs参数unidbg环境检测patch分析
可通过一些定值hex进行内存搜索匹配:"a2":"com.jingdong.app.mall" 或者 "a5" 的版本号等。时间戳 + 拼接a11,作为rc4的秘钥,将第一步压缩计算后的值,再进行一些查表异或算法后 得出最后拼接的20个字节动态值。该函数看伪C代码是一个 查表算法,后hook参数,可知为sha1算法。hook验证后,真机走0x215c0,0x22b00上面几个都不走。调用返回结果与真机不一致,排查不一致的地方,b5;设备初始化的一些值,只要是提供给b算法进行加密。
2025-07-15 10:42:02
476
原创 某东 sign参数算法还原分析
摘要:某东新接口如机票API采用sign加密参数,通过分析发现其32位sign值可能为MD5加密。关键函数getSignFromJni位于jdbitmapkit.so中,涉及base64编码和MD5逻辑。通过逆向分析发现,sign生成过程包含固定时间戳、base64处理、查表异或等操作,最终由明文参数与固定字符串"80306f..."进行运算得出。分析表明sign值不随入参变化,可通过还原算法用Python实现签名生成。整个流程包含多层函数调用,关键点在于追踪base64数据和MD5逻辑
2025-07-08 10:01:35
179
1
原创 X书shield算法分析
摘要:文章分析了xyass.so的安全机制实现过程。通过Frida工具dump并修复so文件后,发现其采用多层加密:首先生成固定前缀,结合设备ID等信息进行魔改MD5运算;随后通过RC4算法处理,密钥为"std::abort()";最终拼接"XY"前缀并Base64编码。核心包括:1)魔改AES解密生成密钥;2)五轮自定义MD5运算;3)固定结构(AAAAQAAAAEAAABTAAAAUz)的识别。分析过程涉及内存取证、算法逆向和参数追踪,揭示了该安全机制的复合加密特
2025-07-02 10:23:27
366
原创 最新版某手sig3深度算法还原分析
输入明文:urlpath + sig, 进行hmac_sha256算法加密后再进行aes白盒加密,crc32加密后"41512700" + 随机数+"01000000" + crc32_value + 时间戳hex+ "000d00"进行自定义逻辑算法后,生成sig3。
2025-06-28 01:43:49
935
2
原创 最新版某手 sig 及 __NStokensig 分析
分析13.5.10版本的__NStokensig参数逻辑,发现其计算方式未发生变化,仍使用SHA256算法。通过hook方法追踪sig的计算过程,发现涉及url路径和请求体的字典排序。验证发现某些参数为固定值。进一步分析发现sig生成采用MD5算法,并包含固定盐值。最后观察到安全组签名算法atlasSign在新版本中已发生变更,需要后续详细分析。整个过程涉及多个加密参数的计算和验证。
2025-06-23 11:35:40
1101
原创 某航旅机票查票protobuf传输及so分析
分析了某APP的Protobuf格式数据加密流程。首先通过脱壳处理获取关键代码RequestBodyBuilder类,发现请求体先经过Protobuf序列化、Base64编码和自定义加密。通过Hook技术验证加密过程,发现使用libumejni.so中的RC4算法(自定义S盒)和AES加密,最终再进行Base64输出。作者使用Unidbg模拟执行环境,补全了必要参数后成功复现加密流程。整个分析过程涉及Protobuf协议解析、Base64处理、动态Hook和Native层逆向等技术要点,为类似加密机制的分析
2025-06-20 10:03:13
438
8
原创 dy ios抓包及ios六神
大家可能有疑问,为什么有时候抓的前缀,https://api5-normal-lq.amemv.com/aweme/ ,https://api6-normal-lq.amemv.com/aweme/作者这里用的frida,因为方便调试,在ios系统12-16版本都兼容,并且通杀新旧版本等。实际上这是抖音做的一个分流的方法,会在域名后面随机+数字,进行分流,减缓压力。b.在ios中,则需要手机越狱,来配个frida或者logos插件。原理就是前面ios讲到的,hook底层ssl库来实现,
2023-11-02 14:47:50
768
1
原创 dy设备deviceid iid注册分析
清楚缓存,重新打开app, 点击同意按钮,会触发设备注册;很明显是一个post包,device_register可以看到请求体加密了 那么 请求体是什么呢?很老版本思路:都是直接明文注册较老版本思路:在反编译后请求体通过一个bool来判断,是否走,ttencrypt;这个地方可以hook明文也可以直接修改bool值,让抓包直接抓到明文;正常情况下,是将请求体压缩后,走ttencrypt,进行密文注册;我们接着往下走,看新版是否有变化;
2023-07-25 22:46:05
86998
6
原创 某点资讯Signature纯算逆向
需要加密的值 :“pro6.4.0.00njbh2wlr_1685327378963_38033100”这个时候就明白了吧,这个地方就是上面的 最开始trace下堆栈及加密的地方了。入参拼接 appid、cv、platform、reqid、version。我们把结果base64下,看结果是否一致,来判断base64是否魔改。看到这里也是做了rsa然后base64, 没有其他操作。bool a5为 0,也就是false, 直接走。验证base64为标准;我去,这不就直接出来了吗。根据刚刚的堆栈,跟一下。
2023-06-01 00:59:28
7388
2
原创 IOS - 某段子APP分析
frida -U -f 包名 --no-pause -l C:\Users\Codeooo\Desktop\hook_aes.js。这个地方,我们知道,参数1为data, 参数2为 长度, 参数3为返回值也就是常说的buffer;接下来我们干分析一波MD5,在上面看到是 MD5sum这个位置发现变动,点进来看一波;返回的响应头:x-xc-proto-res: 进行后续验证处理;好的,饶了一圈回到原点,看下最早我们 sign 怎么生成的吧;这个得 -f spwan去启动,不能用-F 附加了;
2023-04-03 20:15:00
21506
原创 IOS - 某驾宝典篇
首先挂上代理抓个登陆包,结果发现抓不到包,我们直接换个思路,采用vpn转发方式进行抓包;sign, hsign,hext-union 三个参数加密;hsign长度为32,可能为MD5 , 其他两个未确定;直接上我们的url定位:我直接附加吧是搞出来点东西,看样子有这个MD5, 先个堆栈追踪;打开提示目录中的,URLWithString_.js 文件把咱们万能堆栈加上去;记录下堆栈,砸壳分析一波:砸壳我这里用的是 CrackerXI ,继续往上找吧;
2023-03-21 19:06:00
11230
1
原创 吾爱2023新年红包题第六题 (CTF)
而且这里面还判断了key的长度,16位,正常key长度也是16位;上面这个 aWfkuqokj454836 15位,心态崩了,看来是假的,这个里面才是真的啊~~~~~~这几道题,完全就是整人玩,一个一直点999次,一个大喊大叫还说你是细狗,还得声音分贝大于100才解锁开始找flag;直接将这个 |wfkuqokj4548366 key 扔进去 get_RealKey方法,在比较的时候打断点,或者hook,拿到正确的可以;看伪C代码,memcmp比较, 是有个和真key比较的地方,返回bool;
2023-02-07 19:41:27
86455
4
原创 某手42位48位sig3解密交流-unidbg
==========逆向必备:函JNItrace是一个基于Frida框架的Hook jni方法的库。https://github.com/chame1eon/jnitrace加密函数定位:https://github.com/lasting-yang/frida_hook_libart.gitdump 脚本修复加密sohttps://github.com/lasting-yang/frida_dumpfrida hook模板:so :https://blog.csdn.net/weixin_3892
2023-01-07 16:58:23
7507
原创 搜狗微信APP逆向(三)unidbg
话不多说,这个apk如果是用unidbg调用的话,那就很简单,而且so层没有调用java层一些东西,都不用补环境。上图吧:
2022-11-17 13:43:49
10815
2
原创 搜狗微信APP逆向(二)so层
接着上文:https://blog.csdn.net/weixin_38927522/article/details/124726015本次分析搜狗app so 层加密相关逻辑。首先在导出函数查找一下:点进去 Java_com_sogou_scoretools_ScEncryptWall_encrypt 查看GetStringUTF 转化为C#的字符串,utf编码。malloc 开辟空间j_Sc_EncryptWallEncode 按照代码逻辑这个是核心代码继续进:进到这个函数我们看下
2022-07-01 11:07:16
8300
原创 搜狗微信APP逆向(一)java层
在该app可以搜索关键词,选择微信后面的赛选进行排序:发现如下加密参数:未发现加固加壳方式:我们直接搜索定位: package com.sogou.utils;我们先hook下这个a方法看下传入的参数及结果:先看这个用到了前三个参数:那我们hook下这个 ScEncryptWall.encrypt(str5, str6, str7);这个方法就是加密的参数了。可以看到传入参数:结果就是那几个字段,k, v ,p, ,r , g查看是个so的方法,我们继续放下看下请求响应。h
2022-06-07 13:44:06
9333
8
原创 Frida Hook so示例模板
# -*- coding: utf-8 -*-# @Author : Codeooo# @Time : 2021/12/24import fridaimport sys"""NDK开发https://blog.csdn.net/weixin_38927522/article/details/120078401动静态注册https://blog.csdn.net/weixin_38927522/article/details/119672156"""# hook.
2021-12-24 11:17:45
17171
7
原创 Android Studio调试smali
1.使用android killer反汇编apk,生成smali文件夹2.Android studio安装smalidea-0.06插件,点击File->Settings->plugins->instal plugins from disk,选择下载的zip包就行,不要解压。安装完成后,AS提示重启生效,重启即可.注意:Android studio4.0以上版本安装smalidea-0.06,4.0以下版本安装smalidea-0.0.5版本。...
2021-09-10 00:41:24
11162
原创 ARM汇编详解
ARM汇编基本指令:https://blog.csdn.net/weixin_38927522/article/details/119682157Android与ARM处理器:ARM处理器架构概述ARM处理器家族Android支持的处理器架构ARM/x86/MIPS原生程序与ARM汇编语言:原生程序逆向初步代码混淆技术ARM指令集堆...
2021-09-05 13:31:41
18628
原创 Frida检测
检查 Frida 的痕迹一种简易方法是检测 Frida 的运行痕迹,也适用于同类工具的检测,比如包文件、二进制文件、库文件、进程、临时文件等等。本例中针对的对象是 fridaserver,它通过 TCP 对外与 frida 通信,此时可以用 Java 遍历运行的进程列表从而检查 fridaserver 是否在运行。 2 3 4 5 6 7 8 9 10 11 12 13 14 15
2021-09-02 09:55:45
14658
5
原创 Frida hook_RegisterNatives方法
hook RegisterNative函数 命令: frida -U --no-pause -f cn.xiaochuankeji.tieba -l C:\Users\Administrator\Desktop\demo.js frida -U --no-pause 直接启动 -f ...
2021-09-01 09:58:07
12586
原创 Frida Hook常见算法及堆栈跟踪
堆栈跟踪:console.log(Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Throwable").$new()))常见算法Hook:# -*- coding: utf-8 -*-import fridaimport sys# HOOK指定类的所有重载方法jscode = """Java.perform(function() { //Base64 var base
2021-08-31 20:12:07
14747
2
原创 IDA调试检测
针对于一些大型apk 反调试不一定是让你不能调试 -> 让你得到一个错误的结果 逆向某一个算法 传参 中间会根据一些数据运算 如果检测到反调试 计算错误 1.IDA调试端口检测 监测android_server文件端口信息 默认的23946(5D8A) 更改端口 31927 -> 过掉此反调试 2.调试器进程名检测 监测android_server gdbserver gdb等进程 ...
2021-08-27 09:47:30
13545
原创 Xposed插件编写
所需要环境:jdk sdk xposed激活安装xposed激活安装 :https://blog.csdn.net/weixin_38927522/article/details/1198327171.Android Studio 项目AndroidManifest.xml添加xml标识: <!-- 添加标识 --> <meta-data android:name="xposedmodule" andro
2021-08-23 00:06:44
10347
原创 Frida模板Hook
JAVA层HOOK:# -*- coding: utf-8 -*-"""Spyder EditorThis is a temporary script file.JAVA层HOOK"""import frida, sys#HOOK普通方法"""jscode =Java.perform(function () { var utils = Java.use('com.renren.mobile.utils.RSA'); utils.D.implementation
2021-08-22 22:46:01
9649
原创 Frida详细环境安装
1.安装Python环境http://www.python.org/ 访问下载推荐安装python3.7版本,兼容性高2.安装frida模块打开Py输入命令:pip install fridapip install frida-tools我这里安装的是 pip install frida==12.10.43.frida-server下载地址:https://github.com/frida/frida/releases下载安装frida server 版本和类型对应,框架和设备
2021-08-20 14:21:21
10043
5
原创 Xposed多情况Hook
1.Xposed之遍历指定类所有内部类,但不包括匿名内部类 /** * Xposed之遍历指定类所有内部类,但不包括匿名内部类 * */ Class<?> clszz=XposedHelpers.findClass("com.sun.ggactivity.InfoAdapter", lpparam.classLoader); Class<?>[] clszzs=clszz.getDeclaredClasses(); XposedBridge.l
2021-08-17 10:04:10
10979
原创 IDA调试快捷键
空格键: 列表视图&图形视图Esc: 回退Tab: 汇编指令与伪代码之间切换;x: 交叉引用;F5: 显示C伪代码;n :重命名;y:修改;双击:转到定义处;p: 识别为函数c: 识别为汇编; 所有交叉参考处都会出现,: 注释只在该处出现d data解析成数据a ASCII解析成ASCIIALT+T 搜索文本ALT+B 搜索16进制 搜索opcode 如ELF文件头打开断点列表 CTRL+ALT+B运行到函数返回地址 CTRL+F7运行到光标处 F4IDA
2021-08-16 19:23:38
10445
原创 IDA调试模式
IDA调试模式1.在IDA安装目录找到dbgsrv目录下的 android_server2.讲android_server文件放置手机/data/local/tmp下 adb push 文件拖进来 /data/local/tmp 并授权 chomd 777 android_server3.CMD窗口,运行./android_server 或指定端口方式 ./android_server -p 端口 (默认端口23946)4.adb forward tcp:端口号
2021-08-14 17:47:03
10783
4
X敦敦电脑运行文件exe
2022-11-17
截图识别工具exe-电脑软件
2022-11-17
C知道进入链接及使用次数
2023-07-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅