基本思想是把C#代码生成的dll 加密一下 无法直接破1解dll,但是由于二进制加密代码是写在mono 里面的,拿到一样很容易破1解,
1.层次1:
加密C#生成的dll
2.层次2
加密修改mono了时候的so dll什么的
先实现第一层次的windows 版本:
1.下载mono源代码 https://github.com/Unity-Technologies/mono/tree/unity-5.6
2.用vs2010 sp1(一定要用这个版本) 编译msvc/mono.sln 输出后的文件在下的
mono-unity-5.6\builds\embedruntimes\win32\mono.dll
3.二次处理 dll buffer 的函数是 image.c 的mono_image_open_from_data_with_name 可在这里面实现解密
然后替换即可
小提示: 如果编译期间出现glib-2.0.lib 找不到 那么把生成的eglib.lib 重命名为 glib-2.0.lib
一些其他的gtk lib 网上下载2.0 版本即可