Skip to content

x86 samples segfault on ARM #860

@darkf

Description

@darkf

Tested on current HEAD (da21bd0).

gdb sessions:

sample_x86:

Starting program: /home/darkf/unicorn/samples/sample_x86 
Cannot parse expression `.L1185 4@r4'.
warning: Probes-based dynamic linker interface failed.
Reverting to original interface.

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
Emulate x86 16-bit code

Program received signal SIGSEGV, Segmentation fault.
0xb6f1b576 in helper_svm_check_intercept_param (env=0x0, type=120, param=0) at /home/darkf/unicorn/qemu/target-i386/svm_helper.c:486
486	    if (likely(!(env->hflags & HF_SVMI_MASK))) {
(gdb) bt
#0  0xb6f1b576 in helper_svm_check_intercept_param (env=0x0, type=120, param=0)
    at /home/darkf/unicorn/qemu/target-i386/svm_helper.c:486
#1  0xb6f1b85a in cpu_svm_check_intercept_param (env=0x0, type=120, param=0) at /home/darkf/unicorn/qemu/target-i386/svm_helper.c:548
#2  0xb6f609aa in helper_hlt (env=0x0, next_eip_addend=1) at /home/darkf/unicorn/qemu/target-i386/misc_helper.c:552
#3  0xb65080f4 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?) 

shellcode (same line as with sample_x86_32_gdt_and_seg_regs):


>>> Start tracing this Linux code

Program received signal SIGSEGV, Segmentation fault.
0xb6fa1b96 in helper_uc_tracecode (size=214408, type=(unknown: 3058728960), handle=0xb6008008, address=8589934594) at ../uc.c:1129
1129	    struct list_item *cur = uc->hook[type].head;
(gdb) bt
#0  0xb6fa1b96 in helper_uc_tracecode (size=214408, type=(unknown: 3058728960), handle=0xb6008008, address=8589934594)
    at ../uc.c:1129
#1  0xb650803c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions