我如何找到节点6

问题描述

我发现我需要输入6个整数,并且这些整数由1到6组成。 然后我找到了node1〜node5。但是,此阶段需要6个节点。 因此,我寻找了更多,但是找到了“ host_table”而不是节点6。

(gdb) x/3x 0x555555559230
0x555555559230 <node1>: 0x00000303      0x00000001      0x55559240
(gdb) x/3x 0x555555559240
0x555555559240 <node2>: 0x000001dc      0x00000002      0x55559250
(gdb) x/3x 0x555555559250
0x555555559250 <node3>: 0x00000332      0x00000003      0x55559260
(gdb) x/3x 0x555555559260
0x555555559260 <node4>: 0x000003c6      0x00000004      0x55559270
(gdb) x/3x 0x555555559270
0x555555559270 <node5>: 0x000002d9      0x00000005      0x55559110
(gdb) x/3x 0x555555559280
0x555555559280 <host_table>:    0x5555745f      0x00005555      0x55557468

什么是“ host_table”?我以为“ host_table”是node6。但这不是。

这是此阶段的代码。

   0x00005555555558ab <+0>:     endbr64
   0x00005555555558af <+4>:     push   %r14
   0x00005555555558b1 <+6>:     push   %r13
   0x00005555555558b3 <+8>:     push   %r12
   0x00005555555558b5 <+10>:    push   %rbp
   0x00005555555558b6 <+11>:    push   %rbx
   0x00005555555558b7 <+12>:    sub    $0x60,%rsp
   0x00005555555558bb <+16>:    mov    %fs:0x28,%rax
   0x00005555555558c4 <+25>:    mov    %rax,0x58(%rsp)
   0x00005555555558c9 <+30>:    xor    %eax,%eax
   0x00005555555558cb <+32>:    mov    %rsp,%r13
   0x00005555555558ce <+35>:    mov    %r13,%rsi
   0x00005555555558d1 <+38>:    callq  0x555555555e53 <read_six_numbers>
   0x00005555555558d6 <+43>:    mov    $0x1,%r14d
   0x00005555555558dc <+49>:    mov    %rsp,%r12
   0x00005555555558df <+52>:    jmp    0x555555555909 <phase_6+94>
   0x00005555555558e1 <+54>:    callq  0x555555555e11 <explode_bomb>
   0x00005555555558e6 <+59>:    jmp    0x555555555918 <phase_6+109>
   0x00005555555558e8 <+61>:    add    $0x1,%rbx
   0x00005555555558ec <+65>:    cmp    $0x5,%ebx
   0x00005555555558ef <+68>:    jg     0x555555555901 <phase_6+86>
   0x00005555555558f1 <+70>:    mov    (%r12,%rbx,4),%eax
   0x00005555555558f5 <+74>:    cmp    %eax,0x0(%rbp)
   0x00005555555558f8 <+77>:    jne    0x5555555558e8 <phase_6+61>
   0x00005555555558fa <+79>:    callq  0x555555555e11 <explode_bomb>
   0x00005555555558ff <+84>:    jmp    0x5555555558e8 <phase_6+61>
   0x0000555555555901 <+86>:    add    $0x1,%r14
   0x0000555555555905 <+90>:    add    $0x4,%r13
   0x0000555555555909 <+94>:    mov    %r13,%rbp
   0x000055555555590c <+97>:    mov    0x0(%r13),%eax
   0x0000555555555910 <+101>:   sub    $0x1,%eax
   0x0000555555555913 <+104>:   cmp    $0x5,%eax
   0x0000555555555916 <+107>:   ja     0x5555555558e1 <phase_6+54>
   0x0000555555555918 <+109>:   cmp    $0x5,%r14d
   0x000055555555591c <+113>:   jg     0x555555555923 <phase_6+120>
   0x000055555555591e <+115>:   mov    %r14,%rbx
   0x0000555555555921 <+118>:   jmp    0x5555555558f1 <phase_6+70>
   0x0000555555555923 <+120>:   mov    $0x0,%esi
   0x0000555555555928 <+125>:   mov    (%rsp,%rsi,%ecx
   0x000055555555592b <+128>:   mov    $0x1,%eax
   0x0000555555555930 <+133>:   lea    0x38f9(%rip),%rdx        # 0x555555559230 <node1>
   0x0000555555555937 <+140>:   cmp    $0x1,%ecx
   0x000055555555593a <+143>:   jle    0x555555555947 <phase_6+156>
   0x000055555555593c <+145>:   mov    0x8(%rdx),%rdx
   0x0000555555555940 <+149>:   add    $0x1,%eax
   0x0000555555555943 <+152>:   cmp    %ecx,%eax
   0x0000555555555945 <+154>:   jne    0x55555555593c <phase_6+145>
   0x0000555555555947 <+156>:   mov    %rdx,0x20(%rsp,8)
   0x000055555555594c <+161>:   add    $0x1,%rsi
   0x0000555555555950 <+165>:   cmp    $0x6,%rsi
   0x0000555555555954 <+169>:   jne    0x555555555928 <phase_6+125>
   0x0000555555555956 <+171>:   mov    0x20(%rsp),%rbx
   0x000055555555595b <+176>:   mov    0x28(%rsp),%rax
   0x0000555555555960 <+181>:   mov    %rax,0x8(%rbx)
   0x0000555555555964 <+185>:   mov    0x30(%rsp),%rdx
   0x0000555555555969 <+190>:   mov    %rdx,0x8(%rax)
   0x000055555555596d <+194>:   mov    0x38(%rsp),%rax
   0x0000555555555972 <+199>:   mov    %rax,0x8(%rdx)
   0x0000555555555976 <+203>:   mov    0x40(%rsp),%rdx
   0x000055555555597b <+208>:   mov    %rdx,0x8(%rax)
   0x000055555555597f <+212>:   mov    0x48(%rsp),%rax
   0x0000555555555984 <+217>:   mov    %rax,0x8(%rdx)
   0x0000555555555988 <+221>:   movq   $0x0,0x8(%rax)
   0x0000555555555990 <+229>:   mov    $0x5,%ebp
   0x0000555555555995 <+234>:   jmp    0x5555555559a0 <phase_6+245>
   0x0000555555555997 <+236>:   mov    0x8(%rbx),%rbx
   0x000055555555599b <+240>:   sub    $0x1,%ebp
   0x000055555555599e <+243>:   je     0x5555555559b1 <phase_6+262>
   0x00005555555559a0 <+245>:   mov    0x8(%rbx),%rax
   0x00005555555559a4 <+249>:   mov    (%rax),%eax
   0x00005555555559a6 <+251>:   cmp    %eax,(%rbx)
   0x00005555555559a8 <+253>:   jle    0x555555555997 <phase_6+236>
   0x00005555555559aa <+255>:   callq  0x555555555e11 <explode_bomb>
   0x00005555555559af <+260>:   jmp    0x555555555997 <phase_6+236>
   0x00005555555559b1 <+262>:   mov    0x58(%rsp),%rax
   0x00005555555559b6 <+267>:   xor    %fs:0x28,%rax
   0x00005555555559bf <+276>:   jne    0x5555555559ce <phase_6+291>
   0x00005555555559c1 <+278>:   add    $0x60,%rsp
   0x00005555555559c5 <+282>:   pop    %rbx
   0x00005555555559c6 <+283>:   pop    %rbp
   0x00005555555559c7 <+284>:   pop    %r12
   0x00005555555559c9 <+286>:   pop    %r13
   0x00005555555559cb <+288>:   pop    %r14
   0x00005555555559cd <+290>:   retq
   0x00005555555559ce <+291>:   callq  0x555555555250 <__stack_chk_fail@plt>

当我看到其他人的解决方案时,他们做了x / 3x $ esi来找出node1。 但是,当我这样做时,我得到了一个错误。 我该怎么办?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...