自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (3)
  • 收藏
  • 关注

原创 Frida进阶——libmsaoaidsec.so反调试机制绕过

摘要:本文分析了基于libmsaoaidsec.so的反调试机制及其绕过方法。该库通过动态加载时执行.init_proc和.init_array函数检测Frida的进程、端口和内存特征。研究发现反调试在JNI_OnLoad前触发,通过hook android_dlopen_ext和call_constructors函数定位检测点,并利用dlsym追踪到两个关键函数(偏移地址0x1B924和0x2701C)。最终方案使用Interceptor.replace将这两个函数替换为空操作,成功绕过了反调试机制。

2025-07-11 08:00:00 1562

原创 Frida进阶——libnesec.so反调试机制绕过

本文介绍了利用Frida工具绕过安卓安全加固库libnesec.so反调试检测的实战方法。主要步骤包括:1)通过Hook android_dlopen_ext函数监控目标库加载时机;2)Hook pthread_create函数捕获反调试线程创建;3)分析线程入口点的偏移地址,将关键反调试函数替换为空函数。文章提供了完整的Frida脚本实现,展示了如何通过早期注入、动态监控和函数替换等技术组合,有效突破libnesec.so的反调试保护机制。该方法适用于安卓应用逆向分析场景,为安全研究人员提供了实用的技术参

2025-07-10 13:41:52 829

原创 JA3指纹集成应用反爬方案介绍

摘要:JA3指纹技术通过分析TLS握手过程中的ClientHello消息特征参数(包括TLS版本、加密套件、扩展列表等),生成唯一客户端指纹,具有环境稳定性、应用特异性和版本敏感性等特点。文章详细介绍了基于JA3指纹的网络安全架构设计,包括指纹提取模块、指纹数据库和风控决策层等核心组件,并提供了Nginx和HAProxy两种实施方案的具体配置示例。该技术可以有效识别和拦截恶意爬虫流量,预计能显著降低服务器负载和带宽成本,提升数据安全和用户体验。

2025-07-10 11:47:17 1295

原创 汇编基础介绍——ARMv8指令集(五)

本文介绍了A64指令集中的关键指令,分为三部分:1.比较指令(CMN、CSEL、CSET、CSINC),通过条件判断实现寄存器操作;2.跳转与返回指令(B/BL/BR/BLR等),包括无条件/条件跳转及异常返回;3.其他重要指令(ADRP/ADR内存加载、LDXR/STXR独占访问、SVC/HVC/SMC异常处理)。重点分析了ADRP与LDR伪指令的差异:ADRP在代码效率、位置无关性方面更具优势。文章通过具体示例展示了这些指令在汇编编程中的实际应用场景和使用方法。

2025-07-03 09:00:00 873

原创 MD5消息摘要算法

本文详细介绍了MD5消息摘要算法在安卓安全中的应用及其实现过程。主要内容包括:1) MD5算法概述,作为128位哈希算法用于数据完整性校验;2) 实现步骤详解:数据填充、长度添加、缓冲区初始化、循环处理(4轮64次运算)和结果输出;3) Java编码实现,包含核心变换计算、填充处理及结果转换方法。文章通过完整代码示例展示了MD5算法从理论到实践的全过程,为安卓应用安全研究和逆向分析提供了技术参考。

2025-07-02 17:09:53 843

原创 安卓高版本HTTPS抓包:终极解决方案

本文介绍了在Android设备上安装Charles根证书以拦截HTTPS流量的方法。主要步骤包括:首先导出并重命名Charles的根证书文件;然后使用ADB将证书推送到设备,并通过超级用户权限将其移动到系统信任库中;对于官方镜像设备,可使用MoveCertificates模块简化证书安装过程;最后,针对无法直接修改/system分区的情况,提供了一种基于HTTP Toolkit和内存文件系统的高级解决方案。

2025-07-02 14:07:59 1257 1

原创 AES加密算法介绍(二)

摘要:本文研究了差分故障攻击(DFA)在AES加密算法中的应用。通过分析故障注入对密文的影响,发现AES算法中列混淆(MixColumns)操作会导致单字节故障扩散至多字节。重点探讨了在倒数第二轮列混淆前注入故障的情况,建立数学方程并利用S盒特性约束密钥候选范围。通过多次差异故障注入,可逐步缩小轮密钥候选值,最终实现密钥恢复。实验表明,理论上仅需8次故障注入即可完整恢复AES-128密钥。该方法为白盒密码分析提供了有效途径,具有实际应用价值。

2025-07-01 14:43:00 1836

原创 AES加密算法介绍(一)

AES-128加密算法分析摘要 AES-128是一种对称加密算法,采用128位密钥对16字节数据块进行加密。其核心流程包括密钥编排和明文处理两部分。密钥编排将主密钥扩展为11个轮密钥(共176字节),通过复杂变换生成。明文处理包括初始轮密钥加和10轮加密运算,每轮包含字节替换、行移位、列混淆(第9轮除外)和轮密钥加操作。研究发现,通过分析轮密钥可以逆向推导出主密钥,这对白盒加密的安全性提出了挑战。AES-192和AES-256需要更多轮密钥信息才能逆向推导主密钥。

2025-07-01 09:00:00 830

原创 Base64编码

Base64是一种常见的编码方式,将二进制数据转换为64个可打印字符(A-Z,a-z,0-9,+/),便于网络传输。其原理是用4字符表示3字节数据,不足位用"="填充。除标准Base64外,还有Base16、Base32等变种,以及URL安全的Base64url(使用"-_"替代"+/")。识别特征包括:字符集限制、长度为4的倍数、末尾可能含"="。某些应用会使用自定义编码表,需获取对应表才能正确解码。该编码广泛用于数据传输、加

2025-06-30 11:42:05 1067

原创 汇编基础介绍——ARMv8指令集(四)

本文介绍了A64指令集中的常用指令及其应用场景。主要内容包括:1.CMP比较指令的实现原理,及其与条件跳转指令的搭配使用;2.四种移位指令(LSL、LSR、ASR、ROR)的功能和区别;3.位操作指令(AND/ANDS、ORR、EOR、BIC、CLZ)的格式和使用方法;4.位段操作指令(BFI、UBFX/SBFX)的功能和应用示例。文中通过具体代码示例详细说明了各指令的工作原理,特别是CMP指令的无符号溢出判断、移位操作的差异、位操作的常见应用场景等。这些指令是理解ARM汇编语言的基础,在寄存器操作、数值比

2025-06-30 10:57:15 1114

原创 安卓端某音乐类 APP 逆向分享(四)NMDI参数分析

NMDI参数的加密分析属于云音乐逆向过程中最难的一部分,NMDI是通过一个叫caesarson的加密算法生成的。

2025-06-27 11:20:05 1541

原创 安卓端某音乐类 APP 逆向分享(三)params参数分析

本文分析了X音乐请求参数加密的实现过程。首先通过Java层代码定位到关键加密函数serialdata,发现其作为native函数实现于libpoison.so库文件中。然后通过Frida工具hook函数调用,获取输入输出参数。接着通过内存dump和修复技术处理被混淆的so文件,使用IDA Pro静态分析发现AES和MD5算法特征。通过Unidbg模拟执行和指令流分析,最终还原出加密逻辑:请求参数由路径、固定盐值、表单数据以及MD5加密的特定字符串组合而成,通过AES加密后输出。

2025-06-27 10:59:56 1813

原创 安卓端某音乐类 APP 逆向分享(二)协议分析

摘要:本文分析了某音乐平台歌曲搜索API的请求参数和加密机制,通过Charles抓包获取了一个POST请求的Curl命令。请求包含加密的params参数和复杂的Cookie信息,其中涉及多个加密字段如deviceId、MUSIC_A等。响应数据同样采用加密形式。后续工作需重点破解params参数的组成和加密方式,以及Cookie中各加密字段的生成规则和响应数据的解密方法。该API采用了多层加密机制,逆向工程难度较大。

2025-06-26 16:22:26 1847

原创 安卓端某音乐类 APP 逆向分享(一)协议抓包

摘要:协议抓包是安卓应用逆向分析的起点,通过抓包了解App与服务器间的通信内容。若存在加密字段,则需进一步逆向分析解密。许多应用采用防抓包策略如代理检测、证书校验等防止被抓包。云音乐使用路由直连策略绕过代理直接与服务端通信,导致常规抓包工具失效。可通过设置全局代理(例如使用Postern软件)来解决此问题,使数据经由Charles代理转发从而实现抓包。关键词:协议抓包、安卓逆向分析、防抓包策略、云音乐、路由直连、全局代理

2025-06-26 16:11:48 1241

原创 ELF文件格式详解

摘要: 本文深入解析ELF(Executable and Linking Format)文件格式,包括其结构、头部信息和节区/段组成。ELF文件分为可执行文件(.out)、可重定位文件(.o)和共享目标文件(.so)。从链接视角看,ELF由节区(Section)组成;从执行视角看,由段(Segment)组成。文章详细分析了ELF头部字段(如e_type、e_machine、e_entry等)的含义,并通过实例解析节区结构(如.text段),说明如何通过Python脚本读取ELF信息。

2025-06-25 10:37:28 522

原创 汇编基础介绍——ARMv8指令集(三)

摘要: 本文详细介绍了A64架构中栈操作及基本算术指令的实现原理。栈采用高地址向低地址扩展的方式,通过栈指针SP管理。A64取消了PUSH/POP指令,改用STP/LDP等显式内存操作指令实现入栈出栈,这源于寄存器数量增加(31个通用寄存器)、指令集简化优化等设计考量。文章还解析了MOV指令的立即数搬移限制,以及ADD/SUB系列指令的多种用法,包括立即数操作、寄存器扩展运算和移位操作,特别说明了ADDS/SUBS对状态标志位的影响机制,并通过具体代码示例演示了ADC/SBC等进位运算指令的执行逻辑。

2025-06-25 09:50:50 821

原创 安卓端某音乐类 APP 设备指纹(dfid)逆向分析

本文分析了某音乐App设备注册协议的加密流程。通过逆向还原,发现请求体是设备指纹参数经过AES加密生成的,其中AES的密钥和初始向量(IV)由参数p决定。参数p本身是通过RSA加密的字符串,包含随机生成的AES密钥信息。整个加密过程采用AES+RSA的组合方式:先用随机字符串生成AES密钥和IV,再对设备指纹加密;同时用RSA公钥加密随机字符串作为参数p上传。文章详细介绍了使用Frida和Unidbg工具定位加密函数、分析算法参数的过程,并验证了加密逻辑的正确性。这种双重加密机制既保证了数据安全性,又实现了

2025-06-24 15:25:55 1962

原创 汇编基础介绍——ARMv8指令集(二)

摘要:本文详细介绍了ARMv8体系结构中的A64指令集,重点分析了加载与存储指令。A64指令集是ARMv8新增的64位指令集,与32位A32指令集不兼容。文章阐述了LDR/STR指令的多种寻址模式,包括基地址模式、变基模式和PC相对寻址模式,并介绍了不同位宽数据的加载/存储方式以及多字节内存访问指令LDP/STP。此外,还说明了独占内存访问指令LDXR/STXR的同步机制。这些指令构成了ARMv8处理器内存操作的基础功能。

2025-06-24 14:44:27 883

原创 汇编基础介绍——ARMv8简介(一)

ARMv8是ARM首款支持64位的处理器架构,兼容32/64位应用。关键特性包括:64位寄存器/地址空间、31个通用寄存器、优化异常处理和内存访问指令。架构提供AArch64(64位)和AArch32(32位)双执行状态,分别对应A64和A32/T32指令集。处理器状态通过PSTATE寄存器记录,包含条件标志位和异常控制位。特殊寄存器包括零寄存器、PC指针、分层设计的SP栈指针(SP_EL0-EL3),以及保存异常现场的SPSR/ELR。系统寄存器采用"_ELx"分级命名,直接控制处理器

2025-06-20 14:21:25 831

原创 汇编基础介绍——ARMv7

本文系统介绍了ARM架构与x86架构的主要区别、ARM汇编语言基础及处理器工作模式。重点分析了ARM处理器的37个寄存器及其功能,包括通用寄存器、状态寄存器和程序计数器。详细阐述了ARM和Thumb两种指令模式的特点与切换机制,以及条件执行的实现原理。文章还深入讲解了内存访问指令、连续存取操作、栈帧结构和函数调用过程,通过大量代码示例演示了寄存器使用、分支跳转等核心概念。最后对比了不同类型的栈实现方式及其对应的操作指令。全文为理解ARM汇编程序设计提供了全面的技术参考。

2025-06-20 11:07:43 1183

原创 Cloudflare五秒盾爬虫破解方案

Cloudflare 五秒盾通过 JA3 指纹、JS 执行等检测爬虫,特征为 403 状态码及 Cloudflare 响应头。破解方案:用 curl - cffi 模拟浏览器 JA3 指纹,绕过免费版;部署 FlareSolverr 代理服务,借 Webdriver 处理 JS 验证,适配付费版;用 DrissionPage 控制浏览器访问频率,绕过多数检测;接入穿云 API 付费服务,伪装用户行为。各方案依防护等级和需求选,核心是模拟浏览器行为、处理 JS 挑战并控制爬取频率。

2025-06-19 14:28:56 3128

原创 JA3指纹介绍

摘要:在网络爬虫与反爬虫的对抗中,传统的User-Agent伪装已失效。研究发现,Python的requests库访问百度时被拦截,而curl工具却能成功,核心差异在于SSL/TLS指纹。JA3指纹基于TLS握手特征生成,具有环境稳定性,能识别特定客户端。常见绕过方法包括使用curl-impersonate模拟浏览器指纹,或修改客户端工具源码。该技术被广泛应用于反爬虫、恶意软件追踪等领域,相关检测工具和学术资源为技术对抗提供了参考。

2025-06-19 11:26:26 710

原创 Frida基础入门

Frida是一款强大的动态代码插桩工具,支持在运行时修改和监控应用程序行为,适用于安全分析、逆向工程和自动化测试。本文详细介绍了Frida的安装配置、常用API及基础使用场景,包括Java层和Native层的Hook技术、内存操作、远程调用等核心功能。通过具体代码示例展示了如何Hook函数、修改变量、打印调用栈、加载Dex文件等实用技巧,为移动安全和逆向分析提供了系统的技术参考。

2025-06-18 17:49:09 1163

原创 爬虫技术介绍

爬虫技术介绍,涵盖Web端以及App端相关的爬虫技术,比如信息校验反爬、文本混淆反爬、js混淆反爬、JA3指纹反爬、云防护反爬等。

2025-06-18 17:11:56 2854

C++面试精选100题

这里精选了一些很不错的编程题目,可能会有一定的难度。

2014-01-02

几种常用解决jsp中文乱码的方案

中文乱码是jsp动态网站开发中经常遇到的问题,该文从产生jsp中文乱码的范例消除乱码的具体方案,具有实用性和易操作性。

2013-05-09

c++编程实例

这份资料里面是一些c++开发的实例,希望会对大家的学习有用。

2013-09-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除