DLL能加密不让人逆向么??

groundhappy 2011-11-10 11:53:15
RT
我写了DLL。。。。。。
不想人家知道里面的东东,不想人家逆向出里面的原理来,有好的办法么?
如何给自己的DLL加密。。或者防止人家破解呢??
...全文
290 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
aCracker 2011-11-14
  • 打赏
  • 举报
回复
自己找一下 VMProtect 相关的资料吧。
Kaile 2011-11-11
  • 打赏
  • 举报
回复
加壳重了,影响速度,也容易被报毒。
buyong 2011-11-11
  • 打赏
  • 举报
回复
cryptoAPI吧,没有绝对不能破解的
Yofoo 2011-11-11
  • 打赏
  • 举报
回复
对逆向来说, 可以动态Dump
对付这种用虚拟机壳, 或强力化指令的壳
wangdingbang 2011-11-11
  • 打赏
  • 举报
回复
有的,但是一般都收费。以前在公司有人弄过。
  • 打赏
  • 举报
回复
不能防止逆向
smwhotjay 2011-11-11
  • 打赏
  • 举报
回复
有技能脱壳的人,应该有能力写出dll..
我dll一般用vmp加密.可是360把vmp壳杀了
许文君 2011-11-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xianglitian 的回复:]

引用 1 楼 jennyvenus 的回复:
能,也有给dll加壳的工具。
但是壳也是可以脱掉的
[/Quote]
不要用大众的壳,能手工脱得掉的基本不会对我们这种做应用的有多大兴趣了
向立天 2011-11-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jennyvenus 的回复:]
能,也有给dll加壳的工具。
[/Quote]但是壳也是可以脱掉的
孤魂游梦 2011-11-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jennyvenus 的回复:]

能,也有给dll加壳的工具。
[/Quote]

能介绍点免费的工具吗?
用户 昵称 2011-11-11
  • 打赏
  • 举报
回复
能,也有给dll加壳的工具。
groundhappy 2011-11-11
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 acracker 的回复:]

没有绝对的安全,只能 增加 逆向的难度。 不建议加壳,关键 代码 VM 加密 就可以了。
[/Quote]
请问一下,怎么用VM关键代码加密呢。。。是要用这类的工具吗。。麻烦讲一下大概,谢谢你了
aCracker 2011-11-11
  • 打赏
  • 举报
回复
没有绝对的安全,只能 增加 逆向的难度。 不建议加壳,关键 代码 VM 加密 就可以了。
第三卷************** 不错的PDF电子书,共3个分卷,点我名字可以找全 第1部分 逆向101 第1章 基础 3 1.1 什么是逆向工程 3 1.2 软件逆向工程:逆向 4 1.3 逆向应用 4 1.3.1 与安全相关的逆向 5 1.3.2 软件开发中的逆向 8 1.4 底层软件 9 1.4.1 汇编语言 10 1.4.2 编译器 11 1.4.3 虚拟机和字节码 12 1.4.4 操作系统 13 1.5 逆向过程 13 1.5.1 系统级逆向 14 1.5.2 代码级逆向 14 1.6 工具 14 1.6.1 系统监控工具 15 1.6.2 反汇编器 15 1.6.3 调试器 15 1.6.4 反编译器 16 1.7 逆向合法吗? 17 1.7.1 互操作性 17 1.7.2 竞争 18 1.7.3 版权法 19 1.7.4 商业机密和专利权 20 1.7.5 美国数字千禧版权法 20 1.7.6 DMCA案例 22 1.7.7 许可证协议 23 1.8 代码范例与工具 23 1.9 结论 23 第2章 底层软件 25 2.1 高阶视角 26 2.1.1 程序结构 26 2.1.2 数据管理 29 2.1.3 控制流 32 2.1.4 高级语言 33 2.2 低阶视角 37 2.2.1 底层数据管理 37 2.2.2 控制流 43 2.3 汇编语言101 44 2.3.1 寄存器 44 2.3.2 标志位 46 2.3.3 指令格式 47 2.3.4 基本指令 48 2.3.5 范例 52 2.4 编译器和编译入门 53 2.4.1 定义编译器 54 2.4.2 编译器架构 55 2.4.3 列表文件 58 2.4.4 专用编译器 59 2.5 执行环境 60 2.5.1 软件执行环境(虚拟机) 60 2.5.2 现代处理器的硬件执行环境 63 2.6 结论 68 第3章 Windows基础知识 69 3.1 组件及基本架构 70 3.1.1 简要回顾 70 3.1.2 特征 70 3.1.3 支持的硬件 71 3.2 内存管理 71 3.2.1 虚拟内存和分页 72 3.2.2 工作集 74 3.2.3 内核内存和用户内存 74 3.2.4 内核内存空间 75 3.2.5 区段对象 77 3.2.6 VAD树 78 3.2.7 用户模式的内存分配 78 3.2.8 内存管理API 79 3.3 对象与句柄 80 命名对象 81 3.4 进程与线程 83 3.4.1 进程 84 3.4.2 线程 84 3.4.3 运行状态切换 85 3.4.4 同步对象 86 3.4.5 进程初始化顺序 87 3.5 应用程序编程接口 88 3.5.1 Win32 API 88 3.5.2 本地API 90 3.5.3 系统调用机制 91 3.6 可执行文件格式 93 3.6.1 基本概念 93 3.6.2 映像区段(Image Sections) 95 3.6.3 区段对齐(Section Alignment) 95 3.6.4 动态链接库 96 3.6.5 头部 97 3.6.6 导入与导出 99 3.6.7 目录 99 3.7 输入与输出 103 3.7.1 I/O系统 103 3.7.2 Win32子系统 104 3.8 结构化异常处理 105 3.9 结论 107 第4章 逆向工具 109 4.1 不同的逆向方法 110 4.1.1 离线代码分析 110 4.1.2 现场代码分析 110 4.2 反汇编器——ILDasm 110 4.3 调试器 116 4.3.1 用户模式调试器 118 4.3.2 内核模式调试器 122 4.4 反编译器 129 4.5 系统监控工具 129 4.6 修补工具 131 Hex Workshop 131 4.7 其他类型的逆向工具 133 可执行程序转储工具 133 4.8 结论 138 第2部分 应用逆向 第5章 未公开的技术 141 5.1 逆向和互操作性 142 5.2 基本原则 142 5.3 定位未公开的API函数 143 我们要找什么? 144 5.4 案例研究:NTDLL.DLL中的 5.4 Generic Table API 145 5.4.1 RtlInitializeGenericTable 146 5.4.2 RtlNumberGenericTableElements 151 5.4.3 RtlIsGenericTableEmpty 152 5.4.4 RtlGetElementGenericTable 153 5.4.5 RtlInsertElementGenericTable 168 5.4.6 RtlLookupElementGenericTable
VProtect 中文注册版是新一代的软件加密保护系统,功能全面,兼容性非常好。无需修改源代码即可添加任何想要的功能。拥有多项自主创新技术,设计用来保护软件产品不被免费,减少由于盗版带来的经济损失。 软件加密保护系统 VProtect Pro 中文版软件加密保护系统 VProtect Pro 中文版 授权加密系统 支持可执行文件格式 Win32 可执行文件 (*.exe); Windows 屏幕保护程序 (*.scr); 动态链接库 (*.dll); 32位 ActiveX 控件 (*.ocx); 其他32位可执行程序; 支持的编译器: Assembly language:MASM, FASM, POASM, TASM Basic: Visual Basic, Pure Basic, Power Basic C/C++: Visual C/C++, Borland C++ builder, Intel C++, Dev C++, Digital Mars C++, MinGW Pascal: Delphi, Free Pascal D Programming language: DMD 其他编译器 支持的操作系统: 32 位 NT/2000/XP/2003/Vista/Win7/2008 Server 及其对应 64 位版本。 保护功能: 一键授权系统,无需写一行代码就可以给您的软件添加高安全性注册授权系统 原创虚拟机保护引擎(什么是虚拟机保护参考帮助文档) 原创深度虚拟化保护(深度虚拟化保护和普通保护区别参考帮助文档) 随机指令集 随机填充代码 代码乱序执行 外壳保护 反内存转储存 区段合并 资源加密 反调试 防修改 自校验 输入表加密 软件特色: 加密强度 使用目前最先进的虚拟机乱序等引擎,可以阻止绝大多数人逆向分析。 执行效率 软件使用SDK,进行重点加密(如:注册逻辑,关键算法,详细信息参考帮助文档)。 所以基本上不影响程序运行效率 兼容性 全面支持主流的 32/64(*) 位 Windows 操作系统,能够稳定运行于 Intel/AMD 各种 32/64 位及多核处理器;绝大多数加密后的程序均可正确运行。 注意:目前软件不支持原生的64位可执行程序加密。 实用性 自带授权系统,正常用户管理系统,黑名单,加密SDK,授权API等实用功能 分析使用Vprotect保护后的程序,将不仅仅是一项技术活,同时也会成为高强度的体力活。 技术特性 虚拟机加密系统 VProtect使用了自主开发的虚拟机加密引擎。 引擎使用了: 指令逻辑拆分 指令环形效验 随机指令 随机Handle等技术 是目前强度最高的加密方式。 适合加密软件关键算法,专利部分。 外壳加密引擎 前面介绍的虚拟机和乱序都是基于代码级的保护。 外壳保护引擎则是全局的。 VProtect外壳引擎注重通过算法来阻止非法修改。 外壳引擎提供以下功能 输入表加密 文件压缩 文件效验 资源加密 资源防修改 反调试 反虚拟机执行等.. 注册授权系统 VProtect不但提供了反免费,逆向分析功能,还提供了一键授权系统。 这使共享软件作者的开发周期,开发成本都得到了有效控制。 VProtect提供了完善的授权系统 多种授权方式(锁定机器码,锁定系统语言,限制运行次数等) 完善的用户管理系统 黑名单系统,有效解决用户授权泄漏问题。 高安全性的算法(RSA 2048位密钥加密) 兼容性和稳定性 VProtect注重强度的同时,也是以兼容性为首的。 只有在保证加密后程序在所有系统上都正常执行的功能才会添加到程序中。程序代码级保护使用了高效的反汇编引擎,可以识别X86构架下目前所有指令。支持多媒体,浮点等指令。 同时VProtect对各种编译器提供了很好的支持。不但支持常用的Vs,Delphi,Gcc,NASM.MASM.还原始支持国产的易语言。
软件加密技术内幕 要花时间看 第1章 PE文件格式深入研究 1.1 PE文件格式格式纵览 1.1.1 区块(Section) 1.1.2 相对虚拟地址(Relative Virtual Addresses) 1.1.3 数据目录 1.1.4 输入函数(Importing Functions) 1.2 PE文件结构 1.2.1 The MS-DOS头部 1.2.2 IMAGE_NT_HEADERS头部 1.2.3 区块表(The Section Table) 1.2.4 各种块(Sections)的描述 1.2.5 输出表 1.2.6 输出转向(Export Forwarding) 1.2.7 输入表 1.2.8 绑定输入(Bound import) 1.2.9 延迟装入数据(Delayload Data) 1.2.10 资源 1.2.11 基址重定位(Base Relocations) 1.2.12 调试目录(DebugDirectory) 1.2.13 NET头部 1.2.14 TLS初始化 1.2.15 程序异常数据 第2章 PE分析工具编写 2.1 文件格式检查 2.2 FileHeader和OptionalHeader内容的读取 2.3 得到数据目录(Data Dircetory)信息 2.4 得到块表(SectionTable)信息 2.5 得到输出表(ExportTable)信息 2.6 得到输入表(ImportTable)信息 第3章 Win32 调试API 3.1 Win32调试API原理 3.1.1 调试相关函数简要说明 3.1.2 调试事件 3.1.3 如何在调试时创建并跟踪一个进程 3.1.4 最主要的循环体 3.1.5 如何处理调试事件 3.1.6 线程环境详解 3.1.7 如何在另一个进程中注入代码 3.2 利用调试API编写脱壳机 3.2.1 tElock 0.98脱壳简介 3.2.2 脱壳机的编写 3.3 利用调试API制作内存补丁 3.3.1 跨进程内存存取机制 3.3.2 Debug API机制 第4章 Windows下的异常处理 4.1 基本概念 4.1.1 Windows下的软件异常 4.1.2 未公开的可靠吗 4.2 结构化异常处理(SEH) 4.2.1 异常处理的基本过程 4.2.2 SEH的分类 4.2.3 相关API 4.2.4 SEH相关数据结构 4.3 异常处理程序设计 4.3.1 顶层(top-level)异常处理 4.3.2 线程异常处理 4.3.3 异常处理的堆栈展开(Stack unwind) 4.3.4 异常处理程序设计中的几个注意事项: 4.4 SEH的简单应用 4.4.1 Win9x下利用SEH进ring0 4.4.2 利用SEH实现对自身的单步自跟踪 4.4.3 其它应用 4.5 系统背后的秘密 4.6 VC是如何封装系统提供的SEH机制的 4.6.1 扩展的EXCEPTION_REGISTRATION级相关结构 4.6.2 数据结构组织 4.7 Windows XP下的向量化异常处理(VEH) 第5章 软件加密技术 5.1 反调试技术(Anti-Debug) 5.1.1 句柄检测 5.1.2 SoftICE后门指令 5.1.3 int68子类型 5.1.4 ICECream子类型 5.1.5 判断NTICE服务是否运行 5.1.6 INT 1 检测 5.1.7 利用UnhandledExceptionFilter检测 5.1.8 INT 41子类型 5.2 反跟踪技术(Anti-Trace) 5.2.1 断点检测 5.2.2 利用SEH反跟踪 5.2.3 SMC技术实现 5.3 反加载技术(Anti-Loader) 5.3.1 利用TEB检测 5.3.2 利用IsDebuggerPresent函数检测 5.3.3 检查父进程 5.4 反DUMP技术(Anti

15,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧