在哪里可以在invokeNative asm函数中传递参数?

时间:2018-11-05 09:16:43

标签: assembly x86 java-native-interface native invoke

此ia32 ASM代码来自apache项目,用于JNI调用。如何分析此代码中的参数传递到哪里?

我的目标是在其中添加一些代码,条件是参数编号为0。

对于JNI,至少有env参数,此代码是正确的。但是我想将代码用于其他事情,在这种情况下,没有env参数。有人知道如何添加“如果(0个参数){不推送参数}其他{推送参数}”判断吗?

invokeNative:
    push    %ebp
    movl    %esp, %ebp
    push    %ecx
    movl    8(%ebp), %eax
    movl    12(%ebp), %ecx
    leal    -4(%eax,%ecx,4), %eax
    subl    %esp, %eax
1:
    push    0(%esp,%eax)
    loop 1b
    movl    -4(%ebp), %ecx
    movl    16(%ebp), %eax
    call    *%eax
    leave
    ret

0 个答案:

没有答案
相关问题