3

I'm getting the following Ghidra decompile error on one function:

Low-level Error: Symbol $$undef00000008 extends beyond the end of the address space

I don't see anything unusual about the disassembly, and the functions before and after decompilation are fine.

What is Ghidra telling me is wrong, and how do I fix it?

The disassembled function:

                         **************************************************************
                         *                                                            *
                         *  FUNCTION                                                  *
                         **************************************************************
                         void __cdecl16near FUN_1000_03d5(void)
         void              <VOID>         <RETURN>
         undefined1        Stack[-0x3]:1  local_3                                 XREF[1]:     1000:0439(*)  
         undefined2        Stack[-0x5]:2  local_5                                 XREF[2]:     1000:03f1(*), 
                                                                                               1000:0490(*)  
         undefined2        Stack[-0x7]:2  local_7                                 XREF[2]:     1000:03f5(*), 
                                                                                               1000:0493(*)  
                         FUN_1000_03d5                                   XREF[2]:     FUN_1000_05b9:1000:0a4b(c), 
                                                                                      1000:d876(c)  
   1000:03d5 55              PUSH       BP
   1000:03d6 83 ec 09        SUB        SP,0x9
   1000:03d9 8b ec           MOV        BP,SP
   1000:03db 83 3e d2        CMP        word ptr [0xd2],0x1
             00 01
   1000:03e0 75 03           JNZ        LAB_1000_03e5
   1000:03e2 e8 c9 00        CALL       FUN_1000_04ae                                    undefined FUN_1000_04ae()
                         LAB_1000_03e5                                   XREF[1]:     1000:03e0(j)  
   1000:03e5 c7 06 d2        MOV        word ptr [0xd2],0x1
             00 01 00
   1000:03eb c7 06 1a        MOV        word ptr [0x401a],0x0
             40 00 00
   1000:03f1 8d 46 06        LEA        AX,[BP + local_5]
   1000:03f4 50              PUSH       AX
   1000:03f5 8d 46 04        LEA        AX,[BP + local_7]
   1000:03f8 50              PUSH       AX
   1000:03f9 e8 52 41        CALL       FUN_1000_454e                                    undefined FUN_1000_454e(undefine
   1000:03fc 8b e5           MOV        SP,BP
   1000:03fe 33 c0           XOR        AX,AX
   1000:0400 50              PUSH       AX
   1000:0401 50              PUSH       AX
   1000:0402 e8 50 40        CALL       FUN_1000_4455                                    undefined FUN_1000_4455(undefine
   1000:0405 8b e5           MOV        SP,BP
   1000:0407 e8 7b 41        CALL       FUN_1000_4585                                    undefined FUN_1000_4585()
   1000:040a 33 c0           XOR        AX,AX
   1000:040c 50              PUSH       AX
   1000:040d 50              PUSH       AX
   1000:040e e8 44 40        CALL       FUN_1000_4455                                    undefined FUN_1000_4455(undefine
   1000:0411 8b e5           MOV        SP,BP
   1000:0413 82 3e 5d        CMP        byte ptr [0x345d],0x0
             34 00
   1000:0418 74 0b           JZ         LAB_1000_0425
   1000:041a b8 d4 00        MOV        AX,0xd4
   1000:041d 50              PUSH       AX
   1000:041e e8 a3 5b        CALL       FUN_1000_5fc4                                    undefined FUN_1000_5fc4(undefine
   1000:0421 8b e5           MOV        SP,BP
   1000:0423 eb 09           JMP        LAB_1000_042e
                         LAB_1000_0425                                   XREF[1]:     1000:0418(j)  
   1000:0425 b8 f6 00        MOV        AX,0xf6
   1000:0428 50              PUSH       AX
   1000:0429 e8 98 5b        CALL       FUN_1000_5fc4                                    undefined FUN_1000_5fc4(undefine
   1000:042c 8b e5           MOV        SP,BP
                         LAB_1000_042e                                   XREF[1]:     1000:0423(j)  
   1000:042e 33 c0           XOR        AX,AX
   1000:0430 50              PUSH       AX
   1000:0431 e8 aa c1        CALL       FUN_1000_c5de                                    undefined FUN_1000_c5de(undefine
   1000:0434 8b e5           MOV        SP,BP
   1000:0436 e8 d5 55        CALL       FUN_1000_5a0e                                    undefined FUN_1000_5a0e()
   1000:0439 88 46 08        MOV        byte ptr [BP + local_3],AL
   1000:043c 30 e4           XOR        AH,AH
   1000:043e 3d 79 00        CMP        AX,0x79
   1000:0441 89 46 00        MOV        word ptr [BP + 0x0],AX
   1000:0444 74 05           JZ         LAB_1000_044b
   1000:0446 3d 59 00        CMP        AX,0x59
   1000:0449 75 36           JNZ        LAB_1000_0481
                         LAB_1000_044b                                   XREF[1]:     1000:0444(j)  
   1000:044b e8 62 40        CALL       FUN_1000_44b0                                    undefined FUN_1000_44b0()
   1000:044e 33 c0           XOR        AX,AX
   1000:0450 50              PUSH       AX
   1000:0451 50              PUSH       AX
   1000:0452 e8 00 40        CALL       FUN_1000_4455                                    undefined FUN_1000_4455(undefine
   1000:0455 8b e5           MOV        SP,BP
   1000:0457 ff 36 18 40     PUSH       word ptr [0x4018]
   1000:045b b8 27 01        MOV        AX,0x127
   1000:045e 50              PUSH       AX
   1000:045f e8 b9 47        CALL       printf_4c1b                                      undefined printf_4c1b(char * par
   1000:0462 8b e5           MOV        SP,BP
   1000:0464 33 c0           XOR        AX,AX
   1000:0466 50              PUSH       AX
   1000:0467 b8 01 00        MOV        AX,0x1
   1000:046a 50              PUSH       AX
   1000:046b ff 36 18 40     PUSH       word ptr [0x4018]
   1000:046f e8 ce 0a        CALL       FUN_1000_0f40                                    undefined FUN_1000_0f40(undefine
   1000:0472 8b e5           MOV        SP,BP
   1000:0474 33 c0           XOR        AX,AX
   1000:0476 50              PUSH       AX
   1000:0477 e8 39 46        CALL       FUN_1000_4ab3                                    undefined FUN_1000_4ab3()
   1000:047a 8b e5           MOV        SP,BP
                         deff should take 2 args???
   1000:047c e8 80 da        CALL       FUN_1000_deff                                    undefined FUN_1000_deff(undefine
   1000:047f eb 22           JMP        LAB_1000_04a3
                         LAB_1000_0481                                   XREF[1]:     1000:0449(j)  
   1000:0481 33 c0           XOR        AX,AX
   1000:0483 50              PUSH       AX
   1000:0484 50              PUSH       AX
   1000:0485 e8 cd 3f        CALL       FUN_1000_4455                                    undefined FUN_1000_4455(undefine
   1000:0488 8b e5           MOV        SP,BP
   1000:048a e8 f8 40        CALL       FUN_1000_4585                                    undefined FUN_1000_4585()
   1000:048d e8 96 56        CALL       update_status_5b26                               undefined update_status_5b26()
   1000:0490 ff 76 06        PUSH       word ptr [BP + local_5]
   1000:0493 ff 76 04        PUSH       word ptr [BP + local_7]
   1000:0496 e8 bc 3f        CALL       FUN_1000_4455                                    undefined FUN_1000_4455(undefine
   1000:0499 8b e5           MOV        SP,BP
   1000:049b 33 c0           XOR        AX,AX
   1000:049d a3 2a 40        MOV        [0x402a],AX
   1000:04a0 a3 1a 40        MOV        [0x401a],AX
                         LAB_1000_04a3                                   XREF[1]:     1000:047f(j)  
   1000:04a3 c7 06 d2        MOV        word ptr [0xd2],0x0
             00 00 00
   1000:04a9 83 c4 09        ADD        SP,0x9
   1000:04ac 5d              POP        BP
   1000:04ad c3              RET
1
  • Did you ever figure out what this error means? I'm having the exact same issue and can't find anything useful. Running the debug decompiler against the exported file also doesn't work as it gives some unrelated error about unsupported architecture that I wasn't getting when I attempted to decompile under ghidra.
    – Peter
    Nov 3, 2023 at 21:31

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.