Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 如何解读ncval';谁的产量?_Assembly_Google Nativeclient - Fatal编程技术网

Assembly 如何解读ncval';谁的产量?

Assembly 如何解读ncval';谁的产量?,assembly,google-nativeclient,Assembly,Google Nativeclient,我正在尝试将一些软件移植到本机客户端。出于速度原因,它在代码中的多个位置使用一些内联asm。(大多数都是简单的单线式,非常简单,应该被认为是安全的。) 我得到了该项目的编译和链接,但目前它未能通过Chrome的代码分析。Ncval输出以下内容: segment[0] p_type 6 p_offset 0 vaddr 0 paddr 0 align 4 filesz b4 memsz b4 flags 4 segment[1] p_type 1 p_offset 10000 vaddr

我正在尝试将一些软件移植到本机客户端。出于速度原因,它在代码中的多个位置使用一些内联asm。(大多数都是简单的单线式,非常简单,应该被认为是安全的。)

我得到了该项目的编译和链接,但目前它未能通过Chrome的代码分析。Ncval输出以下内容:

segment[0] p_type 6 p_offset 0 vaddr 0 paddr 0 align 4
    filesz b4 memsz b4 flags 4
segment[1] p_type 1 p_offset 10000 vaddr 20000 paddr 20000 align 65536
    filesz 2e91a0 memsz 2e91a0 flags 5
parsing segment 1
VALIDATOR: 31be8: Illegal instruction
segment[2] p_type 1 p_offset 300000 vaddr 10020000 paddr 10020000 align 65536
    filesz 72aac memsz 72aac flags 4
segment[3] p_type 1 p_offset 380000 vaddr 100a0000 paddr 100a0000 align 65536
    filesz 1cb8 memsz 29658 flags 6
*** client_x86_32.nexe IS UNSAFE ***
Validated client_x86_32.nexe
***  client_x86_32.nexe is UNSAFE ***
但我真的不知道这个输出意味着什么。我可以看到它至少发现了一条非法指令。我对client_x86_32.nexe做了一个objdump,我试图根据ncval的输出找出非法指令的地址,但我做不到,因为我不知道如何根据ncval的输出计算它

欢迎任何帮助


(同时,我将开始从代码中删除asm块,并希望找到有问题的块,以便能够安全地更正它。)

验证程序的输出提供了代码地址0x31be8。尝试在client_x86_32.nexe上使用gdb或objdump查看地址0x31be8处的指令,并将其与asm块进行比较。

谢谢,我不知道我怎么会错过它。我还发现了ncval annote,它可以自动执行这些步骤。