使用sscanf的汇编代码

时间:2017-11-07 14:02:01

标签: assembly scanf x86-64

我正在尝试理解以下汇编代码。我知道该函数需要6个DWORD作为参数。

sub rsp, 8            
mov rdx, rsi                :move first DWORD in rdx
lea rcx, [rsi + 4]          ;load effective address in rcx using 2nd DWORD
lea rax, [rsi + 20]         ;same as above using 6th DWORD
push rax                    ;push rax on stack
lea rax, [rsi + 16]         
push rax
lea r9, [rsi + 12]          ;load eff add using 4th DWORD
lea r8, [rsi + 8]           ;same as above using 3rd DWORD
mov esi, "\0x25\0x64\0x20"  ;move that stuff in esi
mov eax, 0                  ;mov 0 in eax
call __isoc99_sscanf        ;call sscanf

我基本上已经尝试过将其翻译过来,但我仍然坚持在调用sscanf时会发生什么。我已经在这里待了三个多小时,这让我发疯了。毋庸置疑,我是一个相对集会的初学者,这使得这更加困难。

编辑:感谢你的回答到目前为止,正如提到的相对初学者意味着我的评论可能不是非常有用。我没有自己拆解文件,我使用了IDA

0 个答案:

没有答案