avatar
文章
42
标签
35
分类
11
主页
归档
标签
分类
关于
凌虚的博客
主页
归档
标签
分类
关于

凌虚的博客

安卓逆向案例(4)owasp_r2pay-v0.9.apk
发表于2026-09-08|安卓逆向案例|安卓逆向
1. 案例来源https://github.com/OWASP/mastg/tree/master/Crackmes/Android 2. 分析过程先安装APK,根据提示随便输入内容看一看,根据题目要求,生成的那一长串字符颜色是绿色才算成功。 拖进jadx看一下,在OnCreate函数里面发现反调试和Root检测。 定位到核心判断逻辑,核心函数为gXftm3iswpkVgBNDUp,这又是一个native函数。 用IDA打开so库,导出表没看到gXftm3iswpkVgBNDUp函数,估计是动态注册的,看到了很多的decode函数,位于init_array段中,估计是解密数据用的。 看一下JNI_OnLoad函数,很乱,上了OLLVM。 上D810处理一下JNI_OnLoad函数,修正一下类型,即可定位到关键的动态注册逻辑。函数详细信息的地址off_163018是动态解密的,准备调试获取。 先把Java代码里面的反调试和ROOT检测代码给删掉,准备接下来的调试。 断到函数注册的Call,看到函数信息,包括名称:gXftm3iswpkVgBNDUp,方法签名和地址。根据函数名称...
安卓逆向案例(3)owasp_UnCrackable-Level3.apk
发表于2026-09-07|安卓逆向案例|安卓逆向
1. 案例来源https://github.com/OWASP/mastg/tree/master/Crackmes/Android 2. 分析过程先安装apk后运行看一眼,看起来是要输入正确的内容然后验证,先随便输入一个试试看。 用jadx-gui打开,定位到核心代码。 看一下this.check.check_code函数,重定向到了Native库。 找到bar函数,恢复类型后看一下大概逻辑。 这里v8数组和qword_15038都是动态填充的,硬分析逻辑比较麻烦,这里采取动态调试的方法来Get flag会比较简单。 3. 调试之前先干掉反调试在调试之前,我们要先干掉程序的反调试机制。 简单看一下MainActivity的逻辑,可以看到程序进行了so文件完整性检测、调试状态检测和Root检测,这里可以用修改代码、Frida Hook等方式干掉他们。这里简单起见,我就用修改代码的方式来操作。 在APK Editor里面定位到OnCreate函数。 注释掉相关检测代码,然后重新打包APK。 可以重新反编译新打包的APK验证一下,确实相关检测代码已经消失。 4. 调试启动调试的步骤我...
安卓逆向案例(2)owasp_UnCrackable-Level2.apk
发表于2026-09-07|安卓逆向案例|安卓逆向
1. 案例来源https://github.com/OWASP/mastg/tree/master/Crackmes/Android 2. 分析过程先安装apk后运行看一眼,看起来是要输入正确的内容然后验证。 先随便输入一个看一看。 用jadx-gui反编译看一下,定位到关键逻辑。 看一下this.m.a函数,转到了native函数bar。 解压APK后,从lib文件夹拿到libfoo.dll(记得要拿ARM版本的,x86版本会存在变量类型等相关问题),用IDA打开,从导出表中定位到bar函数。 JNI函数的参数列表和类型是固定的,修正一下参数类型。可以看到逻辑就是检查字符串长度是否为23,并于Thanks for all the fish相比较。 成功。
安卓逆向案例(1)owasp_UnCrackable-Level1.apk
发表于2026-09-07|安卓逆向案例|安卓逆向
1. 案例来源https://github.com/OWASP/mastg/tree/master/Crackmes/Android 2. 分析过程先安装apk文件看一下,打开后有个输入框和验证按钮,所以需要找到正确的内容输入然后验证即可。 先随便输入一个内容看一看。 用jadx-gui反编译看一下,找到MainActivity,定位到关键逻辑,程序会将输入字符串交给a.a函数处理并判断返回值。 接下来查看a.a()函数,该函数将输入字符串与sg.vantagepoint.a.a.a(b("8d127684cbc37c17616d806cf50473cc"), Base64.decode("5UJiFctbmgbDoLXmpL12mkno8HT4Lv8dlat8FxR2GOc=", 0))的返回值相比较。 查看sg.vantagepoint.a.a.a函数,可以看出来是一个AES解密函数。 用密码学工具解密,得到结果:I want to believe。 成功。
结构体文档
发表于2026-09-01|逆向工程|逆向工程
1. 初衷其他笔记中,涉及到结构体的时候,都只是记录了其中一部分(完整记录会显得篇幅过长),这就导致查阅起来比较麻烦,这里做一个完整的结构体文档,以便查阅。 2. 内核2.1. _KTRAP_FRAME12345678910111213141516171819202122232425262728293031323334353637kd> dt _kTrap_Frament!_KTRAP_FRAME +0x000 DbgEbp : Uint4B ; 调试等其他作用 +0x004 DbgEip : Uint4B ; +0x008 DbgArgMark : Uint4B ; +0x00c DbgArgPointer : Uint4B ; +0x010 TempSegCs : Uint4B ; +0x014 TempEsp : Uint4B ; +0x018 ...
反逆向工程
发表于2026-09-01|逆向工程|反逆向工程•逆向工程
1. 反静态分析 花指令:通过条件互补、固定值、滥用指针、滥用SEH等方式破坏反汇编代码 动态加解密 对抗反编译:通过push + retn替代jmp、在永不执行的代码处调整栈指针等方式使得Hex-Rays反编译器认为函数堆栈不平衡,拒绝反编译 位数交叉编码:32位/64位交叉模式编码 Java/Python代码混淆 ollvm控制流平坦化 2. 反调试 进程状态检测:检测BeingDebugged、NtGlobalFlag等 调试环境检测:检测调试器窗口、进程、文件、内核对象等 时钟检测:检测程序运行时长 异常检测:调试器和常规程序对异常的处理存在差异 断点检测:检测硬件断点/软件断点/单步标志位,检测代码段哈希 自调试和多线程/进程逻辑互补 通过调试器/插件漏洞检测或破坏 3. 反虚拟机 虚拟机痕迹与指纹检测,常见于注册表、服务、进程、文件、网卡Mac地址、CPUID、主板/磁盘型号、内核模块等 特权指令:一些特权指令如sidt、sgdt、sldt、cpuid、in等,由于性能和硬件模拟等原因虚拟化不完...
Windows微信逆向(一)Hook微信自身日志
发表于2026-09-01|Windows微信逆向|微信逆向•逆向
1. 前言近期分析了一下64位的PC微信,对其中的一些内容做一些分享。本期分享内容:Hook微信自身日志。 本次分析使用版本:3.9.12.51。 2. 逆向分析众所周知,PC微信的主要业务功能均实现于WechatWin.dll,使用IDA分析。 一般日志都会存在格式化字符串,比如%s、{}等,直接在IDA中搜索。 随便选择一个看着很像(带有一些微信业务属性的,比如消息、图片等)的,追踪一下。 定位到函数sub_182627590,进去看看。 函数内发现代码获取了时间和线程ID并格式化,基本可以确定这里就是日志函数了。并发现代码循环处理字符串后在尾部添加结束符\x00。 将Hook点选择在添加结束符\x00之后,即0x18262780F处。这时候字符串已经组装完毕。 调试发现在0x18262780F处,rdx指向字符串。 3. Hook64位的Hook和32位的有点区别,32位一般在Hook点直接jmp XXXXXXXX(立即数地址)或者call XXXXXXXX(立即数地址)即可,但是64位不支持直接jmp/call立即数地址,所以这里采用mov rax,X...
经济学原理(7)开放经济的宏观经济学
发表于2026-07-19|经济学原理|经济学原理•宏观经济学
1. 开放经济的基本概念1.1. 物品和服务的流动 进出口:国家对外购买或者销售物品及服务 净出口:出口 - 进口 贸易盈余(顺差):净出口 > 0 贸易赤字(逆差):净出口 < 0 1.2. 金融资源的流动 资本净流出:本国人购买外国资产 - 外国人购买本国资产,这种资产可以是直接投资或者有价证券 资本净流出 = 净出口 1.3. 储蓄和投资根据GDP公式的变形,储蓄 = 国内投资 + 资本净流出 1.4. 美国的贸易赤字 不平衡的财政政策【政府预算赤字的增加(如减税、国防支出增加等)导致】:在储蓄减少作为既定事实时,外部投资可以刺激经济 投资高涨【科技发展等导致的外部投资高涨】:如果投资带来了好的收益,则对整体经济有好处 经济衰退【经济衰退导致投资降低,政府为了刺激经济而扩大预算赤字】 总体来说,贸易赤字并不算一个问题,但是贸易赤字有时候会是其他经济问题的征兆。 2. 汇率2.1. 真实汇率与名义汇率 名义汇率:银行提供的汇兑服务的汇率 真实汇率:双方市场同一物品的价格比值 2.2. 汇率决定理论购买力平价理论:汇率由两国的物价水平比率...
经济学原理(6)宏观经济学的数据
发表于2026-05-19|经济学原理|经济学原理•宏观经济学
1. 宏观经济指标1.1. GDP指既定时间内某个国家内生产的所有物品和服务的市场价值总和。由四个部分构成: 消费 投资:资本设备、存货和建筑物等 政府消费支出和总投资 净出口 真实GDP:由名义GDP去除通胀因素后得到。 GDP并不是一个完美的指标,他对于社会福利、环境、市场外活动(如家务)、分配与不均、生产率等无法很好的衡量。但是,在衡量居民生活水平时,主观感觉存在差异且无法量化,GDP总体上仍然是一个重要指标。 1.2. 其他GDP类似指标 GNP:国民生产总值,会在GDP基础上加上本国国民在海外的生产值,并减去外籍人员在国内的生产值 NNP:国民生产净值,GNP减去折旧 个人收入:家庭和非公司制企业获得的收入 个人可支配收入:个人收入减去税收和某些非税收支出(如交通罚单) 1.3. CPICPI等于本年普通消费者购买一篮子物品与服务(一些重要的生活相关的物品与服务)的总费用与基年的总费用的比值,反映了该费用随时间变化的情况,它是衡量通货膨胀最常用的指标之一。 CPI无法处理物品替代、新增和同物品质量提升的情况,会出现一定偏差。 2. 生产与增长生产率一定程度上决定了...
经济学原理(5)微观经济学深入论题
发表于2026-05-09|经济学原理|经济学原理•微观经济学
1. 消费者选择理论1.1. 预算约束与无差异曲线 预算约束:消费者的收入构成了一条约束曲线,限制消费者的消费行为 无差异曲线:其斜率表现了用户偏好,整体曲线表现了对消费行为的影响 预算约束曲线和无差异曲线共同决定了最优选择。 1.2. 收入变动对消费的影响收入变动会导致预算约束曲线扩大或者缩小。 1.3. 价格变动对消费的影响价格变动存在两种效应,这两种效应同时作用,叠加时会导致部分变化趋势不可预测: 收入效应:价格下降会导致物品和替代品消费量均增加 替代效应:价格下降会导致物品消费量增加,替代品消费量降低 一个重要例子: 吉芬商品:如果肉和土豆同时涨价,土豆的购买量可能反而会上升。因为虽然土豆涨价了,但是在这种情况下,收入效应远大于替代效应,反而导致消费量增加 2. 不对称信息现实交易中,买卖双方所掌握的信息往往是不对称的,这会导致道德风险(如怠工)和逆向选择(如市场上充斥着劣质产品和高风险人群)。 存在以下解决方法: 发信号:拥有信息的人主动披露,如广告、文凭、高工资等 筛选:不拥有信息的人采取措施要求另一方披露,如要求入职体检、配置摄像头等设施获取信息等 政...
12…5
avatar
凌虚
空谷临风,逸世凌虚
文章
42
标签
35
分类
11
Follow Me
公告
给大家拜个早年!新年快乐!
最新文章
安卓逆向案例(4)owasp_r2pay-v0.9.apk2026-09-08
安卓逆向案例(3)owasp_UnCrackable-Level3.apk2026-09-07
安卓逆向案例(2)owasp_UnCrackable-Level2.apk2026-09-07
安卓逆向案例(1)owasp_UnCrackable-Level1.apk2026-09-07
结构体文档2026-09-01
分类
  • Windows内核11
  • Windows微信逆向1
  • 会计学1
  • 基于深度学习的图像处理4
  • 安卓逆向案例4
  • 漏洞挖掘4
  • 爬虫2
  • 环境建设5
标签
逆向 漏洞利用 宏观经济学 漏洞 安卓逆向 反逆向工程 会计学 AI 金融 Python 反爬虫 微观经济学 openVPN CA 漏洞挖掘 深度学习 TPClash 内存保护 Windows内核 人工智能 经济学原理 透明代理 PyTorch 逆向分析 前馈神经网络 签发证书 神经网络 微信逆向 卷积神经网络 CentOS 爬虫 nmcli ROP 数据集 逆向工程
归档
  • 九月 2026 7
  • 七月 2026 1
  • 五月 2026 3
  • 四月 2026 19
  • 三月 2026 7
  • 二月 2026 5
网站信息
文章数目 :
42
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2025 - 2026 By 凌虚框架 Hexo 7.3.0|主题 Butterfly 5.5.4