LE 新版手游助手分析文档(QuickAssistant 2.0.1.1)一、目标软件与研究背景软件信息项目内容名称QuickAssistant 2.0.1.1类型Android 实时投屏 / 控制工具(Qt 程序,USB / libusb / 驱动)GitHubbarry-ran/QuickAssistant本次分析 已取得原作者明确授权,仅用于学习、研究与技术交流,不涉及任何商业用途,也不会提供或传播可执行程序、补丁或破解成品。研究目的分析异常退出、蓝屏、反调试行为理解用户态 (R3) 与内核态 (R0) 交互、驱动检测、反分析机制对比原版 QtScrcpy / LE 助手,定位二次开发新增逻辑
项目概述对一款商业化Android投屏工具(QuickAssistant 2.0.1.1)进行了完整的逆向工程分析,该软件集成了多层安全验证机制,包括时间授权、反调试、硬件指纹和驱动级保护。软件展示:分析之后:
无需登录正常使用所有功能技术挑战多层防护体系:应用层、系统API层、内核驱动层协同防护动态检测机制:运行时环境监控与异常行为检测复杂验证逻辑:时间授权、硬件绑定、调试环境的多维验证反分析技术:多种反调试、反逆向技术的组合应用关键技术分析验证机制架构分析识别并分析了基于Qt框架的时间授权验证系统解析了用户态-内核态通信模型(DeviceIoControl/Nt API)揭示了硬件指纹采集与验证的完整流程安全防护技术研究Windows NT Native API在安全防护中的应用(NtSetInformationThread等)多线程环境下的实时监控与检测机制异常处理链的干扰与保护技术系统级交互分析驱动通信协议与IOCTL控制码解析进程间通信(管道/共享内存)的安全实现系统服务调用的监控与拦截点分析分析方法与工具链静态分析:IDA Pro二进制分析,PE结构解析动态调试:x64dbg/Cheat Engine运行时分析系统监控:Process Monitor/API Monitor系统调用跟踪技术成果完整的安全架构图:绘制了从应用层到驱动层的防护体系关键技术实现文档:详细记录了各验证点的实现原理分析方法论总结:形成了针对多层防护软件的分析流程
能力体现逆向工程能力:复杂商业软件的完整逆向分析系统安全理解:Windows安全机制的深度掌握架构分析能力:多层安全防护体系的分析与理解问题解决能力:系统性分析方法的建立与应用技术栈应用Windows系统编程(NT API、驱动通信)二进制逆向分析(x86/x64汇编、PE格式)调试技术(用户态/内核态调试)安全机制(反调试、代码保护、验证体系)
二、初期现象总结(问题导向)1️⃣ 调试异常与蓝屏在调试状态下,程序可能导致 蓝屏蓝屏触发点:检测常用调试器模块R3 ↔ R0 驱动交互执行特权相关操作 → 系统崩溃判断:属于刻意的反调试/反分析逻辑2️⃣ 程序行为异常即使绕过调试:程序能运行一段时间后续无提示退出调用链发现:ntdll!NtTerminateProcesskernel32!ExitProcess结论:逻辑自杀 / 条件退出,而非崩溃三、静态分析(IDA Pro)1️⃣ 导入表与关键 API关键 API:DeviceIoControlNtSetInformationThreadNtCreateFileNtDeviceIoControlFileFindWindow说明:用户态 → 驱动通信能力系统级反调试能力2️⃣ 反调试 API / 字符串反调试APINtSetInformationThread → ThreadHideFromDebugger
关键字符串示例:"noUsbDebugMode"
API 检测:IsDebuggerPresentCheckRemoteDebuggerPresentNtQueryInformationProcess(ProcessDebugPort / ProcessDebugFlags / ProcessDebugObjectHandle)窗口级:FindWindow("OLLYDBG")、WinDbgFrameClass
进程枚举:CreateToolhelp32Snapshot → 枚举 x64dbg、IDA、CheatEngine 等
CPU / 寄存器检测:GetThreadContext → Dr0–Dr3、Dr6、Dr7
异常干扰:EXCEPTION_SINGLE_STEP内存不可执行(NX)人为制造 0xC00000053️⃣ 驱动 / 设备交互线索关键设备 / 管道:\\.\pipe\libwdi-installer\\.\pipe\crashpad_%lu_\\.\libusb0-%04u
说明:libusb、USB 枚举、Crashpad 日志收集自定义驱动或安装器存在NtDeviceIoControlFile 调用:检测异常来源 → 驱动层非当前突破口四、运行时与线程分析1️⃣ 用户态线程主线程:ntdll!RtlUserThreadStartkernel32!BaseThreadInitThunkntdll!KiUserExceptionDispatcher异常类型:EXCEPTION_SINGLE_STEPEXCEPTION_ACCESS_VIOLATIONNX 执行异常说明:程序主动制造异常干扰调试器2️⃣ Qt 生命周期Qt 主循环:QApplication::exec()布局字符串:QLayout: Attempting to add QLayout "%ls"说明:反调逻辑嵌入 Qt 程序生命周期五、动态行为分析(火绒剑观察)程序后台启动 WMIC.exe用途:收集硬件信息查询注册表 / WMI生成环境指纹效果:驱动不存在 / 调试被发现 → 程序自杀 (ExitProcess)判断:WMIC 是二次开发新增环节# WMIC可能收集的信息类型
WMIC_QUERIES = {
"bios": "wmic bios get SerialNumber", # BIOS序列号
"baseboard": "wmic baseboard get Product,SerialNumber", # 主板信息
"cpu": "wmic cpu get ProcessorId", # CPU ID
"diskdrive": "wmic diskdrive get SerialNumber", # 硬盘序列号
"os": "wmic os get SerialNumber", # Windows序列号
"nic": "wmic nic get MACAddress", # 网卡MAC
"computersystem": "wmic computersystem get UUID" # 系统UUID
# 这些信息组合生成硬件指纹,用于授权绑定六、对比分析原版 QtScrcpy 与 LE 助手对比:Qt 主流程一致新增反调逻辑 / WMIC / 驱动交互为二次开发新增字符串冲突:"This software
...(已截断)
---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-290549.htm
[原创]新手向|LE手游助手 手工逆向分析:反调试机制与关键检测点解析
66 浏览
4 回复
DD
三颗柚
DD
DD
刘宝
需要请教个问题 有偿 可以给个联系方式吗
需要请教个问题 有偿 可以给个联系方式吗
三颗柚
需要请教个问题 有偿 可以给个联系方式吗
2830258322,我也是个新手
需要请教个问题 有偿 可以给个联系方式吗
2830258322,我也是个新手