摘要: 反调试和反转储是动态防御的核心。对抗有经验的逆向工程师需要层层设防——从调试器检测到内存清除再到元数据混淆。这些技术与之前文章中的静态保护形成完整的立体防护。 阅读全文
posted @ 2026-07-13 10:16 翼帆 阅读(172) 评论(0) 推荐(3)
摘要: 防篡改校验是保护链条的最后一环——即使前面的保护层被突破,篡改后的程序也无法运行。两阶段写入策略保证了哈希的精确性,魔术头扫描避免资源名称泄露信息,Environment.FailFast 确保不可绕过。 阅读全文
posted @ 2026-07-10 16:49 翼帆 阅读(18) 评论(0) 推荐(0)
摘要: JIT Hook 是一种巧妙的保护手段——在"最后一道门"(JIT 编译)拦截并替换 IL,绕过了所有静态分析工具。但它仅适用于 .NET Framework 平台。对于跨平台需求,建议使用方法体加密(第 06 篇)或代码虚拟化(第 05 篇)。 阅读全文
posted @ 2026-07-09 08:40 翼帆 阅读(230) 评论(3) 推荐(4)
摘要: 方法体加密在安全性和性能之间达到了优秀的平衡——静态分析完全无法看到方法实现,运行时首次解密后性能不受影响。配合代码虚拟化,可以分层保护不同敏感度的方法。 阅读全文
posted @ 2026-07-08 11:23 翼帆 阅读(222) 评论(2) 推荐(0)
摘要: 代码虚拟化提供了最高级别的保护——原始 IL 从不在内存中以明文出现。虽然性能有损耗,但对于关键的商业秘密算法,这是值得投入的。 下一篇将讲解**方法体加密**——另一种方法保护策略,在安全性和性能之间取得了更好的平衡。 阅读全文
posted @ 2026-07-07 08:20 翼帆 阅读(669) 评论(0) 推荐(4)
摘要: 控制流混淆是攻击者最头疼的保护层之一——即使反编译出 C# 代码,得到的也是满屏的 goto 和垃圾逻辑。配合字符串加密和符号混淆,三层叠加后基本无法通过静态分析理解代码逻辑。 阅读全文
posted @ 2026-07-06 12:16 翼帆 阅读(46) 评论(0) 推荐(1)
摘要: 符号混淆看似简单,实际上要处理 VTable 继承链、接口映射、跨模块引用、ConditionalWeakTable 注解等大量细节。好的混淆器不是"全改就完事",而是精准地只改该改的部分。 阅读全文
posted @ 2026-07-06 12:10 翼帆 阅读(35) 评论(0) 推荐(0)
摘要: 使用 dnSpy 打开一个未保护的 .NET 程序,按 Ctrl+F 搜索 "license"、"http"、"password"——几乎所有的关键信息都藏在字符串里。**字符串加密是保护的第一道防线**,目的就是让攻击者无法通过字符串搜索快速定位关键代码。 阅读全文
posted @ 2026-07-06 12:08 翼帆 阅读(67) 评论(0) 推荐(0)
摘要: .NET 程序编译为 IL(中间语言),附带完整的元数据——类名、方法签名、字段类型一览无余。使用 dnSpy、ILSpy 等工具可以几乎完整还原源代码。对于商业软件,这意味着核心算法暴露、授权验证逻辑可被绕过、通信协议和 API 密钥泄露。 我们的保护引擎提供了 全链条防护——从字符串加密到方法体加密、从反调试到代码虚拟化,层层设防。 阅读全文
posted @ 2026-07-06 11:57 翼帆 阅读(355) 评论(0) 推荐(2)
摘要: .Net Reactor 5脱壳比较麻烦,wuhensoft大神修改的de4dot只能脱部分,大多数无法脱壳。所以。。。 阅读全文
posted @ 2017-08-20 13:01 翼帆 阅读(16000) 评论(11) 推荐(5)
摘要: 嗯,知道名字的人都知道功能,懒的打字,就发点英文吧 SQL Solution Center articles Read a SQL Server transaction log Open LDF file and view LDF file content SQL Server database auditing techniques 阅读全文
posted @ 2015-12-01 19:58 翼帆 阅读(24547) 评论(16) 推荐(0)
摘要: 某系统是网上最常见也是目前最好用的旅游站系统之一,5.1版本之前采用的maxtocode加壳后可以用de4dot反混淆后破解。5.1版本以后用de4dot无法脱壳。 在这里说一种不脱壳破解的办法,本文仅限学习和讨论,请勿做侵权使用。 阅读全文
posted @ 2015-10-27 12:03 翼帆 阅读(13487) 评论(15) 推荐(0)
摘要: 状态不好跑到服务器上update了一下,竟然没有写条件,结果发现这个库没有备份。。。然后悲剧发生了!! 因为是SQL2008,好多软件都不支持,最后找到 ApexSql Log ,非常好用,但是试用版除了14天限制外还限制了脚本导出,只能一条条导出么。。。汗,虽然几百条数据,但也够折腾的。。 就研究了下,取除了这个试用版导出条数的限制,看了下算法写注册机也比较简单,但是懒的写了,反正这东西基本上就用一次,几百刀买个正版当然不可能,我想着还有别人也可能用得到,就放上来。 阅读全文
posted @ 2015-10-09 19:26 翼帆 阅读(14417) 评论(10) 推荐(2)
摘要: 写这篇文章的主旨在于呼吁大家注意保护自己的隐私,同时做一个正直的人,做一个有意思的人。 阅读全文
posted @ 2013-04-09 10:27 翼帆 阅读(17419) 评论(178) 推荐(99)
摘要: C#在Json反序列化时会自动将Json中的键与类的属性对应。 但是当键有特殊字符时,如 $ , @ 等,无法定义类的属性中含有特殊字符, 因此,需要使用 [DataContract] 和 [DataMember] 来定义数据协定。 阅读全文
posted @ 2012-03-27 14:01 翼帆 阅读(8151) 评论(3) 推荐(3)
摘要: 程序中的Trim函数大伙都知道的,但是要SQL中只有LTRIM,RTRIM删除左、右空白字符,而不能删除指定字符,所以我们自己写一个。 要求: 1. 能删除前后空白,如 ' aa ' -> 'aa' 2. 能删除前后字符,并不受空白影响,如 ' ;aa' -> 'aa' 3. 删除前后字符后,需清除前后空格,如 '; aa' -> 'aa' 4. 需删除前后连续的字符,如 ';;;aa' -> 'aa' 网上也有一些别人写的,我觉得很不错,不过貌似没有完整的能达到要求的,所以自己动手写了一个 阅读全文
posted @ 2011-11-18 09:18 翼帆 阅读(2059) 评论(3) 推荐(1)
摘要: 一直喜欢用Google Translate API进行在线翻译,但是,后来,大家都知道的,Google的服务越来越慢,无法忍受,只好寻找更快的在线翻译接口,后来找到Microsoft Translate,觉得非常好用,我用SOAP方式做一个示例,希望给有相同需求的小盆友一点参考,老鸟就不用看了,没什么技术含量的。 阅读全文
posted @ 2011-11-14 15:30 翼帆 阅读(7265) 评论(29) 推荐(16)
摘要: DataGridView的进度条列,网上有一些,但不完整,在此补全。并加入了显示的文字可自定义,而不是默认的百分比。 阅读全文
posted @ 2011-07-07 15:52 翼帆 阅读(4519) 评论(5) 推荐(0)
摘要: dataGridView排序默认为自动,排序控件内的数据。 但是,我们有一个情况出现了,我们的数据是分页的,排序是要全局排序怎么办呢? 这个问题也很简单,当绑定数据集和分页控件时,它会自动对数据源排序。 OK,这样,一般情况下,是不需要写代码的。 但是,啊,就怕但是出现。对,又一个情况出现了,因为数据源特别大,所以在调用数据源之前,已经分页了,那又怎么办呢? 阅读全文
posted @ 2011-06-08 10:38 翼帆 阅读(2737) 评论(0) 推荐(2)
摘要: C# webBrowser控件自动登陆windows集成验证方法 阅读全文
posted @ 2010-08-27 12:40 翼帆 阅读(4162) 评论(6) 推荐(5)
摘要: 输入9~10位ISBN号可计算出10位正确的ISBN号。 输入11~14位ISBN号可计算出13位正确的ISBN号。 用于校检和规范ISBN号。 阅读全文
posted @ 2010-02-01 14:20 翼帆 阅读(590) 评论(0) 推荐(0)