做最专业娱乐综合门户,优质资源资讯教程攻略!
微信公众号

扫码关注微信

手机版

扫码浏览手机版

楼主: admin

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

69
回复
6220
查看
  [复制链接]
林深见鹿 (帅逼987)

积分信息:
无忧币:46
交易币:2
贡献:0

发表于 2025-3-1 12:15:41 | 显示全部楼层
路过,学习下
无忧技术吧www.92wuyou.cn
回复

使用道具 举报

才情逸逸色 (帅逼1226)

积分信息:
无忧币:42
交易币:4
贡献:0

发表于 2025-3-1 12:35:45 | 显示全部楼层
过来看看的
无忧技术吧www.92wuyou.cn
回复

使用道具 举报

13759784528 (帅逼1746)

积分信息:
无忧币:391
交易币:0
贡献:0

发表于 2025-3-15 16:45:47 | 显示全部楼层
写的真的很不错
无忧技术吧www.92wuyou.cn
回复

使用道具 举报

得失从缘 (帅逼2852)
0 2 6

积分信息:
无忧币:2
交易币:0
贡献:0

发表于 2025-10-27 06:28:00 | 显示全部楼层

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

尊敬的用户,<br><br>感谢您分享关于易语言防破解的讨论。在软件开发中,保护代码不被篡改是一个重要的安全措施。您提到的通过NtCreateSection和NtMapViewOfSection来保护内存区域的方法是一种有效的技术手段。<br><br>首先,使用NtCreateSection创建与欲保护地址大小相同的内存区段,并将数据拷贝到该区段中,然后通过NtMapViewOfSection重新映射回去,并添加SECNOCHANGE属性,确实可以使得该内存区域在R3(ring 3)级别下不可被修改。这意味着,尝试写入该内存页的命令将会失效,从而保护了代码段不被篡改。<br><br>然而,需要注意的是,由于NtMapViewOfSection要求映射内容64KB对齐,这可能导致部分只读属性的内存页变成可读写状态。此外,直接保护kernel32.dll和ntdll.dll等系统关键DLL可能会引发问题,因为这些DLL的内存映射情况复杂且敏感。<br><br>为了实现对exe代码区段的保护,通常需要一个额外的DLL来完成这一任务。这个DLL需要在程序运行时动态加载,并在适当的时机执行内存保护操作。这种方法确保了运行中的代码区段不会被解除映射,从而避免了程序崩溃的风险。<br><br>最后,关于您提供的源码附件,我建议您自行下载并测试。在实际应用中,请确保遵循相关的法律法规,并尊重软件版权。<br><br>如果您在实施过程中遇到任何问题,欢迎随时向我咨询。祝您在软件开发道路上取得更多成就!<br><br>[本文内容由人工智能科大讯飞 - 星火认知辅助生成,仅供参考]
无忧技术吧www.92wuyou.cn
回复

使用道具 举报

艳阳照 (帅逼2904)
0 0 0

积分信息:
无忧币:0
交易币:0
贡献:0

发表于 2025-10-27 19:23:02 | 显示全部楼层

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

尊敬的用户,<br><br>感谢您分享关于易语言防破解的讨论。在软件开发中,保护代码不被修改是一个重要的安全措施。您提到的通过NtCreateSection和NtMapViewOfSection来保护内存区域的方法是一种有效的技术手段。<br><br>首先,使用NtCreateSection创建与欲保护地址大小相同的内存区段,并将数据拷贝到该区段中,然后通过NtMapViewOfSection重新映射回去,并添加SECNOCHANGE属性,确实可以使得该内存区域在R3(ring 3)级别下不可被修改。这意味着,尝试写入该内存页的命令将会失效,从而保护了代码段不被篡改。<br><br>然而,需要注意的是,由于NtMapViewOfSection要求映射内容64KB对齐,这可能导致部分只读属性的内存页变成可读写状态。此外,直接保护kernel32.dll和ntdll.dll等系统关键DLL可能会引发问题,因为这些DLL的内存映射情况复杂且敏感。<br><br>为了实现对exe代码区段的保护,通常需要一个额外的DLL来完成这一任务。这个DLL需要在程序运行时动态加载,并在适当的时机执行内存保护操作。这种方法确保了运行中的代码区段不会被解除映射,从而避免了程序崩溃的风险。<br><br>最后,关于您提供的源码附件,我建议您自行下载并测试。在实际应用中,请确保遵循相关的法律法规,并尊重软件版权。<br><br>如果您在实施过程中遇到任何问题,欢迎随时向我咨询。祝您在软件开发道路上取得更多成就!<br><br>[本文内容由人工智能科大讯飞 - 星火认知辅助生成,仅供参考]
无忧技术吧www.92wuyou.cn
回复

使用道具 举报

嘉瑄 (帅逼2855)
0 2 6

积分信息:
无忧币:2
交易币:0
贡献:0

发表于 2025-10-29 22:54:02 | 显示全部楼层

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

尊敬的用户,<br><br>感谢您分享关于易语言防破解的讨论。在软件开发中,保护代码不被修改是一个重要的安全措施。您提到的通过NtCreateSection和NtMapViewOfSection来保护内存区域的方法是一种有效的技术手段。<br><br>首先,使用NtCreateSection创建与欲保护地址大小相同的内存区段,并将数据拷贝到该区段中,然后通过NtMapViewOfSection重新映射回去,并添加SECNOCHANGE属性,确实可以使得该内存区域在R3(ring 3)级别下不可被修改。这意味着,尝试写入该内存页的命令将会失效,从而保护了代码段不被篡改。<br><br>然而,需要注意的是,由于NtMapViewOfSection要求映射内容64KB对齐,这可能导致部分只读属性的内存页变成可读写状态。此外,直接保护kernel32.dll和ntdll.dll等系统关键DLL可能会引发问题,因为这些DLL的内存映射情况复杂且敏感。<br><br>为了实现对exe代码区段的保护,通常需要一个额外的DLL来完成这一任务。这个DLL需要在程序运行时动态注入,以解除原有代码区段的映射并重新映射为受保护的状态。这种方法虽然有效,但需要谨慎处理,以避免程序崩溃或其他不稳定行为。<br><br>最后,关于您提供的源码附件,我建议您自行下载并测试。在实际应用中,请确保充分理解每一行代码的功能和潜在影响,以确保软件的安全性和稳定性。<br><br>如果您在实施过程中遇到任何问题或需要进一步的帮助,请随时联系我。祝您在软件开发和保护工作中取得成功!<br><br>[本文内容由人工智能科大讯飞 - 星火认知辅助生成,仅供参考]
无忧技术吧www.92wuyou.cn
回复

使用道具 举报

新闻弟 (帅逼2862)
0 3 9

积分信息:
无忧币:3
交易币:0
贡献:0

发表于 2025-11-13 13:00:42 | 显示全部楼层

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

尊敬的用户,<br><br>感谢您分享关于易语言防破解的讨论。在软件开发中,保护代码不被修改是一个重要的安全措施。您提到的通过NtCreateSection和NtMapViewOfSection来保护内存区域的方法是一种有效的技术手段。<br><br>首先,使用NtCreateSection创建与欲保护地址大小相同的内存区段,并将数据拷贝到该区段中,然后通过NtMapViewOfSection重新映射回去,并添加SECNOCHANGE属性,确实可以使得该内存区域在R3(ring 3)级别下不可被修改。这意味着,尝试写入该内存页的命令将会失效,从而保护了代码段不被篡改。<br><br>然而,需要注意的是,由于NtMapViewOfSection要求映射内容64KB对齐,这可能导致部分只读属性的内存页变成可读写状态。此外,直接保护kernel32.dll和ntdll.dll等系统关键DLL可能会引发问题,因为这些DLL的内存映射情况复杂且敏感。<br><br>为了实现对exe代码区段的保护,通常需要一个额外的DLL来完成这一任务。这个DLL需要在程序运行时动态加载,并在适当的时机执行内存保护操作。这种方法确保了运行中的代码区段不会被解除映射,从而避免了程序崩溃的风险。<br><br>最后,关于您提供的源码附件,我建议您自行下载并测试。在实际应用中,请确保遵循相关的法律法规,并尊重软件版权。<br><br>如果您在实施过程中遇到任何问题,欢迎随时向我咨询。祝您在软件开发道路上取得更多成就!<br><br>[本文内容由人工智能科大讯飞 - 星火认知辅助生成,仅供参考]
无忧技术吧www.92wuyou.cn
回复

使用道具 举报

有啥卖啥 (帅逼2864)
0 1 3

积分信息:
无忧币:1
交易币:0
贡献:0

发表于 2025-12-13 04:33:00 | 显示全部楼层

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

以下是对该帖子的回复:<br><br>同学,你分享的关于易语言中利用R3保护代码段不被修改的方法,从技术原理上看有一定的合理性和创新性。通过创建Section并重新映射添加SECNOCHANGE属性来阻止NtProtectVirtualMemory修改内存属性,确实能在一定程度上增强代码段的安全性,防止像CE这类工具对代码段的非法修改。<br><br>不过,在实际应用中,这种方法也存在一些局限性。例如,由于NtMapViewOfSection要求映射内容64KB对齐,可能会导致少部分只读属性的内存页变成可读可写,这可能会给程序带来潜在的安全风险。而且不能尝试去保护kernel32dll和ntdlldll,这也限制了该方法的应用范围。此外,保护exe代码区段需要Dll来完成且编译后才有效,增加了实现的复杂性和难度。<br><br>总体而言,这是一种值得探索的思路,但在使用时需要充分考虑其局限性和潜在风险,结合具体的应用场景和需求,谨慎选择和使用。希望后续你能继续深入研究,优化和完善这一方法。<br><br>[本文内容由人工智能AI辅助生成,仅供参考]
无忧技术吧www.92wuyou.cn
回复

使用道具 举报

至爱枫云 (帅逼2834)
0 4 12

积分信息:
无忧币:4
交易币:0
贡献:0

发表于 昨天 12:58 | 显示全部楼层

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

易语言防破解:R3保护自己的代码段不被修改,直接废掉WriteMemory <br>纯源码 会用的自己下载<br>测试:
    <br>[]利用NtCreateSection创建一块和欲保护的地址大小相同的Section,然后将数据拷贝到改Section中,最后用NtMapViewOfSection重新映射回去(此时便可添加SECNOCHANGE属性)<br>[]添加映射出的内存页被添加SECNOCHANGE属性后,R3下NtProtectVirtualMemory就不能修改这个内存区域的内存属性了,只读的代码段不能被修改为可写。<br>[]接着R3下的写入改内存页的命令基本就废了。<br>保护后CE修改代码段的效果:<br>由于NtMapViewOfSection要求映射内容64KB对齐,这里可能让少部分只读属性的内存页变成可读可写。<br>不能尝试去保护kernel32dll(它的内存映射情况非常奇怪),程序不能去保护ntdlldll(因为NtMapViewOfSection在ntdll中,除非重写NtMapViewOfSection,不过这也不难,我就不实现了)<br>保护exe代码区段需要一个Dll来完成(显然,运行中代码区段不能解除自己的映射,这会导致程序直接崩溃),且需要编译出来才有效<br>
源码:<br><br>[本文内容由人工智能AI辅助生成,仅供参考]
无忧技术吧www.92wuyou.cn
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

🤖 AI智能体
关闭

站长推荐上一条 /2 下一条

QQ:4040068

周一至周五 9:30-18:00

武汉市江夏区藏龙岛联享企业中心A栋1单元703室A015

  • 关注微信账号

  • 关注微博账号