汇编偏移到c++代码的问题
ASSEMBLY Offset to C++ Code question
我一直在尝试将此代码转换为没有任何内联的c++,但我无法弄清楚…
说你得到了这行
sub edx, (offset loc_42C1F5+5)
我的六边形射线给了我
edx -= (uint)((char*)loc_42C1F5 + 5))
但是如果没有loc_42C1F5
,它会是什么样子呢?
我想应该是
edx -= 0x42C1FA;
但这是正确的吗?(不能在任何汇编器级别的调试器中对这段代码进行步进。因为它损坏了,保护得很好)
loc_42C1F5实际上是一个标签…
seg000:0042C1F5 loc_42C1F5: ; DATA XREF: sub_4464A0+2B5o
seg000:0042C1F5 mov edx, [esi+4D98h]
seg000:0042C1FB lea ebx, [esi+4D78h]
seg000:0042C201 xor eax, eax
seg000:0042C203 xor ecx, ecx
seg000:0042C205 mov [ebx], eax
loc_42C1F5
是一个符号。根据你提供的信息,我不能说它的补偿是多少。它可能是0x42C1F5,也可能完全是其他的东西。
如果是0x42C1F5,那么你的翻译应该是正确的。
IDA错误地将0x42C1FA标识为偏移量,Hex-Rays使用了这种解释。只需将其转换为普通数字(按0),一切都会很好。这就是为什么它被称为交互式反汇编器:)
相关文章:
- 在黑客地球上没有获得以下C ++代码问题的输出
- VS 代码C++问题
- 插入操作的二叉搜索树代码问题
- 如何在代码问题中解决此问题 代码强制
- 发送和十六进制消息时套接字代码C++问题
- 代码问题将字符串转换为图表执行
- C 代码问题?编译器问题?代码块
- 代码问题.使用矢量删除相同的数字,除了它的最后一个入口
- 迭代列表以查找元素的出现.代码问题
- 使用JNI从Java调用本机(C++)函数时发生访问冲突:这是我的代码问题,还是已知问题
- XCode 4.5简单的OpenGL C 代码问题
- 在VS 2010上使用boost::interprocess生成代码问题
- 简单代码问题-未定义标识符
- 基本的c++代码问题
- 识别C++代码问题
- C++角色战斗代码问题
- OpenScenegraph 示例代码问题
- PortAudio示例代码问题
- 关于cout和cin的c++简单代码问题
- 关于歧义排列的代码问题