Skip to content

Crashes when trying to decomile babymips #1

@Kyle-Kyle

Description

@Kyle-Kyle

It disassembles fine but crashes immediately when I press F5.
The target binary is the babymips included in the repo. My ida version is Version 7.6.210427 Linux x86_64 (32-bit address size)

The log looks like this:

$ ida
2021-10-27 15:13:45.448 (   0.000s) [        3CB76880]              nmips.cpp:462   INFO| Logging to log file (null)
2021-10-27 15:13:45.448 (   0.000s) [        3CB76880]            elf_ldr.cpp:24    INFO| relocation storage does not exist
2021-10-27 15:13:48.622 (   3.173s) [        3CB76880]              nmips.cpp:198   INFO| loader_elf_machine(0xf9)
2021-10-27 15:13:48.622 (   3.173s) [        3CB76880]              nmips.cpp:200   INFO| nanoMIPS elf detected!
2021-10-27 15:13:48.622 (   3.173s) [        3CB76880]              nmips.cpp:587   INFO| Processor: 0
2021-10-27 15:13:51.361 (   5.912s) [        3CB76880]            elf_ldr.cpp:178   INFO| handle_relocation(0x4200bc, 0x420108, 0x420108, t: 10): , _ITM_deregisterTMCloneTable, 0x420108
2021-10-27 15:13:51.361 (   5.912s) [        3CB76880]            elf_ldr.cpp:119   INFO| patching symbol _ITM_deregisterTMCloneTable 0x4200bc = 0x420108
2021-10-27 15:13:52.014 (   6.565s) [        3CB76880]            elf_ldr.cpp:178   INFO| handle_relocation(0x4200c0, 0x42010c, 0x42010c, t: 10): , _ITM_registerTMCloneTable, 0x42010c
2021-10-27 15:13:52.014 (   6.565s) [        3CB76880]            elf_ldr.cpp:119   INFO| patching symbol _ITM_registerTMCloneTable 0x4200c0 = 0x42010c
2021-10-27 15:13:52.014 (   6.565s) [        3CB76880]            elf_ldr.cpp:178   INFO| handle_relocation(0x4200c4, 0x420110, 0x420110, t: 10): , __deregister_frame_info, 0x420110
2021-10-27 15:13:52.014 (   6.565s) [        3CB76880]            elf_ldr.cpp:119   INFO| patching symbol __deregister_frame_info 0x4200c4 = 0x420110
2021-10-27 15:13:52.014 (   6.565s) [        3CB76880]            elf_ldr.cpp:178   INFO| handle_relocation(0x4200c8, 0x420114, 0x420114, t: 10): , __register_frame_info, 0x420114
2021-10-27 15:13:52.014 (   6.565s) [        3CB76880]            elf_ldr.cpp:119   INFO| patching symbol __register_frame_info 0x4200c8 = 0x420114
2021-10-27 15:13:52.014 (   6.565s) [        3CB76880]            elf_ldr.cpp:178   INFO| handle_relocation(0x4200cc, 0x420118, 0x420118, t: 10): , _Jv_RegisterClasses, 0x420118
2021-10-27 15:13:52.014 (   6.565s) [        3CB76880]            elf_ldr.cpp:119   INFO| patching symbol _Jv_RegisterClasses 0x4200cc = 0x420118
2021-10-27 15:13:52.014 (   6.565s) [        3CB76880]            elf_ldr.cpp:178   INFO| handle_relocation(0x4200d0, 0x420120, 0x420120, t: 11): , read, 0x420120
2021-10-27 15:13:52.014 (   6.565s) [        3CB76880]            elf_ldr.cpp:119   INFO| patching symbol read 0x4200d0 = 0x420120
2021-10-27 15:13:52.014 (   6.565s) [        3CB76880]            elf_ldr.cpp:178   INFO| handle_relocation(0x4200d4, 0x420124, 0x420124, t: 11): , strncmp, 0x420124
2021-10-27 15:13:52.014 (   6.565s) [        3CB76880]            elf_ldr.cpp:119   INFO| patching symbol strncmp 0x4200d4 = 0x420124
2021-10-27 15:13:52.014 (   6.565s) [        3CB76880]            elf_ldr.cpp:178   INFO| handle_relocation(0x4200d8, 0x420128, 0x420128, t: 11): , puts, 0x420128
2021-10-27 15:13:52.014 (   6.565s) [        3CB76880]            elf_ldr.cpp:119   INFO| patching symbol puts 0x4200d8 = 0x420128
2021-10-27 15:13:52.014 (   6.565s) [        3CB76880]            elf_ldr.cpp:178   INFO| handle_relocation(0x4200dc, 0x42011c, 0x42011c, t: 11): , memset, 0x42011c
2021-10-27 15:13:52.014 (   6.565s) [        3CB76880]            elf_ldr.cpp:119   INFO| patching symbol memset 0x4200dc = 0x42011c
2021-10-27 15:13:52.014 (   6.565s) [        3CB76880]            elf_ldr.cpp:178   INFO| handle_relocation(0x4200e0, 0x420104, 0x420104, t: 11): , __libc_start_main, 0x420104
2021-10-27 15:13:52.014 (   6.565s) [        3CB76880]            elf_ldr.cpp:119   INFO| patching symbol __libc_start_main 0x4200e0 = 0x420104
2021-10-27 15:13:52.141 (   6.692s) [        3CB76880]               mgen.cpp:127   INFO| saving temp 320.16 (t0)
2021-10-27 15:13:52.141 (   6.692s) [        3CB76880]               mgen.cpp:127   INFO| saving temp 336.16 (t1)
2021-10-27 15:13:52.141 (   6.692s) [        3CB76880]               mgen.cpp:127   INFO| saving temp 352.16 (t2)
2021-10-27 15:13:52.141 (   6.692s) [        3CB76880]               mgen.cpp:127   INFO| saving temp 368.16 (t3)
2021-10-27 15:13:52.141 (   6.692s) [        3CB76880]              nmips.cpp:528   INFO| Successfully installed mgen filter!
2021-10-27 15:13:52.141 (   6.692s) [        3CB76880]              nmips.cpp:534   INFO| Found got segment: 0x4200ac
2021-10-27 15:13:52.141 (   6.692s) [        3CB76880]              nmips.cpp:541   INFO| Successfully set default sreg value to: 0x4200ac
2021-10-27 15:13:52.419 (   6.971s) [        3CB76880]                emu.cpp:302   INFO| [0x4004fa] is_switch = true
2021-10-27 15:13:52.516 (   7.067s) [        3CB76880]                emu.cpp:302   INFO| [0x4004fa] is_switch = true
Oops, IDA has almost crashed! (signum=11)

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