调试 hellowold 程序,找 mian 函数。为什么第一行代码没往下执行?出现了跳转

2024-08-18 12:56:55 +08:00
 masteryi
#include "windows.h"
#include "tchar.h"

int _tmain(int argc, TCHAR* argv[]) {
	MessageBox(NULL, L"Hello, World!", L"Hello, World!", MB_OK);
}
76F1A942 | 8B4C24 54   | mov ecx,dword ptr ss:[esp+54]                 |
76F1A946 | 33CC        | xor ecx,esp                                   |

第一行执行完没执行第二行,而是跳到了这里,mov 指令为什么会跳转?

775B91C0 | 833D E81467 | cmp dword ptr ds:[776714E8],0                 |
2602 次点击
所在节点    程序员
17 条回复
xuld
2024-08-18 13:06:33 +08:00
因为单词皮错了
masteryi
2024-08-18 13:09:29 +08:00
@xuld 什么意思?什么单词错了?
weiwoxinyou
2024-08-18 13:23:31 +08:00
代码和描述的抽象程度和标题的 mian 函数不相上下
dearmymy
2024-08-18 13:29:17 +08:00
因为你调试得是汇编代码。
masteryi
2024-08-18 13:36:03 +08:00
@dearmymy 是的我在学习汇编,这里不理解想请教一下大家
rb6221
2024-08-18 13:36:13 +08:00
一看标题我就明白了
masteryi
2024-08-18 13:38:40 +08:00
还有个类似的问题
我打开 od 代码停在 775F88B8 按下 f7(step into)为什么没跳到 775F88C1 而是跳到了别处
775F88B8 | EB 07 | jmp ntdll.775F88C1 |
775F88BA | 33C0 | xor eax,eax |
775F88BC | 40 | inc eax |
775F88BD | C3 | ret |
775F88BE | 8B65 E8 | mov esp,dword ptr ss:[ebp-18] |
775F88C1 | C745 FC FEFFFFFF | mov dword ptr ss:[ebp-4],FFFFFFFE |
icy37785
2024-08-18 13:47:33 +08:00
一肚子吐槽不知道从哪里开始吐
sslyd
2024-08-18 13:55:31 +08:00
这是用了 ss 段寄存器吧。你得去查 ss 段选择子才知道他为啥跳转的。这是操作系统的代码吧
mxT52CRuqR6o5
2024-08-18 18:43:17 +08:00
可以尝试不要使用单步调试功能,而是在下一行下一个硬件断点然后 F9 ,你可以看看 ollydbg 断点是靠 int3 中断实现的,某些情况下会跑飞很正常(很多反调试工具都会实现这种效果)
leonme
2024-08-18 19:41:10 +08:00
一个标题,一共两个单词,全都写错?
HongJay
2024-08-19 00:23:31 +08:00
我服了
lysShub
2024-08-19 03:39:43 +08:00
126ium
2024-08-19 07:44:11 +08:00
干我们这行讲究一个仔细认真。像 op 这种毛毛躁躁的应该早日考虑转行
dilrvvr
2024-08-19 09:34:15 +08:00
#define mian main
#define ture true
#define flase false
#difine viod void
dilrvvr
2024-08-19 09:37:01 +08:00
拷贝来的,结果最后一个还拼成了 difine… 没救了
qinxi
2024-08-19 13:52:59 +08:00
@leonme #11 总共三个🙈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1065858

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX