[quote=引用 13 楼 adlay 的回复:] 0FE14383 当然是虚拟地址. 代码出现在这个位置, 如果是 exe, 可能是你的 exe 是经过压缩加密的, 这段代码是程序运行起来后释放到这里了. 也可能是你的 exe 使用了动态基址技术, 加载位置可以随机的. 如果是 dll, 本来就可能被加载到这些位置.
0FE14383 当然是虚拟地址. 代码出现在这个位置, 如果是 exe, 可能是你的 exe 是经过压缩加密的, 这段代码是程序运行起来后释放到这里了. 也可能是你的 exe 使用了动态基址技术, 加载位置可以随机的. 如果是 dll, 本来就可能被加载到这些位置.
你是在哪个窗口看到 74 的? OD 的大多数窗口最左方都会显示地址的呀. 看看那个地址就行了呗.
74 是指令的机器码吧,应该是要将条件转移指令 74 修改为直接的转移指令 EB 。 本就是要修改 exe 文件的问题,还在上面激烈地矢口否认,不知何故。
虚拟地址就是你的代码, 数据等等所有的东西运行的时候在内存中的位置. 内存地址总该知道撒? 你可以认为虚拟地址就是内存地址. 只不过中间会经过操作系统的转换, 不是真正的物理内存的地址, 你暂时不用去关心. 就把虚拟地址当做内存地址好了. 所以, OD 里面你不是要到哪里去查看虚拟地址的问题, 而是你给 OD 一个虚拟地址, 它把对应的代码或数据呈现给你. 当然, 通过菜单 查看->内存 你可以看到程序使用了哪些地址.
虚拟地址,换算偏移地址,一般的程序调试,怎么会有这样的说法。是想根据 OD 里的修改 exe 文件吗?是这样的话,通过特色数据搜索恐怕比换算还简单;换算的话,涉及到 exe 的 pe 文件结构了,有些复杂。
OD里你看到的都是虚拟地址呀
21,459
社区成员
41,601
社区内容
加载中
试试用AI创作助手写篇文章吧