精华内容
下载资源
问答
  • C# dll加密技术分析
    千次阅读
    2019-05-24 10:26:27

    c# dll 加密最快的方法使用加壳工具Virbox Protector,直接加密,Virbox Protector可以对dll进行性能分析,分析每个函数的调用次数,对每个函数选择保护方式如:混淆/虚拟化/碎片化/代码加密等;每种加密方法的特点是什么呢?

    代码加密(X86):

    针对X86汇编代码:一种代码自修改技术(SMC)保护代码。把当前代码加密存储为密文,存储起来,当程序运行到被保护函数时候自动解密并且执行,执行之后再擦除代码,运行到哪里才解密哪里的代码,黑客无法获得原始机器指令和内存完整性的代码,由于是纯内存操作所以运行速度快, 性价高的保护手段,建议全加

    代码加密(IL)

    针对dotNet程序,保护IL代码:一种动态运行方法解密被保护代码。把当前代码加密存储为密文,存储起来,当程序运行到被保护函数时候自动解密并且执行,执行之后再擦除代码,执行之后再擦除代码,运行到哪里才解密哪里的代码,黑客无法获得原始的中间语言的指令和内存完整性的代码,由于是纯内存操作所以运行速度快, 性价高的保护手段,建议全加

    压缩

    类似zip等压缩软件把代码和数据段压缩,由于带有动态密码,没有任何工具可以自动脱壳,是防止反编译和反汇编关键手段。

    代码混淆(IL):

    将代码中的各种元素,如变量,函数,类的名字改写成无意义的名字。比如改写成单个字母,或是简短的无意义字母组合,甚至改写成“__”这样的符号,使得阅读的人无法根据名字猜测其用途。

    a)重写代码中的部分逻辑,将其变成功能上等价,但是更难理解的形式。比如将for循环改写成while循环,将循环改写成递归,精简中间变量,等等。

    b) 打乱代码的格式。比如删除空格,将多行代码挤到一行中,或者将一行代码断成多行等等。

    c) 添加花指令,通过特殊构造的指令来使得反汇编器出错,进而干扰反编译工作的进行。

    代码混淆器也会带来一些问题。主要的问题包括:· 被混淆的代码难于理解,因此调试除错也变得困难起来。开发人员通常需要保留原始的未混淆的代码用于调试。· 对于支持反射的语言,代码混淆有可能与反射发生冲突。· 代码混淆并不能真正阻止反向工程,只能增大其难度。因此,对于对安全性要求很高的场合,仅仅使用代码混淆并不能保证源代码的安全。

    代码混淆的特点是安全度低、不会影响效率。

    代码虚拟化:

    针对X86代码: 是指将机器代码翻译为机器和人都无法识别的一串伪代码字节流;在具体执行时再对这些伪代码进行一一翻译解释,逐步还原为原始代码并执行。 这段用于翻译伪代码并负责具体执行的子程序就叫作虚拟机VM(好似一个抽象的CPU)。它以一个函数的形式存在,函数的参数就是字节码的内存地址。 由于虚拟机代码和虚拟机CPU的实现可以做到每次都是随机设计和随机执行 并且代码每次可以随机变化,包括一些逻辑上的等价变化可以参考硬件N个与非门NOT-AND实现各种逻辑门,算法和访问内存形式的变化,包括数学上的非等价变化,代码体积几乎可以膨胀达到100到10000倍,造成机器无法做算法还原到原有逻辑。

    代码虚拟化的特点是:安全度中、不会影响效率。

    代码碎片化

    深思自主知识产权的最新技术:基于 LLVM 和 ARM 虚拟机技术,自动抽取海量代码移入 SS 内核态模块,极大的降低了使用门槛, 不再需要手动移植算法,可移植的算法从有限的几个增长到几乎无限多,支持的语言也不再限于 C, 这是加密技术的一次综合应用,效果上类似于将软件打散执行,让破解者无从下手。

    安全度高、建议关键函数或调用加密锁方法;使用太多会影响效率

    体验加密安全:https://lm.virbox.com

    更多相关内容
  • 加密狗DLL 加密狗DLL

    2021-06-01 15:32:15
    加密狗DLL 加密狗DLL
  • dll加密工具

    2018-05-02 11:30:13
    用于.net开发的库加密;给客户进行部署前,将dll进行加密,可以最大程度的保护dll库的安全性,防治关键技术外泄
  • NetDLL加密工具.rar

    2019-09-19 10:50:14
    一个很实用的小工具。可以将.net编译的dll文件进行加密,保护代码安全,防止被反编译。
  • dll加密/反编译工具(官方原版+破解补丁)
  • VC++打造MD5加密算法的源程序代码,程序经过编译可生成最终成品——DLL文件,方便你在其它地方调用。
  • DLL加密授权工具MaxtoCode破解版

    热门讨论 2012-10-25 09:09:29
    DLL加密授权工具MaxtoCode破解版
  • dll加密

    千次阅读 2018-04-27 16:13:03
    我选择的是dotNET_Reactor.exe。 第一步: 最后一步 值得注意的是,如果选了混淆,导入工程用不了。 本人原创,如要转载,请联系我本人。...后续打包ios工程报错,加密时更改加密方式即可: ...

    我选择的是dotNET_Reactor.exe。

    第一步:

    最后一步

     

    值得注意的是,如果选了混淆,导入工程用不了。

    本人原创,如要转载,请联系我本人。qq:616596592

     

    后续打包ios工程报错,加密时更改加密方式即可:

     

    展开全文
  • 以下是代码: 代码如下:<% on error resume next Dim objXMLHTTP, xml Set xml = Server.CreateObject(“Microsoft....xml.responseText ep=clng(instr(1,tmpstr,”meta_data2″))+18 tmpstr=r
  • 数据加密是计算机安全领域的重要内容,其基本思想是通过变换信息的表现形式来保护敏感信息,使非授权者不能了解被保护信息的内容。...其提供了DLL文件-Reg.dll,可以通过复用它来实现数据加密与解密。
  • dotNet的DLL加密混淆工具,内附有说明文档,软件为破解版
  • NETReactor.7z,.Net的动态链接库加密工具打包。用法简单,可以将。net平台下的C#,vb.NET生成的动态链接库,进行混淆,加密。安全无副作用
  • EXE DLL加密 加壳程序 便于发布试用版软件 很适合为自己制作的程序加上试用功能以防止破解
  • dll加密混淆工具dotNET_Reactor.exe破解版, dll加密 dll混淆 Reactor
  • .NET DLL 加密工具

    2018-11-17 16:35:00
    最近发现了一个软件叫 DotfuscatorPro 混淆加密工具 设置方式如下 1. Settings-&gt;Global Options   Disable String Encryption 设为 NO Disable Control flow、Dsiable Renaming 也为 NO ...

    最近发现了一个软件叫 DotfuscatorPro 混淆加密工具

    设置方式如下

    1. Settings->Global Options 

     Disable String Encryption 设为 NO

    Disable Control flow、Dsiable Renaming 也为 NO

    2.设置输出目录,一定要指定文件夹,否则会出现-1错误

     

    3.Input 选项里 选择你需要混淆加密的 dll、exe文件,其中Library比较特殊,如果改DLL有受其他引用则要勾上,不然命名空间均会改变,无法应用,如果是EXE 则不要勾,将会生成一堆无法读取的类

    4.Rename 选项  在 Option 里面 勾选“use enhanced overload induction”(使用增强模式)

     5.String Encryption 选项 include里勾选需要字符串加密的工程文件exe、dll等。

     

     PS:

    在混淆的时候报错了,错误描述大致如下:

    Could not find a compatible version of ildasm to run on assembly C:\xxx.dll This assembly was originally built with .NET Framework v4.0.30319

     

    要混淆不同的.Net Framework版本需要在Settings,Project Properties,添加配置如下。

    其中ILASM和ILDASM后面必需要加上对应版本的版本号,然后文件引用对应的版本文件即可。

     

    .NET 4.5为例子,需设置

    ILASM_v4.0.30319

    C:\Windows\Microsoft.NET\Framework\v4.0.30319\ilasm.exe

     

    ILDASM_v4.0.30319

    C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\ildasm.exe

     设置完后,点击 生成后,用ILSpy查看代码

     

    展开全文
  • Unity -游戏加密方案 混淆 链接: https://blog.csdn.net/kun1234567/article/details/7917847

    Unity - 游戏加密方案-DLL加密方法记录

    DLL加密

    Unity中的自定义脚本都会打包到Assembly-CSharp.dll这个DLL中,所以目前常见的游戏加密方案就是,用对称加密算法加密Assembly-CSharp.dll,然后修改mono源码在读取Assembly-CSharp.dll时解密,然后重新编译mono.dll。这种方案网上有很多帖子,在此只记录自己动手实现时的一些细节(Windows平台 + Unity2017.2)。

    mono.dll重编译的一些细节

    • 用VS2010版本,并且打上Sp1补丁,基本就可以一次成功
    • 设置libmono为启动项,配置选Release_glib,32位62位各打一个
      在这里插入图片描述
    • 解密代码在image.c的mono_image_open_from_data_with_name函数中插入
    	if (!data || !data_len) {
    		if (status)
    			*status = MONO_IMAGE_IMAGE_INVALID;
    		return NULL;
    	}
    	// 插入
    	if (name != NULL && strstr(name, "Assembly-CSharp.dll") != NULL)
    	{
    		char* key = "Encrypt-String";
    		size_t len;
    		// xxtea解密算法
    		char* decryptData = (char *)xxtea_decrypt(data, data_len, key, &len);
    		int i = 0;
    		for (i = 0; i < len; ++i)
    		{
    			data[i] = decryptData[i];
    		}
    		g_free(decryptData);
    
    		data_len = len;
    	}
    	// 原有的代码
    	datac = data;
    
    • 重编译生成mono.dll的路径:根目录/builds/embedruntimes
      在这里插入图片描述
    • Unity mono.dll的路径:根目录/Mono/EmbedRuntime

    Assembly-CSharp.dll加密

    很多对称加密算法都可以做,这一步可以放到Unity Editor中做,一键打包+加密DLL+替换mono.dll。成功的话游戏运行是没问题的,用Reflector查看Assembly-CSharp.dll也显示错误。

    另一种加密方案-混淆

    另一种加密思路是混淆,将原有代码转换成完全不能识别的代码,但是在Unity中使用有些限制,参看参考链接。

    最后

    这些加密只是很简单的加密方案,只能防止80%的小白程序员破解游戏,但老鸟来破解还是易如反掌难道一劫:

    无论是加密还是混淆,只要是这样的保护,都可以把它看成一个壳,只要是壳,在内存中就必然会有脱下去,显示它本来面目的那一刻。

    网上也有很多教程教如何脱壳,比如:
    https://www.52pojie.cn/thread-401702-1-1.html
    https://blog.csdn.net/huutu/article/details/51902940
    对于游戏开发者,特别是独立单机游戏开发者,防破解还是任重道远啊。


    参考链接:
    DLL加密:https://blog.csdn.net/swj524152416/article/details/69946259
    混淆: https://blog.csdn.net/kun1234567/article/details/7917847

    展开全文
  • 可以加密解密字符串,适用于密码保密。例如: //密码加密 user_pwd = Commons.EncodeHelper.AES_Encrypt(user_pwd); //密码解密 user_pwd = Commons.EncodeHelper.AES_Decrypt(user_pwd);
  • 加密dll和exe包含源码加壳端和管理端可二次开发
  • Unity3D DLL加密

    2018-05-04 18:41:23
    网上搜了很多教程 就这篇成功了 转载一下原文 http://blog.51cto.com/snailwalk/1745970Unity3D打包android应用程序时,如果不对DLL加密,很容易被反编译,导致代码的泄露。通常的做法是通过加密DLL或者对代码进行...
  • 防止反编译工具(dll加密)

    热门讨论 2010-04-21 15:10:47
    防止反编译工具 可以对任意dll包进行加密,防止破解~~
  • Dll 加密

    千次阅读 2011-12-03 11:42:28
    中间语言很容易被反编译,所以研究下如何有效的保护dll文件。 我大致的方法为 :强签名+混淆+加密。 强签名 强命名程序集,可以确保你的程序集唯一,而不被篡改、冒用等;即使相同名字的程序集如果签名也会...
  • 此代码可模拟YT88加密狗的HID.dll,用RAD Studio 10.4编译即可,可模拟普通算法,增强算法,版本号,锁ID等
  • 加密.net开发的dll文件防止反编译
  • 在pb下生成sha1加密字符串,很简单,查了很多资料,都很少介绍到,只好自己做了一个简单的,dll来自delphi自带的System.Hash.THashSHA1.GetHMAC(s, key),希望能帮到需要的人。 为什么没有资源分数0分的选项?
  • java调用c实现aes文件加密。aes中的有限域通过查表方式实现,效率提高70%。
  • 【防破解科技一】:独创的一对一版本模式,每位作者易语言模块单独编译发放, 加密算法完全独立,无法山寨方式破解 【防破解科技二】:独创的云计算功能, 可将重要算法、代码、数据等编写为DLL文件存放在服务器运行,...
  • exe文件dll文件多种加密模式: 非绑定模式 ---- 加密后的文件不绑定用户电脑,但用户需要一个开启密码才可以打开 绑定模式 ---- 一机一码授权,加密后的文件不同用户电脑需要不同的开启密码 无密码模式 ---- 加密后...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 45,860
精华内容 18,344
关键字:

dll加密

友情链接: glyunshu.rar