现在我正在玩一个我在OpenSecurityTraining 上找到的小培训应用程序。
所以,我分析了这段代码,我想我很理解这一点。我唯一不明白的是cmp和jeat 行0x004010e3,0x004010e7这似乎是一些if条件。但是,我无法弄清楚应该满足哪个条件才能执行跳转指令。
我的解决方法是在执行eip该cmp行时进行操作。但是,我的问题是必须设置什么条件才能接受je指令?
004010e0 55 push ebp
004010e1 8bec mov ebp,esp
004010e3 837d0803 cmp dword ptr [ebp+8],3
004010e7 7412 je mystery!main+0x1b (004010fb)
004010e9 6834404200 push offset mystery!__rtc_tzz <PERF> (mystery+0x24034) (00424034)
004010ee e81c040000 call mystery!printf (0040150f)
004010f3 83c404 add esp,4
004010f6 83c8ff or eax,0FFFFFFFFh
004010f9 eb0b jmp mystery!main+0x26 (00401106)
004010fb e80affffff call mystery!mystery_function+0xffffffff`ffffffea (0040100a)
00401100 eb02 jmp mystery!main+0x24 (00401104)
00401102 eb02 jmp mystery!main+0x26 (00401106)
00401104 33c0 xor eax,eax
00401106 5d pop ebp
00401107 c3 ret