下你所需,载你所想!
汇集开发技术源码资料

全套文件实现自效验原理详解

:13.479KB :1 :2020-05-09 18:21:26

部分简介

首先,他不需要任何DLL,文本文件,以及什么网络传输之类的东西,就可以进行效验。
首先,在我给出的压缩包里面有一个 模块 源码 ,我们把他编译成模块,以方便我们的使用,源码文件名是 : 安全模块.e

m_h = GetModuleHandle (0)
ByteCode = 指针到字节集 (m_h, 1024)
PEBASE = 取字节集数据 (ByteCode, #整数型, 61)
f_crc = 取字节集数据 (ByteCode, #整数型, 取字节集数据 (ByteCode, #整数型, 61) - 11)
' VirtualAddress = 取字节集数据 (ByteCode, #整数型, )
' code = 指针到字节集 (取字节集数据 (ByteCode, #整数型, 取字节集数据 (ByteCode, #整数型, 61) + 249+), 10)
Vsiz = 取字节集数据 (ByteCode, #整数型, PEBASE + 249 + 8)
VirtualAddress = 取字节集数据 (ByteCode, #整数型, PEBASE + 249 + 12) + m_h
code = 指针_到字节集 (VirtualAddress, Vsiz)
信息框 (到文本 (取字节集长度 (code)), 0, )

效验_代码段动态效验 这个子程序还不能用,然后新建一个易程序,启动的时候执行: 效验_是否修改 这个子程序,根据返回值来判断是否被修改:【返回值说明: 返回:4 表示效验未通过 返回:5 表示效验通过 返回小于4的值表示出错】

如果返回 4 表示程序已经被不法分子修改。
注意这个在易语言调试版本下是无效的,所以,我们要编译我们的代码。
编译完成后我们得到一个 test.exe文件,这一步相信大家都会!

拖入exe文件后,加工工具提示处理成功后,就可以在exe目录下找到一个以 处理好_ 开头的文件,不是原来的文件,不要搞错了!
这就是最终的exe了,运行试试看,没有错误信息,用OD修改后保存试试看,就会提示错误。注意: 如果软件要加壳的话,请先进行加壳!!!

原理:
注意是用了PE结构中一些不用的地方保存了CRC或MD5代码,这个位置在PE文件头的前 0x10(大约)这块数据里面。
运行时读取出来进行判断就可以了,不过,千万不要取整个文件的CRC或MD5,因为PE文件头的前 0x10这里我们做了手脚,CRC或MD5会变,
所以就分段取,先取0x0到PE头减去0x10处的CRC字节集,然后在取PE头到文件尾部的CRC或MD5,这样中间就有0x10字节数据没有取到,拼接起来就ok,
整个代码就这样实现。

全套文件实现自效验原理详解

热门推荐

相关文章