鉴于目前易语言的加载机制,因此几乎所有的壳都可以被通用的脱掉.
然后我就写了一个基于此的通用脱壳机.
目前支持易语言的两种编译方式 独立编译 和非独立编译.自动识别并修复数据.
特别是独立编译支持相对来说有那么一点用处.因为如果你要Patch人家的程序.你当然希望Patch完以后可以直接运行而不是带上X个易语言的运行库文件。这一点ECE还不能够修复。
目前还不支持DLL 的脱壳。这个以后有时间在加入,因为易的DLL无法独立编译所以 这个应用相对来说很少。
另外对于Arm的双进程模式和Themida的bundler也还不支持
当然如果你运气好遇到有人用带驱动的壳来给易语言加壳的话。我的这个脱壳机应该可以解决这个问题。而避免了1.0.0.8因为拦截了NtReadProcessMemory而代码的无法Dump数据的痛苦:)
下面来弄一个实例:
我们先启动易语言然后随便打开一个例程,比如这里我就已搞怪碰碰球1.2这个例子来说。
用易语言的独立编译编译出一个EXE文件。然后用Themida1.9.1.0 默认模式给生成的这个EXE加壳
加壳以后程序体积为
2.88 MB (3,021,586 字节)
原始体积为
3.84 MB (4,037,394 字节)
然后打开我们的脱壳机
选择loadfile加载加壳后的文件。