Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remote GDB debugging X8664_Linux occurs warning: Invalid remote reply: #1377

Open
Alsoprach opened this issue Aug 30, 2023 · 3 comments
Open

Comments

@Alsoprach
Copy link

*Describe the bug
When qiling runs the x8664_linux program and enables default GDB remote debugging, two n/si instructions issued by GDB will trigger warning: Invalid remote reply, causing debugging to fail. But the breakpoint-based c instruction is normal.

Sample Code

import sys
from qiling import *
from qiling.extensions import pipe
from qiling.const import QL_VERBOSE

def test_gdb(path, rootfs):
    ql = Qiling(path, rootfs, verbose=QL_VERBOSE.DEBUG,log_file="./output")
    ql.debugger = True
    ql.run()  

if __name__ == "__main__":
    test_gdb(["../tool/qiling/examples/rootfs/x8664_linux/bin/pwn1"], "../tool/qiling/examples/rootfs/x8664_linux")

Expected behavior
Remote gdb can debug normally without restriction.

Screenshots
CleanShot 2023-08-30 at 22 05 42

Additional context
Part of the log.

[+] 	getpkt ("qSupported:multiprocess+;swbreak+;hwbreak+;qRelocInsn+;fork-events+;vfork-events+;exec-events+;vContSupported+;QThreadEvents+;no-resumed+;memory-tagging+;xmlRegisters=i386");
[+] 	putpkt ("+");
[+] 	[sent ack]
[+] 	putpkt ("BreakpointCommands+;ConditionalBreakpoints+;ConditionalTracepoints+;DisconnectedTracing+;EnableDisableTracepoints+;InstallInTrace+;QAgent+;QCatchSyscalls+;QDisableRandomization+;QNonStop+;QPassSignals+;QProgramSignals+;QStartNoAckMode+;QStartupWithShell+;QTBuffer:size+;StaticTracepoints+;TraceStateVariables+;TracepointSource+;exec-events+;fork-events+;hwbreak+;multiprocess+;no-resumed+;qXfer:features:read+;qXfer:siginfo:read+;qXfer:siginfo:write+;qXfer:statictrace:read+;qXfer:traceframe-info:read+;swbreak+;tracenz+;vfork-events+;PacketSize=3fff;qXfer:spu:read+;qXfer:spu:write+;QEnvironmentHexEncoded+;QEnvironmentReset+;QEnvironmentUnset+;QSetWorkingDir+;qXfer:auxv:read+;qXfer:exec-file:read+;qXfer:threads:read+");
[+] 	getpkt ("vMustReplyEmpty");
[+] 	putpkt ("+");
[+] 	[sent ack]
[+] 	putpkt ("");
[+] 	getpkt ("QStartNoAckMode");
[+] 	putpkt ("+");
[+] 	[sent ack]
[+] 	[noack mode enabled]
[+] 	putpkt ("OK");
[+] 	getpkt ("QProgramSignals:0;1;3;4;6;7;8;9;a;b;c;d;e;f;10;11;12;13;14;15;16;17;18;19;1a;1b;1c;1d;1e;1f;20;21;22;23;24;25;26;27;28;29;2a;2b;2c;2d;2e;2f;30;31;32;33;34;35;36;37;38;39;3a;3b;3c;3d;3e;3f;40;41;42;43;44;45;46;47;48;49;4a;4b;4c;4d;4e;4f;50;51;52;53;54;55;56;57;58;59;5a;5b;5c;5d;5e;5f;60;61;62;63;64;65;66;67;68;69;6a;6b;6c;6d;6e;6f;70;71;72;73;74;75;76;77;78;79;7a;7b;7c;7d;7e;7f;80;81;82;83;84;85;86;87;88;89;8a;8b;8c;8d;8e;8f;90;91;92;93;94;95;96;97;");
[+] 	putpkt ("OK");
[+] 	getpkt ("Hgp0.0");
[+] 	putpkt ("OK");
[+] 	getpkt ("qXfer:features:read:target.xml:0,1000");
[+] 	putpkt ("m<?xml version='1.0' encoding='utf-8'?>
<target>
 * <architecture>i386:x86-64</architecture>
 * <osabi>GNU/Linux</osabi>

 * <feature name="org.gnu.gdb.i386.core">
  <flags id="i386_eflags" size="4">
 * <field name="CF" start="0" end="0" />
 * <field name="" start="1" end="1" />
 * <field name="PF" start="2" end="2" />
 * <field name="AF" start="4" end="4" />
 * <field name="ZF" start="6" end="6" />
 * <field name="SF" start="7" end="7" />
 * <field name="TF" start="8" end="8" />
 * <field name="IF" start="9" end="9" />
 * <field name="DF" start="10" end="10" />
 * <field name="OF" start="11" end="11" />
 * <field name="NT" start="14" end="14" />
 * <field name="RF" start="16" end="16" />
 * <field name="VM" start="17" end="17" />
 * <field name="AC" start="18" end="18" />
 * <field name="VIF" start="19" end="19" />
 * <field name="VIP" start="20" end="20" />
 * <field name="ID" start="21" end="21" />
  </flags>

  <reg name="rax" bitsize="64" type="int64" />
  <reg name="rbx" bitsize="64" type="int64" />
  <reg name="rcx" bitsize="64" type="int64" />
  <reg name="rdx" bitsize="64" type="int64" />
  <reg name="rsi" bitsize="64" type="int64" />
  <reg name="rdi" bitsize="64" type="int64" />
  <reg name="rbp" bitsize="64" type="data_ptr" />
  <reg name="rsp" bitsize="64" type="data_ptr" />
  <reg name="r8" bitsize="64" type="int64" />
  <reg name="r9" bitsize="64" type="int64" />
  <reg name="r10" bitsize="64" type="int64" />
  <reg name="r11" bitsize="64" type="int64" />
  <reg name="r12" bitsize="64" type="int64" />
  <reg name="r13" bitsize="64" type="int64" />
  <reg name="r14" bitsize="64" type="int64" />
  <reg name="r15" bitsize="64" type="int64" />

  <reg name="rip" bitsize="64" type="code_ptr" />
  <reg name="eflags" bitsize="32" type="i386_eflags" />
  <reg name="cs" bitsize="32" type="int32" />
  <reg name="ss" bitsize="32" type="int32" />
  <reg name="ds" bitsize="32" type="int32" />
  <reg name="es" bitsize="32" type="int32" />
  <reg name="fs" bitsize="32" type="int32" />
  <reg name="gs" bitsize="32" type="int32" />

  <reg name="st0" bitsize="80" type="i387_ext" />
  <reg name="st1" bitsize="80" type="i387_ext" />
  <reg name="st2" bitsize="80" type="i387_ext" />
  <reg name="st3" bitsize="80" type="i387_ext" />
  <reg name="st4" bitsize="80" type="i387_ext" />
  <reg name="st5" bitsize="80" type="i387_ext" />
  <reg name="st6" bitsize="80" type="i387_ext" />
  <reg name="st7" bitsize="80" type="i387_ext" />

  <reg name="fctrl" bitsize="32" type="int" group="float" />
  <reg name="fstat" bitsize="32" type="int" group="float" />
  <reg name="ftag" bitsize="32" type="int" group="float" />
  <reg name="fiseg" bitsize="32" type="int" group="float" />
  <reg name="fioff" bitsize="32" type="int" group="float" />
  <reg name="foseg" bitsize="32" type="int" group="float" />
  <reg name="fooff" bitsize="32" type="int" group="float" />
  <reg name="fop" bitsize="32" type="int" group="float" />
</feature>
 * <feature name="org.gnu.gdb.i386.sse">
  <vector id="v4f" type="ieee_single" count="4" />
  <vector id="v2d" type="ieee_double" count="2" />
  <vector id="v16i8" type="int8" count="16" />
  <vector id="v8i16" type="int16" count="8" />
  <vector id="v4i32" type="int32" count="4" />
  <vector id="v2i64" type="int64" count="2" />
  <union id="vec128">
 * <field name="v4_float" type="v4f" />
 * <field name="v2_double" type="v2d" />
 * <field name="v16_int8" type="v16i8" />
 * <field name="v8_int16" type="v8i16" />
 * <field name="v4_int32" type="v4i32" />
 * <field name="v2_int64" type="v2i64" />
 * <field name="uint128" type="uint128" />
  </union>
  <flags id="i386_mxcsr" size="4">
 * <field name="IE" start="0" end="0" />
 * <field name="DE" start="1" end="1" />
 * <field name="ZE" start="2" end="2" />
 * <field name="OE" start="3" end="3" />
 * <field name="UE" start="4" end="4" />
 * <field name="PE" start="5" end="5" />
 * <field name="DAZ" start="6" end="6" />
 * <field name="IM" start="7" end="7" />
 * <field name="DM" start="8" end="8" />
 * <field name="ZM" start="9" end=");
[+] 	getpkt ("qXfer:features:read:target.xml:1000,1000");
[+] 	putpkt ("l"9" />
 * <field name="OM" start="10" end="10" />
 * <field name="UM" start="11" end="11" />
 * <field name="PM" start="12" end="12" />
 * <field name="FZ" start="15" end="15" />
  </flags>

  <reg name="xmm0" bitsize="128" type="vec128" regnum="40" />
  <reg name="xmm1" bitsize="128" type="vec128" />
  <reg name="xmm2" bitsize="128" type="vec128" />
  <reg name="xmm3" bitsize="128" type="vec128" />
  <reg name="xmm4" bitsize="128" type="vec128" />
  <reg name="xmm5" bitsize="128" type="vec128" />
  <reg name="xmm6" bitsize="128" type="vec128" />
  <reg name="xmm7" bitsize="128" type="vec128" />
  <reg name="xmm8" bitsize="128" type="vec128" />
  <reg name="xmm9" bitsize="128" type="vec128" />
  <reg name="xmm10" bitsize="128" type="vec128" />
  <reg name="xmm11" bitsize="128" type="vec128" />
  <reg name="xmm12" bitsize="128" type="vec128" />
  <reg name="xmm13" bitsize="128" type="vec128" />
  <reg name="xmm14" bitsize="128" type="vec128" />
  <reg name="xmm15" bitsize="128" type="vec128" />

  <reg name="mxcsr" bitsize="32" type="i386_mxcsr" group="vector" />
</feature>
 * <feature name="org.gnu.gdb.i386.linux">
  <reg name="orig_rax" bitsize="64" type="int" regnum="57" />
</feature>
 * <feature name="org.gnu.gdb.i386.segments">
  <reg name="fs_base" bitsize="64" type="int" />
  <reg name="gs_base" bitsize="64" type="int" />
</feature>
 * <feature name="org.gnu.gdb.i386.avx">
  <reg name="ymm0h" bitsize="128" type="uint128" />
  <reg name="ymm1h" bitsize="128" type="uint128" />
  <reg name="ymm2h" bitsize="128" type="uint128" />
  <reg name="ymm3h" bitsize="128" type="uint128" />
  <reg name="ymm4h" bitsize="128" type="uint128" />
  <reg name="ymm5h" bitsize="128" type="uint128" />
  <reg name="ymm6h" bitsize="128" type="uint128" />
  <reg name="ymm7h" bitsize="128" type="uint128" />
  <reg name="ymm8h" bitsize="128" type="uint128" />
  <reg name="ymm9h" bitsize="128" type="uint128" />
  <reg name="ymm10h" bitsize="128" type="uint128" />
  <reg name="ymm11h" bitsize="128" type="uint128" />
  <reg name="ymm12h" bitsize="128" type="uint128" />
  <reg name="ymm13h" bitsize="128" type="uint128" />
  <reg name="ymm14h" bitsize="128" type="uint128" />
  <reg name="ymm15h" bitsize="128" type="uint128" />
</feature>
 * <feature name="org.gnu.gdb.i386.mpx">
  <struct id="br128">
 * <field name="lbound" type="uint64" />
 * <field name="ubound_raw" type="uint64" />
  </struct>

  <struct id="_bndstatus" size="8">
 * <field name="bde" start="2" end="63" />
 * <field name="error" start="0" end="1" />
  </struct>

  <union id="status">
 * <field name="raw" type="data_ptr" />
 * <field name="status" type="_bndstatus" />
  </union>

  <struct id="_bndcfgu" size="8">
 * <field name="base" start="12" end="63" />
 * <field name="reserved" start="2" end="11" />
 * 
 * <field name="preserved" start="1" end="1" type="uint64" />
 * <field name="enabled" start="0" end="0" type="uint64" />
  </struct>

   <union id="cfgu">
 * <field name="raw" type="data_ptr" />
 * <field name="config" type="_bndcfgu" />
  </union>

  <reg name="bnd0raw" bitsize="128" type="br128" />
  <reg name="bnd1raw" bitsize="128" type="br128" />
  <reg name="bnd2raw" bitsize="128" type="br128" />
  <reg name="bnd3raw" bitsize="128" type="br128" />
  <reg name="bndcfgu" bitsize="64" type="cfgu" />
  <reg name="bndstatus" bitsize="64" type="status" />
</feature>
</target>");
[+] 	getpkt ("qXfer:auxv:read::0,1000");
[+] 	putpkt ("l�");
[+] 	getpkt ("QNonStop:0");
[+] 	putpkt ("OK");
[+] 	getpkt ("qTStatus");
[+] 	putpkt ("T0;tnotrun:0;tframes:0;tcreated:0;tfree:0* 50*';tsize:0* 50*';circular:0;disconn:0;starttime:0;stoptime:0;username:;notes::");
[+] 	getpkt ("qTfV");
[+] 	putpkt ("l");
[+] 	getpkt ("?");
[+] 	putpkt ("T0506:0*,;07:20de0*"80*!;10:601040*';");
[+] 	getpkt ("qXfer:threads:read::0,1000");
[+] 	putpkt ("l<threads>
<thread id="1996" core="1" name="pwn1"/>
</threads>");
[+] 	getpkt ("qAttached:a410");
[+] 	putpkt ("");
[+] 	getpkt ("qXfer:exec-file:read:a410:0,1000");
[+] 	putpkt ("l/bin/pwn1");
[+] 	getpkt ("vFile:setfs:0");
[+] 	putpkt ("");
[+] 	getpkt ("vFile:open:6a7573742070726f62696e67,0,1c0");
[+] 	gdb> target host path: /home/also/tool/qiling/examples/rootfs/x8664_linux/just probing
[+] 	putpkt ("F-1");
[+] 	getpkt ("vFile:open:2f62696e2f70776e31,0,0");
[+] 	gdb> target host path: /home/also/tool/qiling/examples/rootfs/x8664_linux/bin/pwn1
[+] 	putpkt ("F6");
[+] 	getpkt ("vFile:pread:6,3fff,0");
[+] 	putpkt ("F3fff;�ELF���");
[+] 	getpkt ("vFile:fstat:6");
[+] 	putpkt ("");
[+] 	getpkt ("vFile:pread:6,3fff,4058");
[+] 	putpkt ("F40;������*/R8�*"���**��*+");
[+] 	getpkt ("vFile:pread:6,3fff,3998");
[+] 	putpkt ("F700;�");
[+] 	getpkt ("vFile:pread:6,3fff,40");
[+] 	putpkt ("F3fff;�");
[+] 	getpkt ("vFile:pread:6,3fff,0");
[+] 	putpkt ("F3fff;�ELF���");
[+] 	getpkt ("vFile:pread:6,3fff,4058");
[+] 	putpkt ("F40;������*/R8�*"���**��*+");
[+] 	getpkt ("vFile:pread:6,3fff,3998");
[+] 	putpkt ("F700;�");
[+] 	getpkt ("vFile:pread:6,3fff,40");
[+] 	putpkt ("F3fff;�");
[+] 	getpkt ("vFile:pread:6,3fff,0");
[+] 	putpkt ("F3fff;�ELF���");
[+] 	getpkt ("vFile:pread:6,3fff,4058");
[+] 	putpkt ("F40;������*/R8�*"���**��*+");
[+] 	getpkt ("vFile:pread:6,3fff,3998");
[+] 	putpkt ("F700;�");
[+] 	getpkt ("vFile:pread:6,3fff,40");
[+] 	putpkt ("F3fff;�");
[+] 	getpkt ("vFile:close:6");
[+] 	putpkt ("F0");
[+] 	getpkt ("Hc-1");
[+] 	putpkt ("OK");
[+] 	getpkt ("qC");
[+] 	putpkt ("");
[+] 	getpkt ("qOffsets");
[+] 	putpkt ("Text=0;Data=0;Bss=0");
[+] 	getpkt ("g");
[+] 	putpkt ("1c0*;40**a059def7ff7f0*"e7fff7ff7f0*@20de0*"80*"a0* 80*5f0d9fff7ff7f0* 30e9fff7ff7f0* 601040*'20de0*"80*A601040*(60*"330*"280*}0*}0* x*\0*2f*&2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f0* ff0*"ff0*:ff0*:ff0*,ff0*0ff0*"00ff0*}0*}0*}0*9x*}x*}x*}x*}x*}x*}x*}x*M");
[+] 	getpkt ("qXfer:auxv:read::0,1000");
[+] 	putpkt ("l�");
[+] 	getpkt ("m400040,38");
[+] 	putpkt ("060*"040*"40*+400040*'400040*'68020*(68020*)80**");
[+] 	getpkt ("m400078,38");
[+] 	putpkt ("030*"040*"a8020*(a80240*'a80240*'1c0**1c0*+10**");
[+] 	getpkt ("m4000b0,38");
[+] 	putpkt ("010*"040*640*+40*'a8040*(a8040**10*)");
[+] 	getpkt ("m4000e8,38");
[+] 	putpkt ("010*"050*"0010*+1040*)1040*(d020*)d020**10*)");
[+] 	getpkt ("m400120,38");
[+] 	putpkt ("010*"040*"0020*+2040*)2040*'88010*(88010**10*)");
[+] 	getpkt ("m400158,38");
[+] 	putpkt ("010*"060*"102e0*(103e40*'103e40*'30020*(38020**10*)");
[+] 	getpkt ("m400190,38");
[+] 	putpkt ("020*"060*"202e0*(203e40*'203e40*'d0010*(d0010*)80**");
[+] 	getpkt ("m403e20,1d0");
[+] 	putpkt ("010*+10*+c0*,1040*(d0*+41240*'190**103e40*'1b0*+80**1a0**183e40*'1c0*+80**f5feff6f0*%80340*(50**b80340*(60**280340*(a0**490*+b0**180**150**40e1fff7ff7f0*!30*,4040*(20**480**140*+70**170**600440*(70**300440*(80**30*,90**180**fef* 6f0*"00100440*'f*"6f0*%10**f0f* 6f0*%20440*}0*}0*%");
[+] 	getpkt ("m400040,38");
[+] 	putpkt ("060*"040*"40*+400040*'400040*'68020*(68020*)80**");
[+] 	getpkt ("m400078,38");
[+] 	putpkt ("030*"040*"a8020*(a80240*'a80240*'1c0**1c0*+10**");
[+] 	getpkt ("m4000b0,38");
[+] 	putpkt ("010*"040*640*+40*'a8040*(a8040**10*)");
[+] 	getpkt ("m4000e8,38");
[+] 	putpkt ("010*"050*"0010*+1040*)1040*(d020*)d020**10*)");
[+] 	getpkt ("m400120,38");
[+] 	putpkt ("010*"040*"0020*+2040*)2040*'88010*(88010**10*)");
[+] 	getpkt ("m400158,38");
[+] 	putpkt ("010*"060*"102e0*(103e40*'103e40*'30020*(38020**10*)");
[+] 	getpkt ("m400190,38");
[+] 	putpkt ("020*"060*"202e0*(203e40*'203e40*'d0010*(d0010*)80**");
[+] 	getpkt ("m403e20,1d0");
[+] 	putpkt ("010*+10*+c0*,1040*(d0*+41240*'190**103e40*'1b0*+80**1a0**183e40*'1c0*+80**f5feff6f0*%80340*(50**b80340*(60**280340*(a0**490*+b0**180**150**40e1fff7ff7f0*!30*,4040*(20**480**140*+70**170**600440*(70**300440*(80**30*,90**180**fef* 6f0*"00100440*'f*"6f0*%10**f0f* 6f0*%20440*}0*}0*%");
[+] 	getpkt ("m403ee8,8");
[+] 	putpkt ("40e1fff7ff7f0* ");
[+] 	getpkt ("m7ffff7ffe148,8");
[+] 	putpkt ("70e1fff7ff7f0* ");
[+] 	getpkt ("m7ffff7ffe170,28");
[+] 	putpkt ("0*.e7fff7ff7f0* 203e40*'30e9fff7ff7f0*0");
[+] 	getpkt ("m7ffff7ffe930,28");
[+] 	putpkt ("0060ddb7ff7f0* 20e9fff7ff7f0* 800b1cb8ff7f0* f0d9fff7ff7f0* 70e1fff7ff7f0* ");
[+] 	getpkt ("m7ffff7ffe920,8");
[+] 	putpkt ("2f6c69622f6c6962");
[+] 	getpkt ("m7ffff7ffe928,8");
[+] 	putpkt ("632e736f2e360* ");
[+] 	getpkt ("m7ffff7ffd9f0,28");
[+] 	putpkt ("0050ddf7ff7f0* a80240*'68cefff7ff7f0*030e9fff7ff7f0* ");
[+] 	getpkt ("m4002a8,8");
[+] 	putpkt ("2f6c696236342f6c");
[+] 	getpkt ("m4002b0,8");
[+] 	putpkt ("642d6c696e75782d");
[+] 	getpkt ("m4002b8,8");
[+] 	putpkt ("7838362d36342e73");
[+] 	getpkt ("m4002c0,8");
[+] 	putpkt ("6f2e3200040*"");
[+] 	getpkt ("m7ffff7ffe140,4");
[+] 	putpkt ("010*"");
[+] 	getpkt ("vFile:open:2f6c69622f6c6962632e736f2e36,0,0");
[+] 	gdb> target host path: /home/also/tool/qiling/examples/rootfs/x8664_linux/lib/libc.so.6
[+] 	putpkt ("F6");
[+] 	getpkt ("vFile:pread:6,3fff,0");
[+] 	putpkt ("F3fff;�ELF����");
[+] 	getpkt ("vFile:pread:6,3fff,1ee990");
[+] 	putpkt ("F1240;");
[+] 	getpkt ("vFile:pread:6,3fff,40");
[+] 	putpkt ("F3fff;�");
[+] 	getpkt ("vFile:pread:6,3fff,1ee4c8");
[+] 	putpkt ("F1708;");
[+] 	getpkt ("vFile:pread:6,3fff,270");
[+] 	putpkt ("F3fff;�");
[+] 	getpkt ("vFile:pread:6,3fff,1ec860");
[+] 	putpkt ("F3370;�");
[+] 	getpkt ("vFile:pread:6,3fff,0");
[+] 	putpkt ("F3fff;�ELF����");
[+] 	getpkt ("vFile:pread:6,3fff,1ee990");
[+] 	putpkt ("F1240;");
[+] 	getpkt ("vFile:pread:6,3fff,40");
[+] 	putpkt ("F3fff;�");
[+] 	getpkt ("vFile:pread:6,3fff,1ee4c8");
[+] 	putpkt ("F1708;");
[+] 	getpkt ("vFile:pread:6,3fff,270");
[+] 	putpkt ("F3fff;�");
[+] 	getpkt ("vFile:pread:6,3fff,1ec860");
[+] 	putpkt ("F3370;�");
[+] 	getpkt ("vFile:pread:6,3fff,0");
[+] 	putpkt ("F3fff;�ELF����");
[+] 	getpkt ("vFile:pread:6,3fff,1ee990");
[+] 	putpkt ("F1240;");
[+] 	getpkt ("vFile:pread:6,3fff,40");
[+] 	putpkt ("F3fff;�");
[+] 	getpkt ("vFile:pread:6,3fff,1ee4c8");
[+] 	putpkt ("F1708;");
[+] 	getpkt ("vFile:pread:6,3fff,270");
[+] 	putpkt ("F3fff;�");
[+] 	getpkt ("vFile:pread:6,3fff,1ec860");
[+] 	putpkt ("F3370;�");
[+] 	getpkt ("vFile:open:2f6c696236342f6c642d6c696e75782d7838362d36342e736f2e32,0,0");
[+] 	gdb> target host path: /home/also/tool/qiling/examples/rootfs/x8664_linux/lib64/ld-linux-x86-64.so.2
[+] 	putpkt ("F7");
[+] 	getpkt ("vFile:pread:7,3fff,0");
[+] 	putpkt ("F3fff;�ELF���");
[+] 	getpkt ("vFile:pread:7,3fff,29510");
[+] 	putpkt ("F6c0;");
[+] 	getpkt ("vFile:pread:7,3fff,40");
[+] 	putpkt ("F3fff;�");
[+] 	getpkt ("vFile:pread:7,3fff,29410");
[+] 	putpkt ("F7c0;");
[+] 	getpkt ("vFile:pread:7,3fff,1c8");
[+] 	putpkt ("F3fff;�");
[+] 	getpkt ("vFile:pread:7,3fff,28fd8");
[+] 	putpkt ("Fbf8;�");
[+] 	getpkt ("vFile:pread:7,3fff,0");
[+] 	putpkt ("F3fff;�ELF���");
[+] 	getpkt ("vFile:pread:7,3fff,29510");
[+] 	putpkt ("F6c0;");
[+] 	getpkt ("vFile:pread:7,3fff,40");
[+] 	putpkt ("F3fff;�");
[+] 	getpkt ("vFile:pread:7,3fff,29410");
[+] 	putpkt ("F7c0;");
[+] 	getpkt ("vFile:pread:7,3fff,1c8");
[+] 	putpkt ("F3fff;�");
[+] 	getpkt ("vFile:pread:7,3fff,28fd8");
[+] 	putpkt ("Fbf8;�");
[+] 	getpkt ("vFile:pread:7,3fff,0");
[+] 	putpkt ("F3fff;�ELF���");
[+] 	getpkt ("vFile:pread:7,3fff,29510");
[+] 	putpkt ("F6c0;");
[+] 	getpkt ("vFile:pread:7,3fff,40");
[+] 	putpkt ("F3fff;�");
[+] 	getpkt ("vFile:pread:7,3fff,29410");
[+] 	putpkt ("F7c0;");
[+] 	getpkt ("vFile:pread:7,3fff,1c8");
[+] 	putpkt ("F3fff;�");
[+] 	getpkt ("vFile:pread:7,3fff,28fd8");
[+] 	putpkt ("Fbf8;�");
[+] 	getpkt ("vFile:pread:6,3fff,294");
[+] 	putpkt ("F3fff;�");
[+] 	getpkt ("vFile:pread:6,3fff,18ef8");
[+] 	putpkt ("F3fff;�");
[+] 	getpkt ("vFile:pread:6,3fff,119d0");
[+] 	putpkt ("F3fff;�xdr_u_long�__wctomb_chk�getmntent�__freelocale�xdr_void�__rawmemchr�_IO_vsprintf�getutent�rcmd_af�setitimer�argp_usage�wcstoimax�execvp�pthread_setcancelstate�_IO_wfile_underflow�setservent�setuid�__wcsncat_chk�argp_help�__strtok_r�catgets�_IO_wmarker_delta�_IO_file_seekoff�feof_unlocked�setspent�get_current_dir_name�qsort�stderr�fgetxattr�__mbstowcs_chk�getservent_r�addseverity�towupper�listen�__isnan�open_wmemstream�xdr_cryptkeyarg2�getutid�posix_fadvise�__iswxdigit_l�ioctl�__mbrlen�ntp_adjtime�svc_getreq�__tdelete�munlock�setutent�symlink�rand_r�_IO_flockfile�__iswctype_l�sigwait�vtimes�error_one_per_line�setpriority�flock�__strcpy_small�malloc_get_state�iswalnum�sendmsg�xdrstdio_create�wmemcmp�__assert_perror_fail�__wcstod_internal�__strtok_r_1c�openat64�semctl�cfgetispeed�fseeko�__malloc_initialize_hook�abort�setdomainname�posix_spawnattr_getsigdefault�__ctype_b_loc�inet6_option_alloc�lockf64�_sys_siglist�ttyslot�wcrtomb�iswupper�__waitpid�__res_iclose�tmpfile�envz_add�fchdir�__strncpy_chk�c32rtomb�geteuid�_IO_setbuffer�_IO_least_wmarker�putwchar_unlocked�__strndup�__strtof_l�pthread_self�ether_hostton�__isoc99_wscanf�__dup2�sched_getaffinity�pkey_get�__ctype32_tolower�__syslog_chk�_IO_iter_begin�__inet_pton_length�user2netname�iswcntrl�_IO_printf�register_printf_function�posix_openpt�inet6_rth_add�hcreate�endnetent�__isgraph_l�__wcstoll_internal�dngettext�fmtmsg�alphasort64�srandom�pthread_attr_setdetachstate�mlockall�posix_spawn_file_actions_destroy�ustat�mrand48�tcsetattr�pthread_cond_wait�fwrite_unlocked�xdr_u_longlong_t�_libc_intl_domainname�__mempcpy_chk�__wctrans_l�sethostname�putgrent�__fprintf_chk�regexec�malloc_set_state�modf�__libc_vfork�__ispunct_l�freopen64�wcscasecmp�fstatfs�getutxline�_IO_sscanf�getgid�setsid�endgrent�symlinkat�vhangup�setaliasent�iconv_close�__morecore�_IO_str_overflow�clntraw_create�sigset�_IO_sgetn�ptsname�fgetspent�fanotify_mark�fsync�tmpnam_r�__backtrace_symbols_fd�clnt_broadcast�sgetsgent_r�frexp�argp_failure�setfsent�timerfd_create�umount2�__ctype_toupper_loc�renameat�strcspn�getutxid�_IO_file_seek�if_freenameindex�_IO_doallocbuf�inotify_init1�__connect�pthread_setschedparam�__nss_hosts_lookup�_IO_putc�__recvfrom_chk�_IO_file_init�callrpc�_IO_str_init_readonly�__bsd_getpgrp�__strtod_nan�__strtoll_l�realpath�_IO_iter_file�__wunderflow�__key_encryptsession_pk_LOCAL�srand�sched_getcpu�semget�waitid�endusershell�wcsdup�__sigaddset�qecvt_r�rtime�__readlinkat_chk�xdr_wrapstring�authunix_create�__wcsncpy_chk�strfromf128�__isoc99_vsscanf�wcschrnul�strfmon�epoll_create�readahead�endttyent�rexec_af�fanotify_init�__munmap�__sched_get_priority_min�if_nameindex�__call_tls_dtors�__xmknod�__progname_full�__libc_dlvsym�srandom_r�readlinkat�gethostbyname2_r�getaliasbyname_r�_IO_file_overflow�ulimit�endspent�wcstouq�__strtoull_l�posix_spawnattr_getsigmask�bindtextdomain�delete_module�isprint�mcheck_pedantic�pthread_attr_getscope�sigreturn�__fread_chk�_rtld_global�pmap_getport�svcerr_decode�xdr_rejected_reply�pthread_condattr_destroy�argp_parse�asctime�clnt_spcreateerror�__getlogin_r_chk�__key_gendes_LOCAL�getusershell�__libc_current_sigrtmax�posix_spawnattr_setschedparam�wait3�inet_nsap_addr�getprotoent_r�drand48�inotify_add_watch�recvmsg�rresvport_af�svc_exit�setfsuid�__argz_stringify�_IO_wfile_jumps�endfsent�getrusage�__gmtime_r�open_by_handle_at�iruserok_af�readdir_r�freopen�remque�prlimit64�__wcsftime_l�wait4�strcmp�__finitef�wcsnrtombs�preadv�bsd_signal�__ctype_get_mb_cur_max�__iswctype�readdir�sigblock�eventfd�_IO_puts�setrpcent�__progname�mbrtoc32�_IO_free_backup_area�creat�setnetent�wcschr�__strxfrm_l�posix_spawn_file_actions_addclose�argp_err_exit_status�getgrgid_r�__vfwprintf_chk�unshare�_seterr_reply�__recv_chk�_IO_getline_info�__libc_alloc_buffer_allocate�__fwriting�__finitel�_itoa_lower_digits�inet6_opt_finish�__strcspn_c3�pthread_cond_init�_IO_default_xsputn�__wcstof_l�__libc_fork�mallwatch�__libc_dynarray_resize�__wcsncasecmp_l�advance�_IO_fsetpos�wcsstr�__sysv_signal�__nss_lookup�strtof32x_l�_IO_proc_close�wcsspn�hdestroy�argz_append�wcswcs�fstatfs64�_obstack_allocated_p�setgid�posix_spawnattr_setflags�__sched_getparam�ffsll�_IO_link_in�freeifaddrs�_IO_marker_difference�xdrrec_endofrecord�_IO_peekc_locked�mcheck_check_all�unlink�seed48�__wcscasecmp_l�_IO_str_pbackfail�wcstoul�posix_fadvise64�__fwritable�isascii�putenv�fgetws_unlocked�xdr_key_netstarg�_IO_feof�__ctype_init�gnu_dev_major�regerror�__rcmd_errstr�nl_langinfo�__strncat_chk�__libc_calloc�__finite�getpriority�__sysctl�hsearch_r�swapcontext�stime�alphasort�recvfrom�_sys_nerr�_IO_free_wbackup_area�_IO_init�key_secretkey_is_set�psiginfo�__isoc99_vfwscanf�__strcasecmp�closelog�versionsort64�pthread_cond_timedwait�svcauthdes_stats�mrand48_r�__nss_next2�preadv64v2�__libc_clntudp_bufcreate�__strcoll_l�_IO_unsave_wmarkers�netname2host�_res_hconf�mblen�__write�__printf_chk�ftello�_IO_ftell�_nss_files_parse_spent�__clock_gettime�pwritev2�pclose�__libc_mallinfo�_IO_iter_end�__strtof128_nan�__isinff�iswalpha�aligned_alloc�qgcvt�getcwd�_IO_flush_all_linebuffered�malloc_info�__isupper_l�wcscoll�__iswalpha_l�__sigdelset�wordfree�__iswupper_l�__isoc99_scanf�__duplocale�getaliasent_r�_IO_switch_to_main_wget_area�fattach�__isinfl�svc_sendreply�vwprintf�__isctype�__ctype_tolower_loc�__wcsxfrm_l�tmpnam�fgetwc_unlocked�llseek�strptime_l�sigorset�getutid_r�__nss_hosts_lookup2�eaccess�xdr_long�__libc_scratch_buffer_grow�__fxstatat64�__getpagesize�iswdigit�verr�__nss_configure_lookup�argz_create_sep�getdate_err�gethostbyname�__towctrans�getloadavg�iscntrl�islower�getprotobynumber�__wuflow�svcudp_bufcreate�_IO_un_link�strcat�xdrrec_create�vwarnx�_dl_open_hook�__flbf�fchown�strncmp�qfcvt�wcsftime�_IO_setb�__libc_free�tcdrain�open_memstream�pthread_exit�sys_sigabbrev�pthread_cond_broadcast�fchownat�strtof64�ldexpl�posix_spawnattr_init�_IO_sungetwc�isxdigit�__tzname�_IO_default_uflow�vwarn�_IO_file_read�__strtold_internal�sigpending�__internal_endnetgrent�rewinddir�__fxstat64�__libc_alloc_buffer_create_failure�xdr_cryptkeyarg�__libc_sa_len�in6addr_any�chroot�strcpy�getprotoent�glob�__timezone�_IO_proc_open�svcerr_weakauth�strtof64x_l�_mcount�__confstr_chk�mbtowc�__resolv_context_get_override�__clone�scalbnl�getgrnam�putpmsg�versionsort�sockatmark�__nss_passwd_lookup�__nss_disable_nscd�malloc_trim�mbsnrtowcs�fstatvfs64�wcwidth�strrchr�clnt_perror�register_printf_type�_IO_fwrite�__pread_chk�strxfrm�scalbnf�fputwc_unlocked�__cxa_atexit�getnameinfo�wcsrtombs�printf_size�posix_spawn�_dl_find_dso_for_object�__wait�xdr_keystatus�getpwnam_r�nrand48_r�_IO_file_doallocate�__ppoll_chk�tee�getdate�re_comp�__isnanl�hsearch�_IO_wdo_write�closedir�getsgnam�getsecretkey�prlimit�__open_catalog�getlogin_r�getrpcbyname_r�mkfifoat�__libc_current_sigrtmax_private�fts_close�__ctype32_toupper�strnlen�__isnanf�getutmp�isgraph�__resolv_context_get_preinit�__tunable_get_val�__wcstoll_l�xdr_pmaplist�eventfd_read�vfwprintf�__underflow�xdrmem_create�inet6_opt_set_val�fcloseall�__libc_dynarray_at_failure�__ptsname_r_chk�_IO_init_marker�wcpncpy�__wcstol_l�cfgetospeed�xdr_key_netstres�endservent�__strcspn_c1�fgetsgent�__wcscat_chk�setusershell�__netlink_assert_response�__tsearch�dcngettext�_dl_argv�acct�_nl_default_dirname�__libc_scratch_buffer_grow_preserve�ftruncate64�memmem�utimensat�strtold�xdr_u_char�bindresvport�psignal�catclose�signalfd�tempnam�inet_addr�getrlimit64�__nss_group_lookup�inet_lnaof�getfsent�__isalnum_l�tdestroy�__snprintf_chk�ldexpf�pkey_mprotect�__argz_next�posix_madvise�setgrent�wcscpy�endutxent�re_match�wmemcpy�nftw64�modff�xdr_int�strtof128_l�getrandom�strfromf32x�__strtoull_internal�group_member�__cmsg_nxthdr�globfree�mkstemps64�qecvt�xdr_bool�mbstowcs�__wcstoul_l�clearerr_unlocked�mkostemps�sched_setparam�iswlower�getifaddrs�fgetsgent_r�__strspn_c1�pkey_free�xdr_replymsg�getgrgid�getfsfile�__libc_alloc_buffer_copy_string�modfl�explicit_bzero�bcmp�svcfd_create�__iswpunct_l�__asprintf�lremovexattr�__strpbrk_c3�fdetach�socketpair�__nanosleep�strtoll�__nss_group_lookup2�timerfd_settime�getfsspec�posix_fallocate�_IO_wdefault_finish�if_indextoname�wcswidth�fts64_read�_IO_wfile_overflow�pwritev�strstr�svcerr_auth�__wcstof_internal�epoll_wait�__sigpause�_IO_fsetpos64�srand48_r�munlockall�strcoll�_IO_flush_all�xdr_int64_t�_IO_default_pbackfail�_nss_files_parse_sgent�syncfs�l64a�__vwprintf_chk�sgetspent_r�ftok�dirfd�_IO_vfscanf�kill�__cxa_thread_atexit_impl�get_kernel_syms�optarg�msgctl�gnu_dev_minor�__ctype_tolower�__memset_chk�__ctype_toupper�_IO_file_underflow�wcstoll�register_printf_modifier�rename�ioperm�wcstof128�__internal_setnetgrent�unsetenv�pututline�localeconv�bdflush�_IO_2_1_stderr_�__read�putsgent�copy_file_range�grantpt�getpwnam�__fpending�__mempcpy_small�faccessat�fgetpwent�__sched_cpucount�wordexp�__memmove_chk�glob_pattern_p�_IO_wfile_sync�getdate_r�euidaccess�xdr_union�inet6_opt_get_val�setfsgid�_IO_file_fopen�pthread_attr_destroy�__gets_chk�ffsl�xdr_char�__res_nclose�_dl_exception_create�endaliasent�key_setsecret�getsockname�authdes_getucred�glob64�strtof128�__libc_rpc_getport�__ctype_b�getpt�ctermid�quotactl�utmpxname�sigrelse�modify_ldt�mkostemps64�__nss_services_lookup2�iconv�shmctl�_IO_seekoff�fputws�wcscat�_obstack_newchunk�__getpgid�argp_program_version_hook�_IO_ferror�strchr�_authenticate�getpw�getnetent�strncasecmp�pthread_attr_getschedparam�__libc_msgsnd�svcerr_noproc�setttyent�getresuid�__isoc99_sscanf�inet_pton�mkostemp64�__libc_mallopt�strtof64_l�__wcstoull_internal�epoll_pwait�__libc_dynarray_finalize�__endmntent�inet6_opt_append�__fgetws_unlocked_chk�gnu_get_libc_version�xdr_getcredres�swab�preadv64�pthread_mutex_destroy�__stpncpy�_IO_fflush�__libc_memalign�strspn�wcstof64x_l�makecontext�__asprintf_chk�__poll_chk�strpbrk�__setmntent�__iswspace_l�_obstack_free�_IO_file_finish�_IO_marker_delta�futimes�creat64�__getrlimit�re_max_failures�svc_getreq_common�getgroups�getpublickey�registerrpc�timerfd_gettime�__wctype_l�host2netname�bind�_obstack_begin�reboot�sethostid�endpwent�rindex�__towctrans_l�capget�semtimedop�__isoc99_fscanf�__backtrace�rewind�scalbn�fgetc_unlocked�getgrnam_r�getppid�if_nametoindex�getsgnam_r�wcstold�__mktemp�xdr_uint64_t�fgets_unlocked�_IO_switch_to_wbackup_area�__after_morecore_hook�personality�__clock_getcpuclockid�svcunix_create�re_match_2�xdr_accepted_reply�setipv4sourcefilter�timegm�nice�getpwuid�vmsplice�fwide�ppoll�localtime_r�getservbyname_r�__fpurge�__environ�__h_errno_location�getdirentries�__tolower_l�sighold�__gconv_transliterate�xdr_int8_t�_IO_2_1_stdout_�fputwc�__abort_msg�__gai_sigqueue�locs�svcerr_noprog�__strtol_l�isalpha�mtrace�__strverscmp�__fdelt_chk�putwchar�__wcstold_l�utmpname�ispunct�on_exit�__strncasecmp_l�__socket�putmsg�fopen64�xprt_unregister�xdr_uint32_t�__fgets_unlocked_chk�__nss_hostname_digits_dots�_rpc_dtablesize�_IO_sungetc�__ctype32_b�mremap�getsourcefilter�siginterrupt�_res�getutmpx�clnt_sperrno�_IO_sprintf�mkostemp�dl_iterate_phdr�srand48�__secure_getenv�__curbrk�posix_spawn_file_actions_adddup2�wcstof32x�svc_getreqset�canonicalize_file_name�process_vm_readv�__iscntrl_l�scandir64�getnetent_r�wcsnlen�__libc_siglongjmp�getegid�argp_program_version�nftw�__libc_start_main�__strcat_chk�putspent�setresgid�__libc_msgrcv�__close_nocancel�seed48_r�wcstoq�accept4�regfree�__strsep_g�ssignal�posix_spawnattr_getpgroup�_IO_str_init_static�__read_nocancel�argz_insert�ulckpwdf�wcstol�getpwuid_r�fts_children�inet6_option_space�xdr_des_block�__strerror_r�_IO_fdopen�getwd�__daylight�getservent�__libc_fatal�__sendmmsg�tcsendbreak�gethostbyname2�gethostbyaddr_r�strtoimax�__libc_dlopen_mode�__getdelim�getentropy�hcreate_r�__vsyslog_chk�setreuid�llabs�pthread_attr_setschedpolicy�innetgr�wcstok�__wcstoul_internal�sendfile64�openat�readlink�__clock_nanosleep�swapon�strncpy�wcsxfrm�tzset�getaliasbyname�__towlower_l�lfind�unlockpt�wcstof�__cyg_profile_func_exit�__sigsetjmp�copysignf�wcstod�sigemptyset�_dl_mcount_wrapper�fgetc�__pipe�fread_unlocked�_IO_file_xsputn�svcerr_systemerr�inet6_opt_find�_dl_addr�pthread_attr_init�putchar�sigisemptyset�__wcstol_internal�__libc_dynarray_emplace_enlarge�posix_spawnattr_setsigmask�xdr_string�__strpbrk_c2�__memalign_hook�_IO_default_xsgetn�getrpcbynumber_r�shmat�__malloc_hook�__rpc_thread_svc_max_pollfd�__dgettext�getchar_unlocked�rresvport�xdr_enum�__free_hook�__strsep_3c�__resolv_context_put�__tfind�strerror_l�__cxa_finalize�setrlimit�__strtof_internal�getaliasent�gsignal�h_nerr�_null_auth�_IO_fopen�_IO_list_all�getnetbyname_r�fgetspent_r�ruserpass�__stpcpy_chk�revoke�inet6_option_find�ether_aton_r�sigvec�__iswgraph_l�getutline�_nl_domain_bindings�__libc_ifunc_impl_list�__libc_alloc_buffer_alloc_array�_IO_file_open�raise�strptime�_flushlbf�__libc_system�ttyname_r�wcsrchr�__posix_getopt�key_get_conv�a64l�execle�pthread_attr_getdetachstate�_dl_catch_error�__isalpha_l�posix_spawn_file_actions_init�xdr_uint16_t�strchrnul�_IO_sputbackwc�__vdprintf_chk�scandirat�_nl_msg_cat_cntr�sync_file_range�memrchr�pthread_cond_signal�__close�xdr_bytes�execlp�initstate_r�__argz_count�setprotoent�iswprint�copysignl�sigsetmask�settimeofday�mincore�posix_memalign�execvpe�wcscmp�inet6_rth_space�recvmmsg�xdr_netobj�__inet6_scopeid_pton�wcstombs�malloc_usable_size�tcgetattr�__strtod_internal�inet6_opt_next�xdr_pointer�init_module�__strcpy_chk�__fbufsize�_IO_fread�__vsscanf�unlinkat�__nss_passwd_lookup2�umount�wcspbrk�_dl_vsym�__nl_langinfo_l�setstate�atoll�memccpy�clnt_sperror�rcmd�__obstack_printf_chk�xdr_float�moncontrol�pthread_attr_setscope�xdr_int32_t�_IO_fgetpos�rexecoptions�muntrace�__wcscoll_l�freeaddrinfo�__isoc99_vfscanf�__freading�__libc_alloc_buffer_copy_bytes�key_decryptsession_pk�getitimer�__libc_current_sigrtmin_private�getttynam�getdtablesize�__libc_allocate_rtsig�_dl_catch_exception�authunix_create_default�cfmakeraw�lseek64�toascii�setegid�isastream�getservbyname�__strtoul_internal�__xstat�strtouq�argp_program_bug_address�posix_spawnp�__iswcntrl_l�ftello64�__strtol_internal�__iswalnum_l�__nss_lookup_function�wcstof128_l�mlock�__setpgid�authnone_create�_IO_file_stat�__iswblank_l�strfromf32�pthread_mutex_init�__internal_getnetgrent_r�clock�gnu_dev_makedev�_IO_file_setbuf�fexecve�pthread_attr_getschedpolicy�__stpcpy_small�strncat�clnt_pcreateerror�getutent_r�strtoul�__key_decryptsession_pk_LOCAL�_IO_unsave_markers�wcstof32�__uflow�__libc_scratch_buffer_set_array_size�imaxabs�getservbyport_r�__woverflow�__isxdigit_l�inet6_rth_reverse�__assert_fail�__getwd_chk�__iswdigit_l�_IO_str_underflow�getrpcbyname�mkstemp�fsetxattr�endprotoent�gmtime�_sys_errlist�get_phys_pages�epoll_ctl�h_errlist�__backtrace_symbols�_IO_file_attach�__pread64_chk�updwtmp�clntudp_create�program_invocation_short_name�xdr_rmtcallres�__select�fpathconf�__res_randomid�__strtold_l�_IO_fputs�killpg�__monstartup�wcslen�__isoc99_vscanf�getpass�wcsncasecmp�pthread_getschedparam�pthread_attr_setschedparam�umask�__uselocale�__sched_cpufree�gethostent_r�xdr_hyper�_IO_seekmark�_IO_wdefault_xsputn�getwchar_unlocked�putchar_unlocked�ether_ntoa�__wcpcpy_chk�__fread_unlocked_chk�getchar�setlocale�__dprintf_chk�__nss_database_lookup�posix_fallocate64�__pwrite64�posix_spawnattr_getflags�__xstat64�msgget�optind�__xpg_sigpause�netname2user�__gconv_get_cache�_IO_init_wmarker�posix_spawnattr_destroy�xdr_unixcred�fgetgrent�semop�xdr_int16_t�isfdtype�__isinf�__pread64�xdr_authdes_cred�_IO_gets�__adjtimex�_IO_ftrylockfile�fileno_unlocked�ptsname_r�__fgets_chk�llistxattr�getcontext�__openat_2�vlimit�_nss_files_parse_grent�wcsncat�execl�key_gendes�fflush_unlocked�_dl_starting_up�inet_network�setrlimit64�getsockopt�iswspace�__strsep_2c�__wcpncpy_chk�stdout�obstack_alloc_failed_handler�get_nprocs_conf�xdr_opaque�__obstack_vprintf_chk�error_print_progname�_IO_wdefault_uflow�__sched_get_priority_max�__sbrk�__libc_secure_getenv�__strtoul_l�telldir�optopt�passwd2des�__wprintf_chk�posix_spawn_file_actions_addopen�clnt_create�__libc_pvalloc�inet_aton�get_nprocs�__open_nocancel�erand48_r�__libc_pread�cfsetospeed�posix_spawnattr_setpgroup�_IO_setvbuf�xdr_double�ntp_gettime�getutxent�sgetsgent�fts64_close�inet6_option_next�getgrouplist�_IO_switch_to_get_mode�__h_errno�imaxdiv�_IO_getc�setstate_r�__mmap�fchflags�cuserid�_mcleanup�gethostname�_IO_fgetpos64�initgroups�__strtof128_internal�__strspn_c2�_IO_ungetc�re_compile_fastmap�msync�seteuid�htons�cbc_crypt�__nss_next�jrand48_r�setns�posix_spawnattr_getschedpolicy�_IO_funlockfile�__sched_cpualloc�__getmntent_r�__getgroups_chk�lockf�rmdir�et");
[+] 	getpkt ("vFile:pread:6,3fff,159cf");
[+] 	putpkt ("F3fff;her_line");
[+] 	getpkt ("vFile:pread:6,3fff,3ee8");
[+] 	putpkt ("F3fff;");
[+] 	getpkt ("vFile:pread:6,3fff,7ee7");
[+] 	putpkt ("F3fff;");
[+] 	getpkt ("vFile:pread:6,3fff,bee6");
[+] 	putpkt ("F3fff;
");
[+] 	getpkt ("vFile:pread:6,3fff,fee5");
[+] 	putpkt ("F3fff;");
[+] 	getpkt ("vFile:pread:6,3fff,178ae");
[+] 	putpkt ("F3fff;");
[+] 	getpkt ("vFile:pread:6,3fff,20b78");
[+] 	putpkt ("F3fff;8");
[+] 	getpkt ("vFile:pread:6,3fff,18f28");
[+] 	putpkt ("F3fff; v>");
[+] 	getpkt ("vFile:pread:6,3fff,1cf27");
[+] 	putpkt ("F3fff;");
[+] 	getpkt ("vFile:open:2f7573722f6c69622f64656275672f2e6275696c642d69642f62342f31376330626137636335636630366431643162656436363532636564623932353363363064302e6465627567,0,0");
[+] 	gdb> target host path: /home/also/tool/qiling/examples/rootfs/x8664_linux/usr/lib/debug/.build-id/b4/17c0ba7cc5cf06d1d1bed6652cedb9253c60d0.debug
[+] 	putpkt ("F-1");
[+] 	getpkt ("vFile:pread:6,3fff,1ee4b4");
[+] 	putpkt ("F171c;libc-2.27.so");
[+] 	getpkt ("vFile:open:2f6c69622f6c6962632d322e32372e736f,0,0");
[+] 	gdb> target host path: /home/also/tool/qiling/examples/rootfs/x8664_linux/lib/libc-2.27.so
[+] 	putpkt ("F-1");
[+] 	getpkt ("vFile:open:2f6c69622f2e64656275672f6c6962632d322e32372e736f,0,0");
[+] 	gdb> target host path: /home/also/tool/qiling/examples/rootfs/x8664_linux/lib/.debug/libc-2.27.so
[+] 	putpkt ("F-1");
[+] 	getpkt ("vFile:open:2f7573722f6c69622f64656275672f2f6c69622f6c6962632d322e32372e736f,0,0");
[+] 	gdb> target host path: /home/also/tool/qiling/examples/rootfs/x8664_linux/usr/lib/debug/lib/libc-2.27.so
[+] 	putpkt ("F-1");
[+] 	getpkt ("vFile:open:2f7573722f6c69622f64656275672f6c69622f2f6c6962632d322e32372e736f,0,0");
[+] 	gdb> target host path: /home/also/tool/qiling/examples/rootfs/x8664_linux/usr/lib/debug/lib/libc-2.27.so
[+] 	putpkt ("F-1");
[+] 	getpkt ("vFile:open:7461726765743a2f7573722f6c69622f64656275672f6c69622f2f6c6962632d322e32372e736f,0,0");
[+] 	gdb> target host path: /home/also/tool/qiling/examples/rootfs/x8664_linux/target:/usr/lib/debug/lib/libc-2.27.so
[+] 	putpkt ("F-1");
[+] 	getpkt ("vFile:pread:7,3fff,958");
[+] 	putpkt ("F3fff;�");
[+] 	getpkt ("vFile:pread:7,3fff,6f0");
[+] 	putpkt ("F3fff;");
[+] 	getpkt ("vFile:pread:7,3fff,3c0");
[+] 	putpkt ("F3fff;");
[+] 	getpkt ("vFile:open:2f7573722f6c69622f64656275672f2e6275696c642d69642f36342f64663162393631323238333832666531383638343234396564383030616231646365616164342e6465627567,0,0");
[+] 	gdb> target host path: /home/also/tool/qiling/examples/rootfs/x8664_linux/usr/lib/debug/.build-id/64/df1b961228382fe18684249ed800ab1dceaad4.debug
[+] 	putpkt ("F-1");
[+] 	getpkt ("vFile:pread:7,3fff,29400");
[+] 	putpkt ("F7d0;ld-2.27.so");
[+] 	getpkt ("vFile:open:2f6c696236342f6c642d322e32372e736f,0,0");
[+] 	gdb> target host path: /home/also/tool/qiling/examples/rootfs/x8664_linux/lib64/ld-2.27.so
[+] 	putpkt ("F-1");
[+] 	getpkt ("vFile:open:2f6c696236342f2e64656275672f6c642d322e32372e736f,0,0");
[+] 	gdb> target host path: /home/also/tool/qiling/examples/rootfs/x8664_linux/lib64/.debug/ld-2.27.so
[+] 	putpkt ("F-1");
[+] 	getpkt ("vFile:open:2f7573722f6c69622f64656275672f2f6c696236342f6c642d322e32372e736f,0,0");
[+] 	gdb> target host path: /home/also/tool/qiling/examples/rootfs/x8664_linux/usr/lib/debug/lib64/ld-2.27.so
[+] 	putpkt ("F-1");
[+] 	getpkt ("vFile:open:2f7573722f6c69622f64656275672f6c696236342f2f6c642d322e32372e736f,0,0");
[+] 	gdb> target host path: /home/also/tool/qiling/examples/rootfs/x8664_linux/usr/lib/debug/lib64/ld-2.27.so
[+] 	putpkt ("F-1");
[+] 	getpkt ("vFile:open:7461726765743a2f7573722f6c69622f64656275672f6c696236342f2f6c642d322e32372e736f,0,0");
[+] 	gdb> target host path: /home/also/tool/qiling/examples/rootfs/x8664_linux/target:/usr/lib/debug/lib64/ld-2.27.so
[+] 	putpkt ("F-1");
[+] 	getpkt ("m7fffb7f0abc3,1");
[+] 	putpkt ("90");
[+] 	getpkt ("m7fffb7e14c93,1");
[+] 	putpkt ("90");
[+] 	getpkt ("m7ffff7ffe148,8");
[+] 	putpkt ("70e1fff7ff7f0* ");
[+] 	getpkt ("m7ffff7ffe150,8");
[+] 	putpkt ("a05ddef7ff7f0* ");
[+] 	getpkt ("m7ffff7dd8df2,1");
[+] 	putpkt ("90");
[+] 	getpkt ("m7ffff7dd94d1,1");
[+] 	putpkt ("90");
[+] 	getpkt ("m7ffff7ddbb2a,1");
[+] 	putpkt ("90");
[+] 	getpkt ("m7ffff7ddaba6,1");
[+] 	putpkt ("90");
[+] 	getpkt ("m7ffff7dea41c,1");
[+] 	putpkt ("90");
[+] 	getpkt ("m7ffff7deb0b7,1");
[+] 	putpkt ("90");
[+] 	getpkt ("m7ffff7deb354,1");
[+] 	putpkt ("90");
[+] 	getpkt ("m7fffb7f0abc3,1");
[+] 	putpkt ("90");
[+] 	getpkt ("m7fffb7e14c93,1");
[+] 	putpkt ("90");
[+] 	getpkt ("qXfer:threads:read::0,1000");
[+] 	putpkt ("l<threads>
<thread id="1996" core="1" name="pwn1"/>
</threads>");
[+] 	getpkt ("m401060,1");
[+] 	putpkt ("31");
[+] 	getpkt ("m401060,1");
[+] 	putpkt ("31");
[+] 	getpkt ("qSymbol::");
[+] 	putpkt ("OK");
[+] 	getpkt ("qTStatus");
[+] 	putpkt ("T0;tnotrun:0;tframes:0;tcreated:0;tfree:0* 50*';tsize:0* 50*';circular:0;disconn:0;starttime:0;stoptime:0;username:;notes::");
[+] 	getpkt ("qTfP");
[+] 	putpkt ("l");
[+] 	getpkt ("Z0,7fffb7e14c93,1");
[=] 	gdb> breakpoint added at 0x7fffb7e14c93
[+] 	putpkt ("OK");
[+] 	getpkt ("Z0,7fffb7f0abc3,1");
[=] 	gdb> breakpoint added at 0x7fffb7f0abc3
[+] 	putpkt ("OK");
[+] 	getpkt ("Z0,7ffff7dd94d1,1");
[=] 	gdb> breakpoint added at 0x7ffff7dd94d1
[+] 	putpkt ("OK");
[+] 	getpkt ("Z0,7ffff7dea41c,1");
[=] 	gdb> breakpoint added at 0x7ffff7dea41c
[+] 	putpkt ("OK");
[+] 	getpkt ("Z0,7ffff7deb354,1");
[=] 	gdb> breakpoint added at 0x7ffff7deb354
[+] 	putpkt ("OK");
[+] 	getpkt ("QPassSignals:e;10;14;17;1a;1b;1c;21;24;25;2c;4c;97;");
[+] 	putpkt ("OK");
[+] 	getpkt ("vCont?");
[+] 	putpkt ("vCont;c;C;s;S");
[+] 	getpkt ("vCont;s:pa410.1996;c:pa410.-1");
[=] 	gdb> stepping 1 instructions from 0x401060
[+] 	putpkt ("S0f");
[+] 	getpkt ("g");
[+] 	putpkt ("1c0*;40**a059def7ff7f0*"e7fff7ff7f0*@20de0*"80*"a0* 80*5f0d9fff7ff7f0* 30e9fff7ff7f0* 601040*'20de0*"80*A621040*'460*"330*"280*}0*}0* x*\0*2f*&2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f0* ff0*"ff0*:ff0*:ff0*,ff0*0ff0*"00ff0*}0*}0*}0*9x*}x*}x*}x*}x*}x*}x*}x*M");
[+] 	getpkt ("z0,7fffb7f0abc3,1");
[=] 	gdb> breakpoint removed from 0x7fffb7f0abc3
[+] 	putpkt ("OK");
[+] 	getpkt ("z0,7fffb7e14c93,1");
[=] 	gdb> breakpoint removed from 0x7fffb7e14c93
[+] 	putpkt ("OK");
[+] 	getpkt ("qXfer:threads:read::0,1000");
[+] 	putpkt ("l<threads>
<thread id="1996" core="1" name="pwn1"/>
</threads>");
[+] 	getpkt ("z0,7ffff7dd94d1,1");
[=] 	gdb> breakpoint removed from 0x7ffff7dd94d1
[+] 	putpkt ("OK");
[+] 	getpkt ("z0,7ffff7dea41c,1");
[=] 	gdb> breakpoint removed from 0x7ffff7dea41c
[+] 	putpkt ("OK");
[+] 	getpkt ("z0,7ffff7deb354,1");
[=] 	gdb> breakpoint removed from 0x7ffff7deb354
[+] 	putpkt ("OK");
[+] 	getpkt ("m401062,1");
[+] 	putpkt ("49");
[+] 	getpkt ("m401062,1");
[+] 	putpkt ("49");
[+] 	getpkt ("Z0,7fffb7e14c93,1");
[=] 	gdb> breakpoint added at 0x7fffb7e14c93
[+] 	putpkt ("OK");
[+] 	getpkt ("Z0,7fffb7f0abc3,1");
[=] 	gdb> breakpoint added at 0x7fffb7f0abc3
[+] 	putpkt ("OK");
[+] 	getpkt ("Z0,7ffff7dd94d1,1");
[=] 	gdb> breakpoint added at 0x7ffff7dd94d1
[+] 	putpkt ("OK");
[+] 	getpkt ("Z0,7ffff7dea41c,1");
[=] 	gdb> breakpoint added at 0x7ffff7dea41c
[+] 	putpkt ("OK");
[+] 	getpkt ("Z0,7ffff7deb354,1");
[=] 	gdb> breakpoint added at 0x7ffff7deb354
[+] 	putpkt ("OK");
[+] 	getpkt ("vCont;S0f:pa410.1996;c:pa410.-1");
[+] 	putpkt ("");
@elicn
Copy link
Member

elicn commented Sep 2, 2023

The last incoming command is vCont;S0f:pa410.1996;c:pa410.-1.
Since vCont support is limited, Qiling doesn't know how to handle the S0f command and fails.
We should fix that.

@elicn elicn added the gdbserver label Sep 2, 2023
@Alsoprach
Copy link
Author

Thank you for your reply

@Alsoprach Alsoprach reopened this Sep 5, 2023
@bstee615
Copy link

bstee615 commented Nov 21, 2023

I'm also experiencing this issue. Is there any fix or workaround for it? Would running on a compatible VM or using a different debugger solve the issue, and if so, what do you suggest to try?

Here is the last bit of my log - seems to break on the same command:

[=]     gdb> breakpoint added at 0x7ffff7de5590
[+]     putpkt ("OK");
[+]     getpkt ("QPassSignals:e;10;14;17;1a;1b;1c;21;24;25;2c;4c;97;");
[+]     putpkt ("OK");
[+]     getpkt ("vCont;S0f:pa410.1996;c:pa410.-1");
[+]     putpkt ("");

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants