0

私は meta-pc アセンブラーを初めて使用するので、一部の機能を元に戻す方法について助けが必要です。予約する必要がある機能は次のとおりです。

    public function

var_80      = byte ptr -80h
arg_0      = dword   ptr  8
arg_4      = dword   ptr  0Ch

    push   ebp
    mov   ebp, esp
    and   esp, 0FFFFFFF8h
    sub   esp, 80h
    mov   eax, [ebp+arg_4]
    cmp   eax, 80h
    push   esi
    push   edi
    jl   short loc_100032DD
    mov   eax, 7Fh

loc_100032DD:            ; CODE XREF: c4atoi+16j
    mov   esi, [ebp+arg_0]
    mov   ecx, eax
    mov   edx, ecx
    shr   ecx, 2
    lea   edi, [esp+88h+var_80]
    rep movsd
    mov   ecx, edx
    and   ecx, 3
    rep movsb
    mov   [esp+eax+88h+var_80], 0
    lea   eax, [esp+88h+var_80]
    push   eax      ; char *
    call   j__atol
    add   esp, 4
    pop   edi
    pop   esi
    mov   esp, ebp
    pop   ebp
    retn   8
function      endp

したがって、関数パラメーターの数と型、および返される型を取得する必要があります。どうすれば入手できますか?

4

1 に答える 1

1

j__atolその関数は、関数の呼び出しと関数への参照に基づいて、文字列を整数に変換するコードですatol。機能の詳細:

呼び出し規約:
stdcall

第 1 パラメーター ( arg_0):
null で終了する文字列のアドレス。

第 2 パラメーター ( arg_4):
指定された文字列の長さ。最初の 127 文字だけが処理されます。

戻り値:
EAX レジスタ。

于 2012-08-17T18:49:01.220 に答える