Skip to content

Qdb step over command not working correctly #1321

@pxqlinux

Description

@pxqlinux

*Describe the bug
A clear and concise description of what the bug is.

Sample Code

from qiling import *
from qiling.const import *


# sandbox to emulate the EXE
def my_sandbox(path, rootfs):
    # setup Qiling engine
    ql = Qiling(path, rootfs,
                #verbose=QL_VERBOSE.DEBUG,
                ostype=QL_OS.WINDOWS,
                archtype=QL_ARCH.X86,
                )
    ql.debugger = 'qdb'
    # now emulate the EXE
    ql.run()


if __name__ == "__main__":
    # execute Windows EXE under our rootfs
    my_sandbox([
        "~/qiling/examples/rootfs/x86_windows/test.exe"],
        "~/qiling/examples/rootfs/x86_windows")

I am using qdb to debug the windows pe application.
in the code context with:
Sample Code

    > 0x004019e67404            je         0x4019ec                           
       0x004019e8 │ 85ce            test       esi, ecx                           
       0x004019ea7526            jne        0x401a12                           
       0x004019ec │ e894ffffff      call       0x401985                           
       0x004019f1 │ 8bc8            mov        ecx, eax                           
       0x004019f3 │ 3bcf            cmp        ecx, edi                           
       0x004019f57507            jne        0x4019fe                           
       0x004019f7 │ b94fe640bb      mov        ecx, 0xbb40e64f                    
       0x004019fc │ eb0e            jmp        0x401a0c                           
       0x004019fe │ 85ce            test       esi, ecx 

now, zero flag is 1

Expected behavior
je in the current line will jump to 0x4019ec expected
but the application run until finished

so, i check the code in qiling/debugger/qdb/qdb.py at function do_step_over,
the if condition: if prophecy.going: is wrong? maybe if not prophecy.going: ?

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