- 博客(126)
- 收藏
- 关注
原创 DLL 到底从哪来?——一次把 Windows 加载器扒到底
Windows 的加载器就像老北京的胡同串子:看似杂乱无章,实则暗号遍地。记住今天这张“12 连击”顺序表,下次再遇到“为啥我本地跑得好好的,到客户那就炸?”——你就能嘴角一勾,淡淡一句:“搜素路径不同,依赖被劫持了。技术人,不解释,就是稳。
2025-12-15 09:50:38
579
原创 Python MMDetection 工具包详解及安全防护策略
Python的MMDetection(简称mmdet)是一款基于PyTorch的开源目标检测工具库,专注于AI目标检测模型的训练与推理任务,为开发者提供了丰富的算法支持和便捷的使用接口。
2025-12-12 09:34:47
175
原创 XCFramework 全景小抄:从多架构打包到安全加固的极简路线
iOS、macOS、tvOS、watchOS,再加上 arm64、x86_64、armv7k 等各路架构,全部塞进一个文件夹,Xcode 自动按需取用,再也不用手动 lipo 来 lipo 去。传统 Framework 一个包只能侍候一个平台,XCFramework 直接“全家桶”——真机、模拟器、Mac、手表全带上,谁用谁省心。XCFramework 让“写一次、跑多端”成为日常,但上线前记得先给 Mach-O 穿好护甲,别让辛苦写的代码变成别人的“免费教材”。扔进 Xcode →。
2025-12-11 15:13:46
448
原创 Linux跨进程内存操作的3种方法及防护方案
做调试器?用ptrace做监控采集?用/proc/mem做游戏注入?用process_vm_xxx从攻防角度看,没有绝对安全的系统。了解攻击原理,针对性加固,把攻击成本抬高到不划算,就是胜利。
2025-12-08 11:06:48
832
原创 搞懂数字签名与证书
在之前的文章中,我们介绍了什么是对称加密什么是非对称加密,同时我们在文章中我们留下了一个疑问,那就是如何确认公钥和数据就是对方的而不是伪造的,今天这篇文章我们就聊聊相关的技术,签名与证书,非常有用,注意听讲哈。
2025-12-01 13:11:28
444
原创 fody插件在.NET Core程序中的应用
Fody 是一个强大的 .NET 编译器扩展工具,它的核心能力是在代码编译过程中,直接修改生成的 IL(中间语言),这表示可以在不直接修改源代码的情况下,为程序集添加新的功能或逻辑。在 .NET Core 项目中,若想将引用的 DLL 嵌入到主程序集中,从而减少最终发布时的文件数量,因此,我们建议直接主输出的程序(比如dll)进行保护,然后加壳时选择资源加密来保护内嵌的dll文件。引用的 DLL通过Fody插件嵌入进主输出的程序(比如dll)内,就是作为dll的资源存在的。这个包通常会同时安装其依赖的。
2025-11-28 14:42:34
404
原创 二进制漏洞扫描技术一览
二进制漏洞扫描技术已经发展成为一个多技术融合的完整体系。有效的漏洞扫描需要采用分层递进的策略:从静态分析的全面筛查,到动态分析的精确验证,再到混合分析的深度探索。每个技术方法都有其独特的价值和应用场景。在实际应用中,需要根据目标程序的特性选择合适的工具和方法。静态分析适用于早期筛查和全面评估,动态分析擅长发现运行时特定的问题,混合分析则适用于复杂场景的深度测试。建立标准化的流程和持续监控机制是确保长期安全的关键。随着技术的不断发展,二进制漏洞扫描正在向更智能、更自动化的方向演进。
2025-11-27 17:42:34
440
原创 so库打包成Linux安装包
在Linux系统上,作为动态库文件的so文件的应用是非常广泛的,在有些场景下so库是需要打包为安装包来进行使用的,例如开发了一个so库进行分发时,就需要将so库打包成安装包释放到系统的指定路径下进行集成分发,这里介绍一下将so库打包为Linux系统的安装包的流程。
2025-11-26 10:46:07
375
原创 搞懂对称加密与非对称加密
在数字时代、数据就像钱一样金贵,甚至有时候比钱还要宝贵。无论是企业做系统开发,还是个人用各种APP,背后总有一堆加密算法在默默撑场子。今天我们就来聊聊什么是对称加密,什么是非对称加密。
2025-11-20 10:59:46
326
原创 AI模型数据安全:别让“聪明的大脑”变成安全黑洞
这几年大家都在搞AI,模型越来越大、算力越来越猛,效果也越来越好。不过越是这样,越容易让大家忽略一个问题:安全!你花费大价钱训练出来的模型,可不想被别人白嫖、逆向、偷走权重,更不想在客户现场被人轻轻松松dump出来吧所以今天就来说说:AI模型的数据安全,到底应该怎么做。
2025-11-19 10:10:32
285
原创 IoT固件安全分析实战
逆向者面对的是全新指令体系,无法直接定位设备注册、密钥交换等核心逻辑,必须先完整分析虚拟机架构,这一过程的复杂度远超传统逆向。固件(Firmware)是一种特殊的软件程序,它被永久或半永久地存储在硬件设备的只读存储器(ROM)、闪存(Flash Memory)或其他非易失性存储器中。为确认分析结果,使用QEMU启动MIPS虚拟机,加载提取的文件系统并运行后门程序,配合Wireshark抓包验证。提取后的核心文件通常为ARM、MIPS、PowerPC、x86等架构的二进制程序或脚本,需结合逆向工具深入分析。
2025-11-18 10:16:16
755
原创 麒麟系统第三方二进制组件签名完全指南
在国产化迁移过程中,开发者常遭遇此类问题:基于Electron/Python/Node.js等框架开发的应用,在引入私编译的.so.node或原生扩展模块后,于银河麒麟系统上启动失败,报错或。此类现象在政府、军工、金融等高安全等级场景中尤为常见。
2025-11-17 11:40:49
640
原创 鸿蒙应用构建体系深度解析:ABC、HAP、HAR、HSP与APP的技术全貌
ABC(Ark Bytecode,方舟字节码)是鸿蒙生态中 ArkTS/TS/JS 源代码经过方舟编译器转换后的二进制中间产物,采用.abc作为文件后缀。该文件是应用逻辑的完整二进制表达,涵盖了所有类定义、方法实现、字段布局、调试元数据、字符串常量池及字面量信息。对鸿蒙应用的逆向分析工作均围绕 ABC 文件展开——系统内置的ark_disasm反汇编器与社区开源的反编译工具均以 ABC 文件为直接输入,解析并还原应用实现细节。由于未经保护的 ABC 文件存在极高的逆向风险,核心算法与业务逻辑极易暴露。
2025-11-14 09:53:13
689
原创 Magisk技术原理与安全实践
去年某头部金融科技APK漏洞悬赏计划中,超过30%的安全报告指向ROOT环境下的动态攻击。作为移动安全研究员,我花了两周时间复现了当下主流的ROOT规避手段,发现90%的防御方对Magisk的技术特性存在认知盲区。这篇内容不聊刷机教程,只讲底层逻辑和攻防博弈。Magisk的攻防已经演变为一场关于启动链信任的博弈。个人用户需要明白,ROOT不是技术炫耀的工具,而是精确到单个进程控制的工程手段。企业开发者则要接受现实:在硬件级安全体系普及的2024年,依赖ROOT检测的业务模型需要重新设计。
2025-11-12 11:33:31
455
原创 聊聊AIoT开发效率与安全:从ARMINO IDK框架说起
ARMINO IDK的价值,在于把重复造轮子的时间省下来,让开发者聚焦功能创新。而安全这块,抓中间库保护这个点,比后期补漏洞更省力。适合智能家居、便携设备这类对开发效率和安全性都有要求的场景,感兴趣的可以动手试试。
2025-11-05 10:41:09
402
原创 安卓二次打包技术深度拆解:从逆向篡改到防护逻辑
在移动安全领域,二次打包始终是绕不开的技术议题。作为逆向工程中最常见的攻击手段,它既考验开发者的防护能力,也折射出Android应用签名机制的底层逻辑。今天我们从技术实操角度,拆解二次打包的完整链路,同时聊聊如何构建有效的防护体系。
2025-11-04 10:39:43
1049
原创 软件授权安全:破解与防护的永恒博弈
软件授权和安全是开发者不容忽视的重要问题。通过使用加壳工具和专业的安全服务,开发者可以有效防止软件被破解和秘钥泄露,保护自己的知识产权和商业利益。在数字化时代,只有确保软件的安全性,才能赢得用户的信任和市场的认可。希望本文能为广大开发者提供一些实用的参考,帮助大家构建更加安全的软件环境。如果你对软件安全有任何疑问,欢迎随时咨询北京深盾科技股份有限公司的专业客服,他们将为你提供最合适的保护方案。
2025-11-03 11:54:46
688
原创 Rust 错误处理指南
底层错误(如)往往太笼统,直接暴露给上层调用者会很麻烦。好的做法是定义业务相关的错误类型,用thiserror#[error("读文件失败({path}):{source}")]Io {#[from]source: std::io::Error, // 自动转换底层错误path: String, // 附加上下文信息},#[error("配置解析错了:{msg}")]#[error("网络超时了,等了{duration:?}")]
2025-10-31 09:56:50
284
原创 AI模型介绍
AI模型是人工智能(AI)系统中的核心组件,是一个经过大量数据训练后,能够识别模式、做出预测或自主决策的文件或程序。它本质上是由数学算法和数据训练出来的 “智能工具”,通过算法和数据来模拟人类的决策过程或执行特定任务。训练过程就是不断地调整算法中的参数,使得模型的输出结果越来越接近我们期望的正确答案。
2025-10-30 10:13:49
456
原创 Windows 11 24H2内核堆栈保护:系统安全新盾牌
Windows 11 24H2版本中的“内核模式硬件强制堆栈保护”功能,为系统安全提供了强大的保障。它通过先进的控制流强制技术,有效防范了内核堆栈免受基于返回地址的攻击。用户在遇到问题时可以通过进入安全模式来解决。开启该功能的步骤简单明了,只要满足硬件和系统要求,就可以轻松完成设置。此外,结合使用高强度的加壳工具,如Virbox Protector,可以为应用程序提供全方位的保护,让恶意攻击者无从下手。
2025-10-23 13:42:34
915
原创 数据库加密的真相:SQLCipher的深度应用与代码保护策略
在当今数字化世界中,数据库安全是每个开发者必须面对的严峻挑战。从个人隐私到企业机密,大量敏感信息都存储在数据库中。然而,传统的数据库保护方法往往存在漏洞,攻击者可以通过各种手段获取数据库文件并解密其中的数据。今天,我们将深入探讨如何通过SQLCipher和代码保护技术,构建坚不可摧的数据库安全防线。
2025-10-21 09:17:31
387
原创 鸿蒙HAP文件数字签名提取与解析
HAP文件的数字签名机制将结构化数据与传统加密技术相结合,实现了高效、安全、可扩展的应用认证体系。通过字符串模式定位、JSON数据解析与X509证书解析,系统能够快速提取签名信息,并准确还原开发者身份与证书属性。然而,数字签名主要用于验证应用来源与完整性,对于防止逆向分析、内存篡改、调试注入等运行时威胁,仍需要更深入的安全防护措施。在这方面,Virbox Protector提供了更全面的解决思路。它通过指令级混淆、代码虚拟化、反调试与完整性检测等技术,为应用构建多层防线。
2025-10-17 09:42:33
399
原创 .NET Avalonia:跨平台开发的利器与安全防护全攻略
NET Avalonia是一个强大的跨平台UI框架,它为开发者提供了高效的开发体验和良好的用户体验。无论你是开发桌面应用、移动应用,还是嵌入式设备UI,.NET Avalonia都能满足你的需求。同时,通过使用工具,你还可以有效地保护你的.NET程序的安全性。如果你正在寻找一个跨平台的UI开发框架,.NET Avalonia绝对值得一试!希望这篇文章能够帮助你更好地了解.NET Avalonia框架及其安全防范措施。
2025-10-15 09:59:09
1012
原创 从RestTemplate到WebClient:Spring HTTP客户端的代际更替
Spring官方的一则公告正在改写Java开发者的技术选型清单——RestTemplate即将退出历史舞台。这个诞生于2009年的HTTP客户端工具,将在Spring 7.0进入弃用周期,最终在Spring 8.0彻底移除。作为开发者,我们需要提前布局这场技术迁移。
2025-10-14 11:04:20
453
1
原创 深入剖析 Windows 反调试技术:守护软件安全的利刃
在软件开发与安全研究的领域中,调试技术一直扮演着极为关键的角色。对于开发者而言,调试器是排查程序漏洞、优化性能、确保复杂逻辑顺畅运行的得力助手;而在安全研究和逆向工程领域,调试技术却成为了分析和破解软件的利器。安全研究人员利用调试器深入剖析闭源程序的运行逻辑,破解者通过调试器绕过授权验证,恶意软件分析师则依赖调试器追踪恶意代码的行为。正因如此,软件开发者必须掌握并部署反调试技术,以保护程序免受恶意分析和破解。
2025-10-13 11:16:38
434
原创 手把手教你用 C++ 提取 Android APK 签名信息,告别命令行依赖
在Android应用安全分析中,数字签名验证是绕不开的关键环节。无论是检测应用是否被篡改,还是确认开发者身份,都需要精准提取APK的签名信息。今天就来分享一套纯C++实现方案,不依赖任何外部工具,让你轻松集成到安全分析系统中。
2025-10-11 10:39:57
467
原创 C/C++逆向分析实战:变量的奥秘与安全防护
然而,随着技术的不断进步,逆向工程也逐渐成为一种常见的攻击手段。今天,我们将深入探讨C/C++中不同类型的变量在逆向分析中的表现,并分享一些实用的安全防护技巧,帮助你保护程序免受恶意篡改。今天,我们通过一个简单的Demo程序,深入探讨了C/C++中不同类型的变量在逆向分析中的表现,并讨论了如何保护程序免受恶意篡改。为了更好地理解变量在逆向分析中的表现,我们先来看一个简单的C语言程序。const_local_int的存储和访问方式与普通局部变量类似,但在编译器层面,const变量的值不可修改。
2025-10-10 11:42:41
746
原创 静态库与动态库:核心差异与实战指南
在程序开发中,库是封装可复用代码的重要载体。根据链接与加载方式的不同,可分为静态库和动态库,二者在编译运行机制、适用场景等方面差异显著。掌握它们的特性,能让开发效率与项目性能事半功倍。
2025-10-09 16:20:07
403
原创 Windows 驱动开发基础
Windows驱动程序(Device Driver)是一种特殊的系统软件,它运行在操作系统的内核模式下,充当硬件设备与操作系统之间的翻译官和协调者。从技术角度来看,驱动程序是一组遵循特定接口规范的函数集合,这些函数能够直接与硬件设备进行通信,同时向操作系统提供标准化的访问接口。与普通应用程序不同,驱动程序拥有系统的最高权限。它可以访问硬件寄存器、操作物理内存、响应硬件中断,甚至可以修改操作系统内核的数据结构。
2025-09-29 11:24:41
985
原创 如何读懂Mach-O:构建macOS和iOS应用安全的第一道认知防线
Mach-O(Mach Object)是 Apple 平台使用的主要可执行文件格式,涵盖 macOS 和 iOS 系统中的可执行文件、动态库、插件、内核扩展以及调试信息。该格式在操作系统的程序加载、内存管理和动态链接过程中发挥核心作用,是 Apple 生态系统中不可或缺的基础。Mach-O 文件在程序加载时,由操作系统加载器负责将文件映射到内存中,解析其中的符号和段信息,并处理动态链接指令。这个过程确保程序在不同架构和系统环境下能够正确执行,同时支持动态库的按需加载和延迟绑定。
2025-09-26 10:25:13
683
原创 了解一下Ubuntu上搭建的ROS环境
ROS的全称是,即机器人操作系统,它不是一个传统意义上的操作系统(如 Windows、Linux),而是一个用于编写机器人软件的框架。它相当于机器人的中间件,处理了硬件抽象、底层设备控制、进程间消息传递、包管理等高重复性、低差异性的工作,让开发者可以专注于实现机器人的核心算法和功能。
2025-09-25 16:35:54
724
原创 Python Flask框架介绍及应用保护方案
Flask是由Armin Ronacher于2010年开发的轻量级Python Web框架,它基于Werkzeug WSGI工具包和Jinja2模板引擎,被称为 “微框架”(Microframework),因为它不依赖特定的工具或库,提供了构建Web应用所需的基本组件,同时保持了灵活性和可扩展性。
2025-09-24 09:51:39
271
原创 逆向分析之switch语句
我们可以看到只要理解了不同代码反汇编后的结构理解起来还是很轻松的,如果使用IDA等工具直接进行反编译还可以直接转换为类似于C语言一样的反编译代码,这样分析起来就更加容易了,那么我们该如何防止别人恶意分析我们的程序呢?
2025-09-23 10:24:51
1467
原创 PE程序常见脱壳方案
理解PE结构是成功脱壳的前提,加壳程序的核心策略就是通过篡改、加密或隐藏原始PE头信息来保护代码,这意味着脱壳不仅要还原代码本身,更要正确修复被破坏的PE结构,否则即使成功dump出内存镜像,程序依然无法正常运行。在入口对RSP附近内存设置内存写入断点,这里我选择RSP+4的位置,因为x64程序的四寄存器快速调用约定是由调用方在调用堆栈上分配空间作为影子存储,供被调用方保存这些寄存器,被调用方通常需要把参数寄存器保存到影子存储栈里。对于软件保护而言,壳只是第一道门,代码虚拟化和混淆才是真正的保险库。
2025-09-22 11:05:08
696
原创 Windows 数字签名获取与验证详解
首先,需要定义一个结构体,用来存储每次验证得到的签名信息。// 验证状态简写(如 Valid、Expired)// 状态详细描述// 证书指纹(SHA1)// 签名者// 颁发者// 时间戳服务器(如果存在)// 签名是否有效通过这样的结构体,就能清晰地记录和返回验证结果,方便展示和后续处理。数字签名是验证软件来源和完整性的重要手段。通过调用 Windows 提供的 API,可以有效地检查文件签名的有效性,并获取证书的详细信息。
2025-09-18 10:50:26
1134
原创 eclipse插件调用保护后的jar包流程
在eclipse安装目录的plugin目录下查找org.eclipse.help,将org.eclipse.help_3.5.100.v20110426.jar使用jd-gui工具查看,可以看到IContext2的类。运行时会自动又启动一个eclipse,点击类似eclipse的图标,可以看到有会有弹框,原来的eclipse项目运行控制台下也会打印调用jar里的方法返回的值。界面上显示“保护成功”即可表示该保护完成,若界面有错误提示,无论保护后的目录也生成了jar,都是保护失败。
2025-09-17 10:55:17
542
原创 ProGuard混淆在Android程序中的应用
名称混淆,将有意义的类名(如LoginActivity)、方法名(如checkPassword)替换为无意义的a、b、c等标识符,让反编译代码失去可读性;代码压缩,通过静态分析技术,移除无用的类、字段、方法和属性,减小应用体积;代码优化,ProGuard会进行方法内联、常量传播、类合并等优化操作,让应用运行更加流畅;在Android开发过程中,ProGuard混淆工具已经与Android Studio深度集成,开发者只需在项目中配置规则即可使用ProGurad混淆工具。
2025-09-16 15:48:24
442
原创 符号执行技术实践-求解程序密码
符号执行(Symbolic Execution)是一种程序分析技术,它使用符号值而不是具体的数值来执行程序。与传统的程序执行不同,符号执行将程序的输入用符号变量表示,然后沿着程序的执行路径收集这些符号变量必须满足的约束条件。如果我们把普通的程序执行比作用具体的数字走迷宫,那么符号执行就像是用代数表达式走迷宫,记录下每一步的选择条件,最终我们可以通过求解这些条件来找到能够到达特定目标的具体数值。在工作中,如果我们需要找到正确输入才能到达特定代码块的问题时,那么符号执行或许能够帮到你,本文我们将通过angr 二
2025-09-16 09:53:42
840
原创 ELF 文件结构与加载流程介绍
ELF(Executable and Linkable Format)是一种在类 Unix 系统中广泛使用的文件格式,用于存储可执行文件、目标文件、共享库以及核心转储文件。它为操作系统提供了一种标准化的方式来表示程序的结构,使得操作系统能够正确加载、执行和调试程序。ELF 文件格式在 Linux 系统中被广泛采用,也是多数开源软件编译生成文件的默认格式。ELF 文件具备几个显著特点。首先,它支持多种平台架构,包括 32 位和 64 位处理器,并且能够在不同操作系统之间保持良好的兼容性。
2025-09-12 09:59:06
713
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅