我正在尝试理解以下汇编代码。我知道该函数需要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