admin 发表于 2025-2-9 21:39:32

易语言防破解:R3保护自己的代码段不被修改,直接废掉Wri...

易语言防破解:R3保护自己的代码段不被修改,直接废掉WriteMemory
纯源码 会用的自己下载

测试:
[*]利用NtCreateSection创建一块和欲保护的地址大小相同的Section,然后将数据拷贝到改Section中,最后用NtMapViewOfSection重新映射回去(此时便可添加SEC_NO_CHANGE属性)
[*]添加映射出的内存页被添加SEC_NO_CHANGE属性后,R3下NtProtectVirtualMemory就不能修改这个内存区域的内存属性了,只读的代码段不能被修改为可写。
[*]接着R3下的写入改内存页的命令基本就废了。
[*]保护后CE修改代码段的效果:
[*]PS:
[*]由于NtMapViewOfSection要求映射内容64KB对齐,这里可能让少部分只读属性的内存页变成可读可写。
[*]不能尝试去保护kernel32.dll(它的内存映射情况非常奇怪),程序不能去保护ntdll.dll(因为NtMapViewOfSection在ntdll中,除非重写NtMapViewOfSection,不过这也不难,我就不实现了)
[*]保护exe代码区段需要一个Dll来完成(显然,运行中代码区段不能解除自己的映射,这会导致程序直接崩溃),且需要编译出来才有效
源码:
[*]


brucelee0720 发表于 2025-2-18 02:08:33

楼主非常棒

才情卓绝 发表于 2025-2-26 14:43:46

不知该说些什么。。。。。。就是谢谢

逸墨逸逸香 发表于 2025-2-26 14:51:56

支持一下:lol

晚照流金 发表于 2025-2-26 15:03:39

有竞争才有进步嘛

诗风词韵 发表于 2025-2-26 18:02:49

支持一下:lol

书情墨趣 发表于 2025-2-26 18:14:42

谢谢楼主,共同发展

文墨润心田 发表于 2025-2-26 18:53:20

小手一抖,钱钱到手!

书情逸岁月 发表于 2025-2-26 18:55:47

过来看看的

画境逸逸景 发表于 2025-2-26 20:18:32

路过,支持一下啦
页: [1] 2 3 4 5 6 7
查看完整版本: 易语言防破解:R3保护自己的代码段不被修改,直接废掉Wri...