能力值:
( LV2,RANK:10 )
|
-
-
2 楼
我终于找到了,这个问题困扰我很多天了,是在没法子来求助各位啊。
实际上在前面主程序领空的程序代码中,已经提示了是一个DLL文件,我现在直接打开这个DLL文件就看见了,但不能用ASC2码查看,只能用UNICODE码查看才能看到。以前我也打开过这个DLL文件,但没有使用UNICODE码查看,晕了。在主程序运行的时候,直接调用的这个DLL,得到的这些数据。
现在我准备修改这个DLL文件,这样才能修改程序运行后的一些参数。
|
能力值:
( LV12,RANK:300 )
|
-
-
3 楼
楼主都懂得说是“临时的数据”。临时的数据,比如局部变量,或者使用到的缓冲区,在哪里?堆栈中,或程序新申请的内存空间中。堆栈和新申请的内存缓冲区,进程自身可执行模块中根本就没有所对应的段落,根本就是进程运行时创建的,当数据窗口显示的是这些空间中的数据的时候,当然就不能“查看可执行文件”啦。如果你想修改这部分数据,要不就修改生成数据的代码,使之生成不同的数据,要不然就必须用内存补丁而不是文件补丁。
而针对楼主贴出来的图,MapViewOfFileEx,是把文件映像入内存进行操作,这部分程序对于进程来说,也就相当于新申请的内存空间(当然,这是磁盘文件映像进来的,但是跟进程空间中的可执行模块如dll等不一样,后者就可以“查看可执行文件”)。如果想知道映像文件对应磁盘的哪个文件,应该查看句柄表(“查看”-“句柄”),调用MapViewOfFileEx前push的最后一个参数,就是文件映像句柄,从句柄表中找到这个句柄对应的对象名。注意,这些映像文件通常也是程序运行时创建的(用于多线程共享数据等目的),所以,多数还是要在程序运行中修改,即内存补丁,而非文件补丁。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
谢谢轩辕小聪,你说的这些非常好,谢谢你
|
能力值:
( LV12,RANK:300 )
|
-
-
5 楼
又看了2楼的,吓我一跳。这两个dll是kernel32.dll和ntdll.dll,可以看出是win2000系统下,这两个是系统关键的dll,不能直接修改!而且这两个dll只是完成API函数的功能,实际上不是影响你的数据的关键,生成的数据内容是什么样的,是程序指定的,而不是系统dll指定的……
还是那句话,如果真是要修改临时生成的数据,内存补丁吧,不要文件补丁……
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
谢谢,我修改的文件,不是这两个DLL,这两个DLL是不能修改的。呵呵是另外一个我安装文件夹内的DLL。我一直使用的2000系统,用习惯了,主要是机子配置不高,2000下运行特别的快,XP就慢多啦。
谢谢轩辕小聪,呵呵主要是自己的能力的确还不过关,很多DLL都不太了解。看样子得继续继续努力呀
另外OD很多插件也没搞懂,一知半解的,真的是愧对各位大侠
|
|
|