一点关于dll和exe的小研究和小失败

本文探讨了使用C#编写DLL并尝试通过内存编辑器修改其内存数据的过程。作者分享了在DLL和EXE中寻找特定变量地址的不同体验,以及在调试过程中遇到的问题和解决思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天我用c#自己编写了一个dll文件,并执行。同时用CE在一个调用了dll的exe执行时成功了修改了内存数据(必然用了小小的技巧跟踪了一下找到了变量的内存地址,应该是逻辑地址)。但是直接用CE查找dll文件时,却跟踪不到那个变量。我是给那个变量一个初始值,然后查找初始值,但是却找不到。而在跟踪exe时,我在那个变量每次自增1时(当然是我在dll里自己设定的),scan一次,scan了几次之后就找到了。这有点郁闷。

后来我继续网上查了资料。发现修改war3内存数据有两种方式,一是直接修改dll,而是在exe运行时修改内存数据。而这两种方式中的地址有这种映射关系,就是加载dll会给dll模块一个模块基地址gameaddr,也称加载地址。我想是这样的:加载地址+数据在dll的相对地址=数据的内存地址(这应该可以验证的)。但是这还是解释不了我上面的那个问题。难道是因为c#编的dll跟原来实质的dll有所区别而造成的?

DLL-FiLes com Fixer 3.3.9 中文特别版能够扫描您系统的注册表错误。这些错误通常源自您的电脑上已安装/或已卸载的各种软件。它们常常是电脑速度变慢的原因。深入扫描、描、清理优化您的注册表,以便提升您的电脑性能。 DLL-FiLes com Fixer 中文版DLL-FiLes com Fixer 中文版 DLL-FiLes com Fixer 3.2 中文注册版提供了全面的备份还原支持。如要回到任何先前的配置,只需从备份注册表列表中选择一个项目,然后单击”还原”按钮以便开始还原过程; 安装DLL文件:输入你想要安装的DLL文件名,在互联网上搜索并下载想要的DLL文件 与系统相关的错误; 影响电脑上所有用户配置文件的错误; ComActiveX 错误错误; 与ComActive组件相关的错误; 记卸载错误,与启动卸载有关的错误,影响你个人配置文件的错误 DLL-files Fixer 高级版的 优点 可以消除 .dll 相关错误,确保软件运行顺畅。 可以消除 .dll 相关弹出式系统错误消息。 可以修复注册表,并且清除其中的恼人无效注册表项。 可以通过没有错误的干净注册表优化个人电脑性能,提高系统速度。 对注册表进行碎片整理以减少开机时间及降低内存使用。 可以防止应用程序个人电脑崩溃。 修复长期使用带来的问题。 12-个月, 24-个月, 36-个月 的许可证 容易使用的二合一界面。 注册方法 DLL-files Fixer 启动 DLL-Files Fixer 软件 点击位于右上角的“现在注册”标签 3. 从您的付款确认邮件里复制许可证号,粘贴到最上面的区域,并单击“现在注册”按钮 4. 立即就能使用此程序的所有特性!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值