<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[hhtt19820919的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/hhtt19820919</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hhtt19820919]]></copyright><item><title><![CDATA[逆向防风控新技术EBP]]></title><link>https://blog.youkuaiyun.com/hhtt19820919/article/details/155096348</link><guid>https://blog.youkuaiyun.com/hhtt19820919/article/details/155096348</guid><author>hhtt19820919</author><pubDate>Fri, 21 Nov 2025 10:31:28 +0800</pubDate><description><![CDATA[eBPF是一种运行在Linux内核中的可编程虚拟机机制，最初用于网络数据包过滤，现已扩展到系统监控、性能分析等领域。其核心特点是无需修改内核即可安全执行用户态程序，并能挂载到多种系统事件上进行实时监控。虽然并非专为逆向工程设计，但在动态行为分析、反调试检测、无侵入跟踪等方面非常有用，可配合传统逆向工具获取程序运行时上下文。示例展示了如何用eBPF跟踪execve系统调用，监控进程启动行为。eBPF不能替代传统逆向工具，但可作为Linux环境下动态分析的有效补充手段。]]></description><category></category></item><item><title><![CDATA[安卓逆向与灰产防御总结]]></title><link>https://blog.youkuaiyun.com/hhtt19820919/article/details/155077081</link><guid>https://blog.youkuaiyun.com/hhtt19820919/article/details/155077081</guid><author>hhtt19820919</author><pubDate>Fri, 21 Nov 2025 07:30:00 +0800</pubDate><description><![CDATA[安卓逆向技术与灰色产业密切关联，常被用于非法牟利。典型应用包括破解付费应用、开发自动化黑产工具、窃取敏感数据以及制作钓鱼软件。尽管逆向技术本身中立，但未经授权用于牟利可能触犯《刑法》和《网络安全法》。开发者需采取代码混淆、反调试、加固等措施加强防护。法律明确禁止以牟利为目的的逆向行为，相关操作面临严重法律风险。]]></description><category></category></item><item><title><![CDATA[如何将带图像的word导出为md]]></title><link>https://blog.youkuaiyun.com/hhtt19820919/article/details/155076732</link><guid>https://blog.youkuaiyun.com/hhtt19820919/article/details/155076732</guid><author>hhtt19820919</author><pubDate>Thu, 20 Nov 2025 21:50:51 +0800</pubDate><description><![CDATA[将Word文档(.docx)转换为Markdown(.md)格式的三种方法：1)使用Pandoc工具，支持图片提取并自动生成相对路径引用；2)通过Python脚本调用Pandoc接口实现转换；3)使用在线转换工具(需注意隐私风险)。推荐使用Pandoc，能保留图片且跨平台，但复杂格式可能无法完美转换。]]></description><category></category></item><item><title><![CDATA[逆向教程 ARM64寄存器详解]]></title><link>https://blog.youkuaiyun.com/hhtt19820919/article/details/153829570</link><guid>https://blog.youkuaiyun.com/hhtt19820919/article/details/153829570</guid><author>hhtt19820919</author><pubDate>Fri, 24 Oct 2025 15:07:07 +0800</pubDate><description><![CDATA[ARM64（AArch64）的寄存器模型包括31个64位通用寄存器（X0-X30）、特殊寄存器（SP、PC等）和32个128位向量寄存器（V0-V31）。通用寄存器中，X0-X7用于参数传递，X29/X30分别作为帧指针和链接寄存器。向量寄存器支持不同位宽访问（B/H/S/D/V），用于SIMD和浮点运算。调用约定（AAPCS64）规定整型参数通过X0-X7传递，浮点参数通过V0-V7传递，返回值使用X0或V0。栈需16字节对齐，特殊寄存器如SP和PC有特定访问限制。]]></description><category></category></item><item><title><![CDATA[逆向教程 unity浮点数修改]]></title><link>https://blog.youkuaiyun.com/hhtt19820919/article/details/153828992</link><guid>https://blog.youkuaiyun.com/hhtt19820919/article/details/153828992</guid><author>hhtt19820919</author><pubDate>Fri, 24 Oct 2025 14:53:15 +0800</pubDate><description><![CDATA[Unity游戏数据修改技术分析 本文演示了如何通过修改堆栈数据而非源代码来改变Unity游戏逻辑。以一个简单的加法函数为例，原始功能是计算两个输入框数值的和(result=num1+num2)。通过分析汇编代码，发现关键指令是在0xA170B0处的FADD指令执行浮点加法。要修改为result=num1+myNum，可以在内存中定位并修改该指令的操作数，将S1寄存器(存储num2)替换为自定义的myNum值。这种技术适用于无法直接修改源代码的情况，通过操纵运行时堆栈和寄存器数据实现逻辑变更。]]></description><category></category></item><item><title><![CDATA[frida教程 frida防检测方法]]></title><link>https://blog.youkuaiyun.com/hhtt19820919/article/details/153476265</link><guid>https://blog.youkuaiyun.com/hhtt19820919/article/details/153476265</guid><author>hhtt19820919</author><pubDate>Fri, 17 Oct 2025 19:07:47 +0800</pubDate><description><![CDATA[摘要：通过修改frida-server默认端口可规避基于端口的frida检测。具体步骤包括：1)在目标设备启动frida-server并指定自定义端口；2)在本地主机通过-H参数或环境变量配置远程连接；3)使用frida-ps验证连接。需注意安全风险，建议仅在可信内网使用或通过SSH隧道转发端口，避免公网直接暴露frida-server服务。（150字）]]></description><category></category></item><item><title><![CDATA[逆向教程 android natives初始化优先级]]></title><link>https://blog.youkuaiyun.com/hhtt19820919/article/details/153476234</link><guid>https://blog.youkuaiyun.com/hhtt19820919/article/details/153476234</guid><author>hhtt19820919</author><pubDate>Fri, 17 Oct 2025 19:03:23 +0800</pubDate><description><![CDATA[在Android Native开发中，初始化机制的执行优先级为：1) __attribute__((constructor))函数（最高）→ 2) 已废弃的_init()函数 → 3) JNI_OnLoad()函数（最低）。现代Android系统中，__attribute__((constructor))会在so加载后最先执行，而_init()通常不会被执行。JNI_OnLoad在Java加载库后被调用。建议优先使用__attribute__((constructor))进行早期初始化，用JNI_OnLoa]]></description><category></category></item><item><title><![CDATA[反编译教程 java 反射与反编译]]></title><link>https://blog.youkuaiyun.com/hhtt19820919/article/details/153273205</link><guid>https://blog.youkuaiyun.com/hhtt19820919/article/details/153273205</guid><author>hhtt19820919</author><pubDate>Tue, 14 Oct 2025 20:04:11 +0800</pubDate><description><![CDATA[Java和是两个完全不同的概念，但它们在 Android 安全、逆向工程和代码保护中经常被一起讨论。下面分别解释它们的含义、关系以及在实际中的作用。]]></description><category></category></item><item><title><![CDATA[反编译教程 java动态加载与反编译]]></title><link>https://blog.youkuaiyun.com/hhtt19820919/article/details/153273174</link><guid>https://blog.youkuaiyun.com/hhtt19820919/article/details/153273174</guid><author>hhtt19820919</author><pubDate>Tue, 14 Oct 2025 20:03:05 +0800</pubDate><description><![CDATA[动态加载DEX文件分析：通过加密assets中的DEX文件，运行时解密并加载到内存，提高反编译难度。代码首先从assets读取加密的xiaojianbang.dex，解密后写入应用私有目录，再通过DexClassLoader动态加载。为增强隐蔽性，加载完成后立即删除临时DEX文件。这种技术常用于加固保护，核心在于运行时解密和内存加载，防止静态分析提取原始代码。]]></description><category></category></item><item><title><![CDATA[Unity 游戏安全与 IL2CPP 逆向分析(二)]]></title><link>https://blog.youkuaiyun.com/hhtt19820919/article/details/153135540</link><guid>https://blog.youkuaiyun.com/hhtt19820919/article/details/153135540</guid><author>hhtt19820919</author><pubDate>Sun, 12 Oct 2025 20:12:37 +0800</pubDate><description><![CDATA[《IL2CPP逆向分析与Il2CppDumper使用指南》摘要： 本文介绍了Unity游戏IL2CPP脚本后端的逆向分析方法。IL2CPP会将托管代码编译为C++并打包进原生库，导致直接逆向困难。通过使用开源工具Il2CppDumper，结合global-metadata.dat和libil2cpp.so文件，可以恢复原始类型信息并生成可读DLL。文章详细解析了工具的工作流程和源码结构，包括加载文件、解析二进制、重建元数据和生成输出等步骤。同时提供了具体使用步骤和常见问题解决方案，如处理加密的metadat]]></description><category></category></item><item><title><![CDATA[Unity 游戏安全与 IL2CPP 逆向分析(一)]]></title><link>https://blog.youkuaiyun.com/hhtt19820919/article/details/153114306</link><guid>https://blog.youkuaiyun.com/hhtt19820919/article/details/153114306</guid><author>hhtt19820919</author><pubDate>Sun, 12 Oct 2025 12:27:52 +0800</pubDate><description><![CDATA[摘要：Unity3D游戏开发中，IL2CPP逐渐取代Mono成为主流编译方案，以提高代码安全性。IL2CPP将C#代码转换为C++并编译为原生库（libil2cpp.so），相比Mono的直接IL代码更难以反编译。但未加密的global-metadata.dat仍可能被逆向工具还原类型结构。文章分析了Unity项目结构、IL2CPP的工作原理及其安全性特点，指出其防护效果依赖元数据加密、代码混淆等安全措施。（149字）]]></description><category></category></item><item><title><![CDATA[逆向教程 寄存器详解]]></title><link>https://blog.youkuaiyun.com/hhtt19820919/article/details/152834301</link><guid>https://blog.youkuaiyun.com/hhtt19820919/article/details/152834301</guid><author>hhtt19820919</author><pubDate>Thu, 09 Oct 2025 22:03:03 +0800</pubDate><description><![CDATA[通用寄存器是CPU中用于临时存储数据、地址或中间结果的高速存储单元，具有用途广、访问快的特点。不同架构的寄存器数量和名称不同，如x86-64有RAX、RBX等16个64位寄存器，ARM64有X0-X30等31个寄存器。通用寄存器可用于算术运算、参数传递、保存返回值和中间结果等操作，能显著提升运算效率。受限于CPU设计，寄存器数量通常较少，但通过灵活使用可优化程序性能。]]></description><category></category></item><item><title><![CDATA[逆向教程 堆栈详解]]></title><link>https://blog.youkuaiyun.com/hhtt19820919/article/details/152833103</link><guid>https://blog.youkuaiyun.com/hhtt19820919/article/details/152833103</guid><author>hhtt19820919</author><pubDate>Thu, 09 Oct 2025 21:53:52 +0800</pubDate><description><![CDATA[主流架构（ARM/x86/x86-64）的堆栈（stack）默认从高地址向低地址生长，压栈（push）使栈指针减小，弹栈（pop）使其增大。这是由操作系统和ABI约定的通用规范，而非CPU强制要求。内存布局中，栈位于高地址区向下扩展，堆位于低地址区向上增长，两者相向而行。这种设计被Linux、Windows等主流系统广泛采用，但在特殊场景中可能存在例外。]]></description><category></category></item><item><title><![CDATA[逆向教程 绕过frida反调试]]></title><link>https://blog.youkuaiyun.com/hhtt19820919/article/details/152600705</link><guid>https://blog.youkuaiyun.com/hhtt19820919/article/details/152600705</guid><author>hhtt19820919</author><pubDate>Mon, 06 Oct 2025 11:25:26 +0800</pubDate><description><![CDATA[本文介绍了一种通过魔改Frida（Rusda版本）绕过应用反调试的方法。主要内容包括：1）使用魔改版Frida彻底移除特征字符串；2）手机端配置（CPU架构检测、服务端部署）；3）PC端环境配置（版本匹配检查）；4）连接设备并执行Hook脚本的完整流程。关键点在于使用Rusda的预编译版本或自行编译，确保与本地Frida版本严格匹配，并通过自定义脚本拦截目标应用的检测逻辑。该方法避免了传统字符串Hook的繁琐，提供了一种更彻底的解决方案。]]></description><category></category></item><item><title><![CDATA[逆向教程 RPC协议介绍和使]]></title><link>https://blog.youkuaiyun.com/hhtt19820919/article/details/152600680</link><guid>https://blog.youkuaiyun.com/hhtt19820919/article/details/152600680</guid><author>hhtt19820919</author><pubDate>Mon, 06 Oct 2025 11:24:19 +0800</pubDate><description><![CDATA[摘要：在安卓逆向工程中，Hook dlopen 是关键操作，用于监控和修改动态库（.so文件）的加载过程。通过拦截dlopen，可实现动态库加载监控、关键函数注入、反调试绕过等功能。常见技术包括LD_PRELOAD、Inline Hook及Frida等工具。应用场景包括分析加密算法、绕过保护机制和动态注入功能。但需注意兼容性、反检测措施及法律合规性。该技术为深入分析和修改应用行为提供了强大支持。（150字）]]></description><category></category></item><item><title><![CDATA[安卓逆向为什么需要hook dlopen]]></title><link>https://blog.youkuaiyun.com/hhtt19820919/article/details/152449348</link><guid>https://blog.youkuaiyun.com/hhtt19820919/article/details/152449348</guid><author>hhtt19820919</author><pubDate>Fri, 03 Oct 2025 11:51:37 +0800</pubDate><description><![CDATA[摘要：在安卓逆向工程中，Hook dlopen 是关键操作，用于监控和修改动态库（.so文件）的加载过程。通过拦截dlopen，可实现动态库加载监控、关键函数注入、反调试绕过等功能。常见技术包括LD_PRELOAD、Inline Hook及Frida等工具。应用场景包括分析加密算法、绕过保护机制和动态注入功能。但需注意兼容性、反检测措施及法律合规性。该技术为深入分析和修改应用行为提供了强大支持。（150字）]]></description><category></category></item><item><title><![CDATA[安卓反编译与保护机制分析]]></title><link>https://blog.youkuaiyun.com/hhtt19820919/article/details/152449300</link><guid>https://blog.youkuaiyun.com/hhtt19820919/article/details/152449300</guid><author>hhtt19820919</author><pubDate>Fri, 03 Oct 2025 11:47:10 +0800</pubDate><description><![CDATA[安卓应用安全防护与反编译技术分析摘要： 本文系统分析了Android应用反编译原理与安全保护机制。APK文件由classes.dex、resources.arsc等核心组件构成，可通过解压、dex2jar/JADX反编译工具链进行逆向分析。应对措施包括代码混淆(ProGuard/R8)、字符串加密、反调试检测(/proc/self/status检查)、完整性校验(签名验证/SHA-256校验)等多层防护。特别提出Native层反调试(ptrace)和运行时动态解密等高级技术方案，以及模拟器检测(Build.]]></description><category></category></item><item><title><![CDATA[下载早期app版本的办法]]></title><link>https://blog.youkuaiyun.com/hhtt19820919/article/details/152360734</link><guid>https://blog.youkuaiyun.com/hhtt19820919/article/details/152360734</guid><author>hhtt19820919</author><pubDate>Wed, 01 Oct 2025 10:41:39 +0800</pubDate><description><![CDATA[如何安全下载APP旧版本？安卓用户推荐使用APKMirror、APKPure等可信第三方网站，注意核对签名和包名。iOS用户可通过&quot;已购项目&quot;下载兼容版本，或使用旧版iTunes获取IPA文件。技术用户可用ADB备份或GitHub开源项目。关键提示：优先选择官方渠道，安装前扫描文件，关闭自动更新以防覆盖。不同平台方法不同，但安全验证必不可少。]]></description><category></category></item><item><title><![CDATA[爬虫与 Frida 搭配]]></title><link>https://blog.youkuaiyun.com/hhtt19820919/article/details/152360628</link><guid>https://blog.youkuaiyun.com/hhtt19820919/article/details/152360628</guid><author>hhtt19820919</author><pubDate>Wed, 01 Oct 2025 10:38:16 +0800</pubDate><description><![CDATA[摘要：Frida与爬虫结合可解决现代Web/App的反爬难题，如JS加密、接口签名、混淆代码等。Frida通过动态Hook关键函数获取运行时数据（如签名参数、加密token），帮助爬虫构造合法请求。典型场景包括：绕过JS加密、逆向App接口、对抗反调试检测、自动化登录维持会话、分析动态协议（如WebSocket）。该方案特别适用于传统爬虫无法直接获取数据的高防护场景，通过动态注入和函数拦截实现稳定数据采集。]]></description><category></category></item><item><title><![CDATA[逆向教程 ARM汇编基础]]></title><link>https://blog.youkuaiyun.com/hhtt19820919/article/details/152332190</link><guid>https://blog.youkuaiyun.com/hhtt19820919/article/details/152332190</guid><author>hhtt19820919</author><pubDate>Tue, 30 Sep 2025 18:28:16 +0800</pubDate><description><![CDATA[本文简要介绍了ARM汇编中的函数调用约定，重点对比了ARM32和ARM64架构下的返回值寄存器使用规则。在ARM32中，整数通过R0返回，而ARM64使用X0。文章通过一个加法函数的汇编实现示例（使用w0/w1寄存器传参，w0返回值），演示了ARM64汇编的编写和调用方法，并提供了编译运行指南。最后通过对比表格总结了x86-64、ARM32和ARM64三种架构的调用约定差异，指出ARM调用约定规整的特点：前几个参数用寄存器传递，多余参数压栈，浮点参数使用专用寄存器。]]></description><category></category></item></channel></rss>