Open gogo2464 opened 1 year ago
Generating byte-for-byte identical binaries after reassembly is not currently a design goal of ddisasm - instead it is to produce GTIRB IR and assembly that can be used to build functionally equivalent binaries.
I expect it would be impossible to reliably generate byte-for-byte identical binaries with the current approach of generating assembly and re-assembling it with gcc
- we'd likely need to directly generate binaries without the help of an external toolchain to achieve this.
I think having a such tool sounds very interesting for malware analysis because it requires to document a malware that must not be altered.
Sounds also interesting to create tests that check the signature of the recompiled binary.
I may create this tool when I will finish the documentation.
I passed the -O0 to gcc to tell to not optimize the binary.
EDIT: no. I do not need to create the tool.
But yes I may need to create the tool to generate binaries.
@adamjseitz hi.
I digged a lot and a lot of.
First point, gcc create and remove some sections:
$ diff <(radare2 -e bin.cache=true -qc 'iS~[7]' ls) <(radare2 -e bin.cache=true -qc 'iS~[7]' ls-new )
< .gnu_debugaltlink
< .gnu_debuglink
---
> .symtab
> .strtab
then so the sections:
< .gnu_debugaltlink
< .gnu_debuglink
have been deleted
and the sections:
< .gnu_debugaltlink
< .gnu_debuglink
have been created.
All the differences found on the rewritten elf are from know issues about GOT.
https://github.com/GrammaTech/ddisasm/blob/main/doc/AuxData.md#got-references
According to the doc:
The linker will then take care of creating a new GOT entry based on this symbolic expression.
If you want to check you can do radiff2 -u ls new-ls
.
I also see difference in the rodata. I absolutely entierely misunderstand this point.
In general, it is expected that there will be lots of differences at the byte level:
.strtab
if that was not present in the original binary, but you could remove those with strip
..plt
or .got
. Other than that, different versions of the compiler or linker could decide to arrange sections differently, which would result in further differences.
Note that we perform symbolization, i.e. we create labels for symbolic references, which allows us to make changes in the assembly without breaking functionality. This will likely amplify the differences at the byte level. For example, my copy of ls
has some jump tables in the .rodata
section that look like this:
.L_18020:
.long .L_6a61-.L_18020
.long .L_6a61-.L_18020
...
The bytes in .long .L_6a61-.L_18020
will be resolved to the difference between the location of labels .L_6a61
and .L_18020
. If those location change in the reassembled binary, the resulting bytes of the expression .long .L_6a61-.L_18020
will be different. This will often happen. In this case L_18020
points to the current location in .rodata
and .L_6a61
points somewhere .text
section.
Finally, I have found some differences in the .text section that should not be there. It looks like some notrack jmpq *%rax
instructions that we interpret as just jmpq *%rax
which is a shorter instruction (2 bytes instead of 3) and is probably exacerbating differences (by shifting the subsequent code).
I would like to make some pull requests to:
-generate .plt and .got at the right place -have a way to tell the linker to generate a copy relocation for the existing slot at the old address
The idea is to keep symbolization to avoid breaking changes but still try to kee the same signature of the malware.
My wish is to be able to document malwares with no need to beak these signatures. Else we could not ensure that we did document these correctly.
I do not plan to help the user to find the good linker / compiler version. There could be other tools which will do that. One tool, one objective. It is the linux philosophy.
the sections could be removed with compiler options. it is not my own priority.
Should I add a PR directly in the core or should I add it in an option? Like --keep-signature maybe.
-generate .plt and .got at the right place -have a way to tell the linker to generate a copy relocation for the existing slot at the old address
These would be definitely nice to have!
Should I add a PR directly in the core or should I add it in an option? Like --keep-signature maybe.
I am not sure what approach you are planning to take for this. Would these be changes to gtirb-pprinter? For what is worth, I tried to find a better way to deal with COPY relocations, but I couldn't find a nice way to do it. I would think we want these things on by default, but it would depend on the specific approach (and whether is general enough).
My wish is to be able to document malwares with no need to beak these signatures.
I am not sure I understand what you are trying to do, will you be annotating the assembly listings with comments? adding symbols to the rewritten binaries, or something else?
I am not sure what approach you are planning to take for this. Would these be changes to gtirb-pprinter? For what is worth, I tried to find a better way to deal with COPY relocations, but I couldn't find a nice way to do it. I would think we want these things on by default, but it would depend on the specific approach (and whether is general enough).
I am currently watching.
I am not sure I understand what you are trying to do, will you be annotating the assembly listings with comments? adding symbols to the rewritten binaries, or something else?
Yes absolutely I may in the future, use ddisasm on malwares in order to document malware with comments, to rename labels and functions. And if I have a great great time, I might spend time to rewrites asm to c with the exact compiler and linker version. Seems pretty long to do of course.
I am very busy. I may start this PR this week. I will push a pr fro documentation ion ddisasm before.
for more informations with radiff2, fell free to install radare2 with: ideally:
+0x00020808:8606410e38830744 "\x86\x06A\x0e8\x83\aD\x0e@\x02\x97\n\x0e8A\x0e0A\x0e(B\x0e B\x0e\x18B\x0e\x10B\x0e\bA\vT\n\x0e8F\x0e0A\x0e(B\x0e B\x0e\x18B\x0e\x10B\x0e\bE\v" -0x00020811:18420e10420e08450b000034000000a82c00002c65ffff9a00000000460e108c02 "\x18B\x0e\x10B\x0e\bE\v" +0x00020811:4002970a0e38410e30410e28420e20420e18420e10420e08410b540a0e38460e30 "@\x02\x97\n\x0e8A\x0e0A\x0e(B\x0e B\x0e\x18B\x0e\x10B\x0e\bA\vT\n\x0e8F\x0e0A\x0e(B\x0e B\x0e\x18B\x0e\x10B\x0e\bE\v" -0x00020834:188603410e208304025f0a "\x18\x86\x03A\x0e \x83\x04\x02_\n\x0e\x18A\x0e\x10B\x0e\bF\vf\x0e\x18A\x0e\x10B\x0e\b" +0x00020834:28420e20420e18420e1042 "(B\x0e B\x0e\x18B\x0e\x10B\x0e\bE\v" -0x00020840:18410e10420e08460b660e18410e10420e08 "\x18A\x0e\x10B\x0e\bF\vf\x0e\x18A\x0e\x10B\x0e\b" +0x00020840:08450b004c000000e0290000f466ffffb500 "\bE\v" -0x00020854:60000000e02c00009465ffff5501000000420e108f02420e188e03420e208d04420e288c05410e30860641 "
" -0x00020880:388307440e4002970a0e38410e30410e28420e20420e18420e10420e08410b540a0e38460e30410e28420e20420e18420e10420e08450b "8\x83\aD\x0e@\x02\x97\n\x0e8A\x0e0A\x0e(B\x0e B\x0e\x18B\x0e\x10B\x0e\bA\vT\n\x0e8F\x0e0A\x0e(B\x0e B\x0e\x18B\x0e\x10B\x0e\bE\v" +0x00020880:18410e10420e08450b490e18410e10420e08000010000000302a00006467ffff110000000000000058000000442a00007067ffffa60000 "\x18A\x0e\x10B\x0e\bE\vI\x0e\x18A\x0e\x10B\x0e\b" -0x000208b8:4c000000442d00009066ffffb500000000420e108c02410e188603410e20830402630a "L" -0x000208dc:1841 "\x18A\x0e\x10B\x0e\bF\vZ\n\x0e\x18A\x0e\x10B\x0e\bC\vP\n\x0e\x18A\x0e\x10B\x0e\bE\vI\x0e\x18A\x0e\x10B\x0e\b" +0x000208dc:1042 "\x10B\x0e\bC\vR\n\x0e(C\x0e B\x0e\x18B\x0e\x10B\x0e\bE\vT\x0e(G\x0e B\x0e\x18B\x0e\x10B\x0e\b" -0x000208df:10420e08460b5a0a "\x10B\x0e\bF\vZ\n\x0e\x18A\x0e\x10B\x0e\bC\vP\n\x0e\x18A\x0e\x10B\x0e\bE\vI\x0e\x18A\x0e\x10B\x0e\b" +0x000208df:08430b520a0e2843 "\bC\vR\n\x0e(C\x0e B\x0e\x18B\x0e\x10B\x0e\bE\vT\x0e(G\x0e B\x0e\x18B\x0e\x10B\x0e\b" -0x000208e8:1841 "\x18A\x0e\x10B\x0e\bC\vP\n\x0e\x18A\x0e\x10B\x0e\bE\vI\x0e\x18A\x0e\x10B\x0e\b" +0x000208e8:2042 " B\x0e\x18B\x0e\x10B\x0e\bE\vT\x0e(G\x0e B\x0e\x18B\x0e\x10B\x0e\b" -0x000208eb:10 "\x10B\x0e\bC\vP\n\x0e\x18A\x0e\x10B\x0e\bE\vI\x0e\x18A\x0e\x10B\x0e\b" +0x000208eb:18 "\x18B\x0e\x10B\x0e\bE\vT\x0e(G\x0e B\x0e\x18B\x0e\x10B\x0e\b" -0x000208ee:08430b500a0e18410e10420e08450b49 "\bC\vP\n\x0e\x18A\x0e\x10B\x0e\bE\vI\x0e\x18A\x0e\x10B\x0e\b" +0x000208ee:10420e08450b540e28470e20420e1842 "\x10B\x0e\bE\vT\x0e(G\x0e B\x0e\x18B\x0e\x10B\x0e\b" -0x000208ff:1841 "\x18A\x0e\x10B\x0e\b" +0x000208ff:1042 "\x10B\x0e\b" -0x00020902:10420e08 "\x10B\x0e\b" +0x00020902:08003000 "\b" -0x00020908:1000 "\x10" +0x00020908:a02a "\xa0*" -0x0002090c:942d00000067ffff110000000000000058000000a82d00000c67ffffa600000000460e108e0245 "\x94-" +0x0002090c:c467ffff4101000000460e108d02420e188c03410e208604470e70028b0a0e20410e18420e1042 "\xc4g\xff\xffA\x01" -0x00020934:188d03420e208c04410e288605470e307e0a0e28440e20420e18420e10420e08430b520a0e28430e2042 "\x18\x8d\x03B\x0e \x8c\x04A\x0e(\x86\x05G\x0e0~\n\x0e(D\x0e B\x0e\x18B\x0e\x10B\x0e\bC\vR\n\x0e(C\x0e B\x0e\x18B\x0e\x10B\x0e\bE\vT\x0e(G\x0e B\x0e\x18B\x0e\x10B\x0e\b" +0x00020934:08480b0010000000d42a0000e068ffff330000000000000028000000e82a00000c69ffff650000000046 "\bH\v" -0x0002095f:18420e10420e08450b540e28470e20420e18420e10420e080034 "\x18B\x0e\x10B\x0e\bE\vT\x0e(G\x0e B\x0e\x18B\x0e\x10B\x0e\b" +0x0002095f:108c02410e188603440e208304740a0e18410e10420e08460b18 "\x10\x8c\x02A\x0e\x18\x86\x03D\x0e \x83\x04t\n\x0e\x18A\x0e\x10B\x0e\bF\v\x18" -0x0002097c:042e "\x04." +0x0002097c:142b "\x14+" -0x00020980:6067 "
g\xff\xffA\x01" +0x00020980:5069 "Pi\xff\xff\x1c" -0x00020984:4101 "A\x01" +0x00020984:1c00 "\x1c" -0x00020989:46 "F\x0e\x10\x8d\x02B\x0e\x18\x8c\x03A\x0e \x86\x04G\x0ep\x02\x8b\n\x0e A\x0e\x18B\x0e\x10B\x0e\bH\v" +0x00020989:48 "H\x0e\x10N\n\x0e\bA\v" -0x0002098c:8d02420e188c03410e208604470e70028b0a0e20410e18420e10420e08480b "\x8d\x02B\x0e\x18\x8c\x03A\x0e \x86\x04G\x0ep\x02\x8b\n\x0e A\x0e\x18B\x0e\x10B\x0e\bH\v" +0x0002098c:4e0a0e08410b000010000000302b00005469ffff37000000000000001c0000 "N\n\x0e\bA\v" +0x000209ac:442b "D+" -0x000209b0:14000000 "\x14" +0x000209b0:8069ffff "\x80i\xff\xff<" -0x000209b5:2e "." -0x000209b8:7868ffff330000000000000000 "xh\xff\xff3" -0x000209c8:2c "," +0x000209c8:34 "4" -0x000209cc:542e "T." +0x000209cc:642b "d+" -0x000209d1:68 "h\xff\xffe" +0x000209d1:69 "i\xff\xff\x8a" -0x000209d4:65 "e" +0x000209d4:8a "\x8a" -0x000209e8:74 "t\n\x0e\x18A\x0e\x10B\x0e\bF\v" +0x000209e8:7a "z\n\x0e\x18A\x0e\x10B\x0e\bH\v\n\x0e\x18A\x0e\x10B\x0e\bM\v\x1c" -0x000209f2:46 "F\v" +0x000209f2:48 "H\v
\n\x0e\x18A\x0e\x10B\x0e\bM\v\x1c" +0x000209f4:600a0e18410e10420e084d0b1c0000009c2b "\n\x0e\x18A\x0e\x10B\x0e\bM\v\x1c" +0x00020a08:f869ffff4800000000450e1086025e0a0e084d0b530e08 "\xf8i\xff\xffH" -0x00020a20:e068ffff3700 "\xe0h\xff\xff7" +0x00020a20:28000000bc2b "(" +0x00020a28:286affff73 "(j\xff\xffs" -0x00020a30:1c000000bc2e00000869ffff3c00000000480e10610a0e08470b4b0e08 "\x1c" -0x00020a50:3400 "4" +0x00020a50:e82b "\xe8+" -0x00020a54:dc2e00002869ffff8a00000000460e108c02410e188603440e2083047a0a "\xdc." +0x00020a54:7c6affff6500000000460e108f02490e188e03450e208d04450e288c0544 "|j\xff\xffe" -0x00020a73:18410e10420e08480b600a0e18410e10420e084d0b1c000000142f00008069ffff48 "\x18A\x0e\x10B\x0e\bH\v
\n\x0e\x18A\x0e\x10B\x0e\bM\v\x1c" +0x00020a73:308606480e388307470e406e0e38410e30410e28420e20420e18420e10420e080010 "0\x86\x06H\x0e8\x83\aG\x0e@n\x0e8A\x0e0A\x0e(B\x0e B\x0e\x18B\x0e\x10B\x0e\b" +0x00020a98:302c0000a46affff05000000000000 "0," -0x00020aa8:2c "," +0x00020aa8:14 "\x14" -0x00020aac:342f "4/" +0x00020aac:442c "D," -0x00020ab0:b069 "\xb0i\xff\xffs" +0x00020ab0:a06a "\xa0j\xff\xff\x12" -0x00020ab4:73 "s" +0x00020ab4:12 "\x12" -0x00020ab9:450e108602470e204e0a0e10440e084a0b02440a0e "E\x0e\x10\x86\x02G\x0e N\n\x0e\x10D\x0e\bJ\v\x02D\n\x0e\x10A\x0e\bA\v" -0x00020acf:410e08410b0000 "A\x0e\bA\v" +0x00020acf:011b0c07089001 "\x01\a\b\x90\x01" -0x00020ad8:44 "D" +0x00020ad8:24 "$" -0x00020adc:642f "d/" +0x00020adc:1c00 "\x1c" +0x00020ae0:4035fe "@5\xfe\xff\xb0\x06" -0x00020ae4:6500 "e" +0x00020ae4:b006 "\xb0\x06" -0x00020ae9:460e108f02490e188e03450e208d04450e288c05440e308606480e388307470e406e0e38410e30410e28420e20420e18420e10420e08 "F\x0e\x10\x8f\x02I\x0e\x18\x8e\x03E\x0e \x8d\x04E\x0e(\x8c\x05D\x0e0\x86\x06H\x0e8\x83\aG\x0e@n\x0e8A\x0e0A\x0e(B\x0e B\x0e\x18B\x0e\x10B\x0e\b" +0x00020ae9:0e10460e184a0f0b770880003f1a3a2a332422000000001400000044000000c83bfeff300000000000000000000000100000005c0000 "\x0e\x10F\x0e\x18J\x0f\vw\b\x80" -0x00020b20:14000000ac2f "\x14" +0x00020b20:e03bfeffa006 "\xe0;\xfe\xff\xa0\x06" -0x00020b28:286affff05 "(j\xff\xff\x05" -0x00020b38:10 "\x10" -0x00020b3c:c42f "\xc4/" -0x00020b40:206affff12 " j\xff\xff\x12" -0x00021010:b068 "\xb0h" -0x00021018:7068 "ph" -0x00021020:4073 "@s" -0x00021028:a078 "\xa0x" -0x00021030:5073 "Ps" +0x00021030:b068 "\xb0h" -0x00021038:6079 "y" +0x00021038:7068 "ph" -0x00021040:f06e "\xf0n" +0x00021040:3b73 ";s" +0x00021048:9b78 "\x9bx" +0x00021050:4b73 "Ks" -0x00021058:d0 "\xd0y" +0x00021058:5b "[y" -0x00021060:50c8 "P\xc8" +0x00021060:eb6e "\xebn" -0x00021068:30c9 "0\xc9" +0x00021068:fb78 "\xfbx" -0x00021070:c0c8 "\xc0\xc8" +0x00021070:fb6e "\xfbn" -0x00021078:f0c9 "\xf0\xc9" +0x00021078:cb79 "\xcby" -0x00021080:b0ca "\xb0\xca" +0x00021080:46c8 "F\xc8" -0x00021088:b0cb "\xb0\xcb" +0x00021088:26c9 "&\xc9" -0x00021090:30cb "0\xcb" +0x00021090:b6c8 "\xb6\xc8" -0x00021098:d07c "\xd0|" +0x00021098:e6c9 "\xe6\xc9" -0x000210a0:b0a5 "\xb0\xa5" +0x000210a0:a6ca "\xa6\xca" -0x000210a8:f0a5 "\xf0\xa5" +0x000210a8:a6cb "\xa6\xcb" -0x000210b0:70a7 "p\xa7" +0x000210b0:26cb "&\xcb" -0x000210b8:f0a6 "\xf0\xa6" +0x000210b8:cb7c "\xcb|" -0x000210c0:6078 "
x" +0x000210c0:aaa5 "\xaa\xa5" -0x000210c8:70a6 "p\xa6" +0x000210c8:eaa5 "\xea\xa5" -0x000210d0:b0 "\xb0\xa7" +0x000210d0:6a "j\xa7" -0x000210d8:30a5 "0\xa5" +0x000210d8:eaa6 "\xea\xa6" -0x000210e0:8073 "\x80s" +0x000210e0:5b78 "[x" -0x000210e8:707c "p|" +0x000210e8:6aa6 "j\xa6" -0x000210f0:6073 "s" +0x000210f0:aaa7 "\xaa\xa7" +0x000210f8:2aa5 "*\xa5" +0x00021100:7b73 "{s" +0x00021108:6b7c "k|" +0x00021110:5b73 "[s" +0x00021118:fb7b "\xfb{" -0x00021120:b0c0 "\xb0\xc0" -0x00021128:10c2 "\x10\xc2" -0x00021130:f0c0 "\xf0\xc0" -0x00021138:20c3 " \xc3" -0x00021140:d0c4 "\xd0\xc4" +0x00021140:a6c0 "\xa6\xc0" -0x00021148:80a8 "\x80\xa8" +0x00021148:06c2 "\x06\xc2" -0x00021150:10c5 "\x10\xc5" +0x00021150:e6c0 "\xe6\xc0" -0x00021158:20c7 " \xc7" +0x00021158:16c3 "\x16\xc3" -0x00021160:60c0 "
\xc0" +0x00021160:c6c4 "\xc6\xc4" -0x00021168:90c2 "\x90\xc2" +0x00021168:7aa8 "z\xa8" -0x00021170:c0bf "\xc0\xbf" +0x00021170:06c5 "\x06\xc5" -0x00021178:b0c3 "\xb0\xc3" +0x00021178:16c7 "\x16\xc7" -0x00021180:60c5 "\xc5" +0x00021180:56c0 "V\xc0" -0x00021188:f0a7 "\xf0\xa7" +0x00021188:86c2 "\x86\xc2" -0x00021190:40c6 "@\xc6" +0x00021190:b6bf "\xb6\xbf" -0x00021198:b0c7 "\xb0\xc7" +0x00021198:a6c3 "\xa6\xc3" -0x000211a0:40c1 "@\xc1" +0x000211a0:56c5 "V\xc5" -0x000211a8:50c4 "P\xc4" +0x000211a8:eaa7 "\xea\xa7" -0x000211b0:10c0 "\x10\xc0" +0x000211b0:36c6 "6\xc6" -0x000211b8:80c1 "\x80\xc1" +0x000211b8:a6c7 "\xa6\xc7" +0x000211c0:36c1 "6\xc1" -0x000211c8:807b "\x80{" +0x000211c8:46c4 "F\xc4" -0x000211d0:b0c5 "\xb0\xc5" +0x000211d0:06c0 "\x06\xc0" -0x000211d8:90c6 "\x90\xc6" +0x000211d8:76c1 "v\xc1" -0x000211e0:88c201 "\x88\xc2\x01" +0x000211e0:f6c500 "\xf6\xc5" -0x000211e8:129b01 "\x12\x9b\x01" +0x000211e8:7b7b00 "{{" -0x000211f0:169b01 "\x16\x9b\x01" +0x000211f0:a6c500 "\xa6\xc5" -0x000211f8:1c9b01 "\x1c\x9b\x01" +0x000211f8:86c600 "\x86\xc6" -0x00021200:229b "\"\x9b\x01" +0x00021200:88c2 "\x88\xc2\x01" -0x00021208:25 "%\x9b\x01" +0x00021208:12 "\x12\x9b\x01" -0x00021210:2a "*\x9b\x01" +0x00021210:16 "\x16\x9b\x01" -0x00021218:32 "2\x9b\x01" +0x00021218:1c "\x1c\x9b\x01" -0x00021220:2f "/\x9b\x01" +0x00021220:22 "\"\x9b\x01" +0x00021228:259b01 "%\x9b\x01" +0x00021230:2a9b01 "*\x9b\x01" +0x00021238:329b01 "2\x9b\x01" -0x00021240:36 "6\x9b\x01" +0x00021240:2f "/\x9b\x01" -0x00021248:bcbe01 "\xbc\xbe\x01" -0x00021250:3c9b01 "<\x9b\x01" -0x00021258:409b01 "@\x9b\x01" -0x00021260:46 "F\x9b\x01" +0x00021260:36 "6\x9b\x01" +0x00021268:bcbe01 "\xbc\xbe\x01" +0x00021270:3c9b01 "<\x9b\x01" +0x00021278:409b01 "@\x9b\x01" -0x00021280:25 "%\x9b\x01" +0x00021280:46 "F\x9b\x01" -0x00021288:b19901 "\xb1\x99\x01" -0x00021290:a39901 "\xa3\x99\x01" -0x00021298:4d9b01 "M\x9b\x01" -0x000212a0:cf97 "\xcf\x97\x01" +0x000212a0:259b "%\x9b\x01" +0x000212a8:b19901 "\xb1\x99\x01" +0x000212b0:a39901 "\xa3\x99\x01" +0x000212b8:4d9b01 "M\x9b\x01" -0x000212c0:579b "W\x9b\x01" +0x000212c0:cf97 "\xcf\x97\x01" -0x000212c8:5f9b01 "_\x9b\x01" -0x000212d0:649b01 "d\x9b\x01" -0x000212d8:6b9b01 "k\x9b\x01" -0x000212e0:76 "v\x9b\x01" +0x000212e0:57 "W\x9b\x01" -0x000212e8:7d "}\x9b\x01" +0x000212e8:5f "_\x9b\x01" -0x000212f0:86 "\x86\x9b\x01" +0x000212f0:64 "d\x9b\x01" +0x000212f8:6b9b01 "k\x9b\x01" -0x00021300:209c " \x9c\x01" +0x00021300:769b "v\x9b\x01" +0x00021308:7d9b01 "}\x9b\x01" +0x00021310:869b01 "\x86\x9b\x01" -0x00021318:61 "a" -0x00021320:74c2 "t\xc2\x01" +0x00021320:209c " \x9c\x01" -0x00021338:62 "b" +0x00021338:61 "a" -0x00021340:949b "\x94\x9b\x01" +0x00021340:74c2 "t\xc2\x01" -0x00021358:64 "d" +0x00021358:62 "b" -0x00021360:9e "\x9e\x9b\x01" +0x00021360:94 "\x94\x9b\x01" -0x00021378:44 "D" +0x00021378:64 "d" -0x00021380:a4 "\xa4\x9b\x01" +0x00021380:9e "\x9e\x9b\x01" -0x00021398:86 "\x86" +0x00021398:44 "D" -0x000213a0:ae "\xae\x9b\x01" +0x000213a0:a4 "\xa4\x9b\x01" -0x000213b8:87 "\x87" +0x000213b8:86 "\x86" -0x000213c0:c6 "\xc6\x9b\x01" +0x000213c0:ae "\xae\x9b\x01" -0x000213d8:68 "h" +0x000213d8:87 "\x87" -0x000213e0:d5 "\xd5\x9b\x01" +0x000213e0:c6 "\xc6\x9b\x01" -0x000213f8:69 "i" +0x000213f8:68 "h" -0x00021400:db "\xdb\x9b\x01" +0x00021400:d5 "\xd5\x9b\x01" -0x00021418:6b "k" +0x00021418:69 "i" -0x00021420:e5 "\xe5\x9b\x01" +0x00021420:db "\xdb\x9b\x01" -0x00021438:6e "n" +0x00021438:6b "k" -0x00021440:f5 "\xf5\x9b\x01" +0x00021440:e5 "\xe5\x9b\x01" -0x00021458:47 "G" +0x00021458:6e "n" -0x00021460:fe "\xfe\x9b\x01" +0x00021460:f5 "\xf5\x9b\x01" -0x00021478:71 "q" +0x00021478:47 "G" -0x00021480:119c "\x11\x9c\x01" +0x00021480:fe9b "\xfe\x9b\x01" -0x00021498:72 "r" +0x00021498:71 "q" -0x000214a0:a399 "\xa3\x99\x01" +0x000214a0:119c "\x11\x9c\x01" -0x000214b8:73 "s" +0x000214b8:72 "r" -0x000214c0:86 "\x86\x99\x01" +0x000214c0:a3 "\xa3\x99\x01" -0x000214c8:01 "\x01" -0x000214d8:77 "w" +0x000214d8:73 "s" -0x000214e0:199c "\x19\x9c\x01" +0x000214e0:8699 "\x86\x99\x01" +0x000214e8:01 "\x01" -0x000214f8:41 "A" +0x000214f8:77 "w" -0x00021500:24 "$\x9c\x01" +0x00021500:19 "\x19\x9c\x01" -0x00021518:42 "B" +0x00021518:41 "A" -0x00021520:33 "3\x9c\x01" +0x00021520:24 "$\x9c\x01" -0x00021538:46 "F" +0x00021538:42 "B" -0x00021540:3c "<\x9c\x01" +0x00021540:33 "3\x9c\x01" -0x00021558:84 "\x84" +0x00021558:46 "F" -0x00021560:46 "F\x9c\x01" +0x00021560:3c "<\x9c\x01" -0x00021578:8d "\x8d" +0x00021578:84 "\x84" -0x00021580:49 "I\x9c\x01" +0x00021580:46 "F\x9c\x01" -0x00021598:48 "H" +0x00021598:8d "\x8d" -0x000215a0:18be "\x18\xbe\x01" +0x000215a0:499c "I\x9c\x01" -0x000215b8:83 "\x83" +0x000215b8:48 "H" -0x000215c0:629c "b\x9c\x01" +0x000215c0:18be "\x18\xbe\x01" -0x000215c8:01 "\x01" -0x000215d8:88 "\x88" +0x000215d8:83 "\x83" -0x000215e0:67 "g\x9c\x01" +0x000215e0:62 "b\x9c\x01" -0x000215f8:49 "I" +0x000215f8:88 "\x88" -0x00021600:d599 "\xd5\x99\x01" +0x00021600:679c "g\x9c\x01" -0x00021618:8a "\x8a" +0x00021618:49 "I" -0x00021620:6e9c "n\x9c\x01" +0x00021620:d599 "\xd5\x99\x01" +0x00021628:01 "\x01" -0x00021638:4c "L" +0x00021638:8a "\x8a" -0x00021640:7a "z\x9c\x01" +0x00021640:6e "n\x9c\x01" -0x00021658:4e "N" +0x00021658:4c "L" -0x00021660:82 "\x82\x9c\x01" +0x00021660:7a "z\x9c\x01" -0x00021678:51 "Q" +0x00021678:4e "N" -0x00021680:e799 "\xe7\x99\x01" +0x00021680:829c "\x82\x9c\x01" -0x00021688:01 "\x01" -0x00021698:8b "\x8b" +0x00021698:51 "Q" -0x000216a0:8d9c "\x8d\x9c\x01" +0x000216a0:e799 "\xe7\x99\x01" +0x000216a8:01 "\x01" -0x000216b8:52 "R" +0x000216b8:8b "\x8b" -0x000216c0:b899 "\xb8\x99\x01" +0x000216c0:8d9c "\x8d\x9c\x01" -0x000216c8:01 "\x01" -0x000216d8:85 "\x85" +0x000216d8:52 "R" -0x000216e0:979c "\x97\x9c\x01" +0x000216e0:b899 "\xb8\x99\x01" +0x000216e8:01 "\x01" -0x000216f8:8c "\x8c" +0x000216f8:85 "\x85" -0x00021700:aa99 "\xaa\x99\x01" +0x00021700:979c "\x97\x9c\x01" -0x00021708:01 "\x01" -0x00021718:8e "\x8e" +0x00021718:8c "\x8c" -0x00021721:9c "\x9c\x01" +0x00021721:99 "\x99\x01" -0x00021738:54 "T" +0x00021738:8e "\x8e" -0x00021740:b199 "\xb1\x99\x01" +0x00021740:aa9c "\xaa\x9c\x01" -0x00021758:8f "\x8f" +0x00021758:54 "T" -0x00021760:b29c "\xb2\x9c\x01" +0x00021760:b199 "\xb1\x99\x01" -0x00021778:90 "\x90" +0x00021778:8f "\x8f" -0x00021780:c199 "\xc1\x99\x01" +0x00021780:b29c "\xb2\x9c\x01" -0x00021788:02 "\x02" +0x00021788:01 "\x01" -0x00021798:82 "\x82" +0x00021798:90 "\x90" -0x000217a0:c9 "\xc9\x99\x01" +0x000217a0:c1 "\xc1\x99\x01" -0x000217b8:89 "\x89" +0x000217b8:82 "\x82" -0x000217c0:bd9c "\xbd\x9c\x01" +0x000217c0:c999 "\xc9\x99\x01" -0x000217c8:01 "\x01" +0x000217c8:02 "\x02" -0x000217d8:81 "\x81" +0x000217d8:89 "\x89" -0x000217e0:c8 "\xc8\x9c\x01" +0x000217e0:bd "\xbd\x9c\x01" +0x000217e8:01 "\x01" -0x000217f8:5a "Z" +0x000217f8:81 "\x81" -0x00021800:d0 "\xd0\x9c\x01" +0x00021800:c8 "\xc8\x9c\x01" -0x00021818:80 "\x80" +0x00021818:5a "Z" -0x00021820:d7 "\xd7\x9c\x01" +0x00021820:d0 "\xd0\x9c\x01" -0x00021838:7effffff "~\xff\xff\xff" +0x00021838:80000000 "\x80" -0x00021840:cf97 "\xcf\x97\x01" +0x00021840:d79c "\xd7\x9c\x01" -0x00021858:7d "}\xff\xff\xff" +0x00021858:7e "~\xff\xff\xff" +0x00021860:cf9701 "\xcf\x97\x01" +0x00021878:7dffffff "}\xff\xff\xff" -0x00021880:469901 "F\x99\x01" -0x00021888:3b9d01 ";\x9d\x01" -0x00021890:3e9d01 ">\x9d\x01" -0x00021898:0e9c01 "\x0e\x9c\x01" -0x000218a0:229b "\"\x9b\x01" +0x000218a0:4699 "F\x99\x01" -0x000218a8:41 "A\x9d\x01" +0x000218a8:3b ";\x9d\x01" -0x000218b0:44 "D\x9d\x01" +0x000218b0:3e ">\x9d\x01" -0x000218b8:479d "G\x9d\x01" +0x000218b8:0e9c "\x0e\x9c\x01" -0x000218c0:4a9d "J\x9d\x01" +0x000218c0:229b "\"\x9b\x01" -0x000218c8:7d "}\x9d\x01" +0x000218c8:41 "A\x9d\x01" -0x000218d0:4d "M\x9d\x01" +0x000218d0:44 "D\x9d\x01" -0x000218d8:50 "P\x9d\x01" +0x000218d8:47 "G\x9d\x01" -0x000218e0:53 "S\x9d\x01" +0x000218e0:4a "J\x9d\x01" -0x000218e8:d49c "\xd4\x9c\x01" +0x000218e8:7d9d "}\x9d\x01" -0x000218f0:56 "V\x9d\x01" +0x000218f0:4d "M\x9d\x01" -0x000218f8:59 "Y\x9d\x01" +0x000218f8:50 "P\x9d\x01" -0x00021900:5c "\\\x9d\x01" +0x00021900:53 "S\x9d\x01" -0x00021908:5f9d "_\x9d\x01" +0x00021908:d49c "\xd4\x9c\x01" -0x00021910:c39b "\xc3\x9b\x01" +0x00021910:569d "V\x9d\x01" -0x00021918:62 "b\x9d\x01" +0x00021918:59 "Y\x9d\x01" -0x00021920:65 "e\x9d\x01" +0x00021920:5c "\\\x9d\x01" -0x00021928:68 "h\x9d\x01" +0x00021928:5f "_\x9d\x01" -0x00021930:6b9d "k\x9d\x01" +0x00021930:c39b "\xc3\x9b\x01" -0x00021938:6e "n\x9d\x01" +0x00021938:62 "b\x9d\x01" +0x00021940:659d01 "e\x9d\x01" +0x00021948:689d01 "h\x9d\x01" +0x00021950:6b9d01 "k\x9d\x01" +0x00021958:6e9d01 "n\x9d\x01" -0x00021960:259b01 "%\x9b\x01" -0x00021968:719d01 "q\x9d\x01" -0x00021970:3c9c01 "<\x9c\x01" -0x00021978:339c01 "3\x9c\x01" +0x00021980:259b01 "%\x9b\x01" +0x00021988:719d01 "q\x9d\x01" +0x00021990:3c9c01 "<\x9c\x01" +0x00021998:339c01 "3\x9c\x01" -0x000219a0:3d9901 "=\x99\x01" -0x000219a8:779d01 "w\x9d\x01" -0x000219b0:7c9d01 "|\x9d\x01" -0x000219b8:549901 "T\x99\x01" +0x000219c0:3d9901 "=\x99\x01" +0x000219c8:779d01 "w\x9d\x01" -0x000219d0:c69b "\xc6\x9b\x01" +0x000219d0:7c9d "|\x9d\x01" -0x000219d8:469c "F\x9c\x01" +0x000219d8:5499 "T\x99\x01" +0x000219f0:c69b01 "\xc6\x9b\x01" +0x000219f8:469c01 "F\x9c\x01" -0x00021a00:7a9c01 "z\x9c\x01" -0x00021a08:5bc201 "[\xc2\x01" -0x00021a10:61c201 "a\xc2\x01" -0x00021a18:6ec201 "n\xc2\x01" -0x00021a20:7bc2 "{\xc2\x01" +0x00021a20:7a9c "z\x9c\x01" -0x00021a28:eccc "\xec\xcc\x01" +0x00021a28:5bc2 "[\xc2\x01" -0x00021a30:8f "\x8f\xc2\x01" +0x00021a30:61 "a\xc2\x01" -0x00021a38:74 "t\xc2\x01" +0x00021a38:6e "n\xc2\x01" -0x00021a40:5499 "T\x99\x01" +0x00021a40:7bc2 "{\xc2\x01" -0x00021a48:97c2 "\x97\xc2\x01" +0x00021a48:eccc "\xec\xcc\x01" +0x00021a50:8fc201 "\x8f\xc2\x01" -0x00021a58:010000 "\x01" +0x00021a58:74c201 "t\xc2\x01" -0x00021a60:010000 "\x01" +0x00021a60:549901 "T\x99\x01" -0x00021a68:010000 "\x01" +0x00021a68:97c201 "\x97\xc2\x01" -0x00021a70:76 "v" -0x00021a78:0c "\f" +0x00021a78:01 "\x01" +0x00021a80:0100 "\x01" -0x00021a88:0d "\r" +0x00021a88:01 "\x01" -0x00021a90:747501 "tu\x01" +0x00021a90:ce0100 "\xce\x01" -0x00021aa0:10 "\x10 \x02" +0x00021aa0:30 "0 \x02" -0x00021ac0:18 "\x18 \x02" +0x00021ac0:38 "8 \x02" -0x00021ae0:a0 "\xa0\x03" +0x00021ae0:b8 "\xb8\x03" -0x00021af0:9011 "\x90\x11" +0x00021af0:8010 "\x80\x10" -0x00021b00:88 "\x88\x04" +0x00021b00:68 "h\x04" -0x00021b10:4c06 "L\x06" +0x00021b10:b405 "\xb4\x05" -0x00021b70:b82c "\xb8," +0x00021b70:f82a "\xf8*" -0x00021b80:6819 "h\x19" +0x00021b80:a817 "\xa8\x17" -0x00021bd0:f818 "\xf8\x18" +0x00021bd0:3817 "8\x17" -0x00021bf0:dc17 "\xdc\x17" +0x00021bf0:3416 "4\x16" -0x00021c58:58 "X*\x02" +0x00021c58:78 "x*\x02" -0x000221f0:d0 "\xd0\xd4" +0x000221f0:c6 "\xc6\xd4" -0x00022258:20 " D\x02" +0x00022258:80 "\x80D\x02" -0x00022260:60 "
i\x01" +0x00022260:41 "Ai\x01" -0x00022268:31356164383336626533333339646563306532653661336336333765303865343861616362642e6465627567 "15ad836be3339dec0e2e6a3c637e08e48aacbd.debug" -0x00022298:fb071937002e7368737472746162 "\xfb\a\x197" -0x000222a7:2e696e74657270 ".interp" -0x000222af:2e6e6f74652e676e752e70726f7065727479 ".note.gnu.property" -0x000222c2:2e6e6f74652e676e752e6275696c642d6964 ".note.gnu.build-id" -0x000222d5:2e6e6f74652e4142492d746167 ".note.ABI-tag" -0x000222e3:2e676e752e68617368 ".gnu.hash" -0x000222ed:2e64796e73796d ".dynsym" -0x000222f5:2e64796e737472002e676e752e76657273696f6e ".dynstr" -0x0002230a:2e676e752e76657273696f6e5f72002e72656c612e64796e ".gnu.version_r" -0x00022323:2e72656c612e706c74002e696e6974 ".rela.plt" -0x00022333:2e706c742e676f74 ".plt.got" -0x0002233c:2e706c742e736563002e74657874 ".plt.sec" -0x0002234b:2e66696e69 ".fini" -0x00022351:2e726f64617461 ".rodata" -0x00022359:2e65685f6672616d655f686472 ".eh_frame_hdr" -0x00022367:2e65685f6672616d65 ".eh_frame" -0x00022371:2e696e69745f6172726179 ".init_array" -0x0002237d:2e66696e695f6172726179 ".fini_array" -0x00022389:2e646174612e72656c2e726f ".data.rel.ro" -0x00022396:2e64796e616d6963 ".dynamic" -0x0002239f:2e64617461002e627373002e676e755f64656275676c696e6b ".data" +0x000223bc:03 "\x03" +0x000223be:0e "\x0e" +0x000223c0:d046 "\xd0F" +0x000223d4:03 "\x03" +0x000223d6:0f "\x0f" +0x000223d9:47 "G" +0x000223ec:03 "\x03" +0x000223ee:10 "\x10" +0x000223f0:a04d "\xa0M" -0x00022400:0b "\v" -0x00022404:01 "\x01" +0x00022404:03 "\x03" +0x00022406:11 "\x11" -0x00022408:020000 "\x02" +0x00022408:647501 "du\x01" -0x00022410:1803 "\x18\x03" -0x00022418:1803 "\x18\x03" +0x0002241c:03 "\x03" +0x0002241e:12 "\x12" -0x00022420:1c0000 "\x1c" -0x00022430:01 "\x01" +0x00022434:03 "\x03" +0x00022436:13 "\x13" +0x00022438:4cd201 "L\xd2\x01" -0x00022440:13 "\x13" -0x00022444:07 "\a" -0x00022448:02 "\x02" +0x0002244c:03 "\x03" +0x0002244e:14 "\x14" -0x00022450:380300 "8\x03" +0x00022450:78db01 "x\xdb\x01" -0x00022458:3803 "8\x03" -0x00022460:20 " " +0x00022464:03 "\x03" +0x00022466:15 "\x15" +0x00022468:302002 "0 \x02" -0x00022470:08 "\b" +0x0002247c:03 "\x03" +0x0002247e:16 "\x16" -0x00022480:260000 "&" +0x00022480:382002 "8 \x02" -0x00022484:07 "\a" -0x00022488:02 "\x02" -0x00022490:5803 "X\x03" +0x00022494:03 "\x03" +0x00022496:17 "\x17" -0x00022498:580300 "X\x03" +0x00022498:402002 "@ \x02" -0x000224a0:24 "$" +0x000224ac:03 "\x03" +0x000224ae:18 "\x18" -0x000224b0:040000 "\x04" +0x000224b0:782a02 "x*\x02" -0x000224c0:39 "9" -0x000224c4:07 "\a" +0x000224c4:03 "\x03" +0x000224c6:19 "\x19" -0x000224c8:020000 "\x02" +0x000224c8:582c02 "X,\x02" -0x000224d0:7c03 "|\x03" -0x000224d8:7c03 "|\x03" +0x000224dc:03 "\x03" +0x000224de:1a "\x1a" -0x000224e0:200000 " " -0x000224f0:04 "\x04" +0x000224f4:03 "\x03" +0x000224f6:1b "" +0x000224f8:803202 "\x802\x02" -0x00022500:47 "G" -0x00022504:f6ffff6f02 "\xf6\xff\xffo\x02" +0x0002250c:04 "\x04" +0x0002250e:f1ff0000 "\xf1\xff" -0x00022518:a003 "\xa0\x03" -0x00022520:e4 "\xe4" +0x00022520:11 "\x11" +0x00022524:02 "\x02" +0x00022526:0c "\f" -0x00022528:0600 "\x06" -0x00022530:08 "\b" +0x00022538:1a "\x1a" +0x0002253c:02 "\x02" +0x0002253e:10 "\x10" -0x00022540:5100 "Q" +0x00022540:a04d "\xa0M" -0x00022544:0b "\v" -0x00022548:02 "\x02" -0x00022550:8804 "\x88\x04" +0x00022550:2300 "#" +0x00022554:02 "\x02" +0x00022556:10 "\x10" -0x00022558:8804 "\x88\x04" +0x00022558:a54d "\xa5M" -0x00022560:080d "\b\r" -0x00022568:07 "\a" +0x00022568:2c "," -0x0002256c:01 "\x01" +0x0002256c:02 "\x02" +0x0002256e:10 "\x10" -0x00022570:0800 "\b" +0x00022570:aa4d "\xaaM" -0x00022578:18 "\x18" -0x00022580:59 "Y" +0x00022580:35 "5" -0x00022584:03 "\x03" +0x00022584:02 "\x02" +0x00022586:10 "\x10" -0x00022588:0200 "\x02" +0x00022588:af4d "\xafM" -0x00022590:9011 "\x90\x11" -0x00022598:9011 "\x90\x11" +0x00022598:3e00 ">" +0x0002259c:02 "\x02" +0x0002259e:10 "\x10" -0x000225a0:4c06 "L\x06" +0x000225a0:b44d "\xb4M" -0x000225b0:01 "\x01" +0x000225b0:47 "G" +0x000225b4:02 "\x02" +0x000225b6:10 "\x10" +0x000225b8:b94d "\xb9M" -0x000225c0:61 "a" -0x000225c4:ffffff6f02 "\xff\xff\xffo\x02" +0x000225cc:02 "\x02" +0x000225ce:10 "\x10" -0x000225d0:dc17 "\xdc\x17" +0x000225d0:be4d "\xbeM" -0x000225d8:dc17 "\xdc\x17" -0x000225e0:1601 "\x16\x01" +0x000225e0:5900 "Y" +0x000225e4:02 "\x02" +0x000225e6:10 "\x10" -0x000225e8:0600 "\x06" +0x000225e8:c34d "\xc3M" -0x000225f0:02 "\x02" -0x000225f8:02 "\x02" +0x000225f8:62 "b" +0x000225fc:02 "\x02" +0x000225fe:10 "\x10" -0x00022600:6e00 "n" +0x00022600:c84d "\xc8M" -0x00022604:feffff6f02 "\xfe\xff\xffo\x02" -0x00022610:f818 "\xf8\x18" +0x00022610:6b00 "k" +0x00022614:02 "\x02" +0x00022616:10 "\x10" -0x00022618:f818 "\xf8\x18" +0x00022618:cd4d "\xcdM" -0x00022620:70 "p" -0x00022628:07 "\a" +0x00022628:74 "t" -0x0002262c:01 "\x01" +0x0002262c:02 "\x02" +0x0002262e:10 "\x10" -0x00022630:0800 "\b" +0x00022630:d24d "\xd2M" -0x00022644:04 "\x04" +0x00022644:02 "\x02" +0x00022646:10 "\x10" -0x00022648:0200 "\x02" +0x00022648:d74d "\xd7M" -0x00022650:6819 "h\x19" -0x00022658:6819 "h\x19" +0x00022658:8600 "\x86" +0x0002265c:02 "\x02" +0x0002265e:10 "\x10" -0x00022660:5013 "P\x13" +0x00022660:dc4d "\xdcM" -0x00022668:06 "\x06" -0x00022670:08 "\b" +0x00022670:8f "\x8f" +0x00022674:02 "\x02" +0x00022676:10 "\x10" -0x00022678:1800 "\x18" +0x00022678:e14d "\xe1M" -0x00022680:87 "\x87" -0x00022684:04 "\x04" -0x00022688:42 "B" +0x00022688:98 "\x98" +0x0002268c:02 "\x02" +0x0002268e:10 "\x10" -0x00022690:b82c "\xb8," +0x00022690:e64d "\xe6M" -0x00022698:b82c "\xb8," -0x000226a0:f009 "\xf0\t" +0x000226a0:a100 "\xa1" +0x000226a4:02 "\x02" +0x000226a6:10 "\x10" -0x000226a8:0600 "\x06" +0x000226a8:eb4d "\xebM" -0x000226ac:19 "\x19" -0x000226b0:08 "\b" -0x000226b8:18 "\x18" +0x000226b8:aa "\xaa" +0x000226bc:02 "\x02" +0x000226be:10 "\x10" -0x000226c0:910000 "\x91" +0x000226c0:bd3201 "\xbd2\x01" -0x000226c4:01 "\x01" -0x000226c8:06 "\x06" +0x000226d0:b400 "\xb4" +0x000226d4:02 "\x02" +0x000226d6:10 "\x10" +0x000226d8:d6df "\xd6\xdf" -0x000226e0:1b "" +0x000226e8:bd "\xbd" +0x000226ec:02 "\x02" +0x000226ee:10 "\x10" -0x000226f0:040000 "\x04" +0x000226f0:507501 "Pu\x01" -0x00022700:8c "\x8c" +0x00022700:c7 "\xc7" -0x00022704:01 "\x01" +0x00022704:02 "\x02" +0x00022706:10 "\x10" -0x00022708:060000 "\x06" +0x00022708:a84801 "\xa8H\x01" -0x00022710:2040 " @" -0x00022718:2040 " @" +0x00022718:d100 "\xd1" +0x0002271c:02 "\x02" +0x0002271e:10 "\x10" -0x00022720:b006 "\xb0\x06" +0x00022720:d6d4 "\xd6\xd4" -0x00022730:10 "\x10" +0x00022730:da "\xda" +0x00022734:02 "\x02" +0x00022736:10 "\x10" -0x00022738:100000 "\x10" +0x00022738:975d01 "\x97]\x01" -0x00022740:97 "\x97" -0x00022744:01 "\x01" -0x00022748:06 "\x06" +0x00022748:e4 "\xe4" +0x0002274c:02 "\x02" +0x0002274e:10 "\x10" -0x00022750:d04600 "\xd0F" +0x00022750:884801 "\x88H\x01" -0x00022758:d046 "\xd0F" -0x00022760:30 "0" +0x00022760:ee "\xee" +0x00022764:02 "\x02" +0x00022766:10 "\x10" +0x00022768:a6d7 "\xa6\xd7" -0x00022770:10 "\x10" -0x00022778:10 "\x10" +0x00022778:f7 "\xf7" +0x0002277c:02 "\x02" +0x0002277e:10 "\x10" -0x00022780:a00000 "\xa0" +0x00022780:a75801 "\xa7X\x01" -0x00022784:01 "\x01" -0x00022788:06 "\x06" +0x00022790:0101 "\x01\x01" +0x00022794:02 "\x02" +0x00022796:10 "\x10" +0x00022798:d60901 "\xd6\t\x01" -0x000227a0:a006 "\xa0\x06" +0x000227a8:0b01 "\v\x01" +0x000227ac:02 "\x02" +0x000227ae:10 "\x10" -0x000227b0:1000 "\x10" +0x000227b0:ab6b "\xabk" -0x000227b8:10 "\x10" -0x000227c0:a900 "\xa9" +0x000227c0:1401 "\x14\x01" -0x000227c4:01 "\x01" +0x000227c4:02 "\x02" +0x000227c6:10 "\x10" -0x000227c8:060000 "\x06" +0x000227c8:285001 "(P\x01" -0x000227d0:a04d "\xa0M" -0x000227d8:a04d "\xa0M" +0x000227d8:1e01 "\x1e\x01" +0x000227dc:02 "\x02" +0x000227de:10 "\x10" -0x000227e0:d227 "\xd2'\x01" +0x000227e0:575b "W[\x01" -0x000227f0:1000 "\x10" +0x000227f0:2801 "(\x01" +0x000227f4:02 "\x02" +0x000227f6:10 "\x10" +0x000227f8:375701 "7W\x01" -0x00022800:af "\xaf" -0x00022804:01 "\x01" -0x00022808:0600 "\x06" +0x00022808:3201 "2\x01" +0x0002280c:02 "\x02" +0x0002280e:10 "\x10" -0x00022810:7475 "tu\x01" +0x00022810:4848 "HH\x01" -0x00022818:747501 "tu\x01" -0x00022820:0d00 "\r" +0x00022820:3c01 "<\x01" +0x00022824:02 "\x02" +0x00022826:10 "\x10" +0x00022828:c84801 "\xc8H\x01" -0x00022830:04 "\x04" +0x00022838:4601 "F\x01" +0x0002283c:02 "\x02" +0x0002283e:10 "\x10" -0x00022840:b500 "\xb5" +0x00022840:46eb "F\xeb" -0x00022844:01 "\x01" -0x00022848:02 "\x02" +0x00022850:4f0100 "O\x01" +0x00022854:02 "\x02" +0x00022856:10 "\x10" +0x00022858:2b6b00 "+k" -0x00022860:4952 "IR" +0x00022868:5801 "X\x01" +0x0002286c:02 "\x02" +0x0002286e:10 "\x10" -0x00022870:2000 " " +0x00022870:d068 "\xd0h" -0x00022880:bd00 "\xbd" +0x00022880:6101 "a\x01" -0x00022884:01 "\x01" +0x00022884:02 "\x02" +0x00022886:10 "\x10" -0x00022888:0200 "\x02" +0x00022888:c068 "\xc0h" -0x00022890:4cd201 "L\xd2\x01" -0x00022898:4cd201 "L\xd2\x01" +0x00022898:6a0100 "j\x01" +0x0002289c:02 "\x02" +0x0002289e:10 "\x10" -0x000228a0:2c09 ",\t" +0x000228a0:b6f4 "\xb6\xf4" -0x000228b0:0400 "\x04" +0x000228b0:7301 "s\x01" +0x000228b4:02 "\x02" +0x000228b6:10 "\x10" +0x000228b8:406d01 "@m\x01" -0x000228c0:cb "\xcb" -0x000228c4:01 "\x01" -0x000228c8:0200 "\x02" +0x000228c8:7d01 "}\x01" +0x000228cc:02 "\x02" +0x000228ce:10 "\x10" -0x000228d0:78db01 "x\xdb\x01" +0x000228d0:6b6f00 "ko" -0x000228d8:78db01 "x\xdb\x01" -0x000228e0:d82f "\xd8/" +0x000228e0:8601 "\x86\x01" +0x000228e4:02 "\x02" +0x000228e6:10 "\x10" +0x000228e8:caa9 "\xca\xa9" -0x000228f0:08 "\b" +0x000228f8:8f01 "\x8f\x01" +0x000228fc:02 "\x02" +0x000228fe:10 "\x10" -0x00022900:d500 "\xd5" +0x00022900:bab8 "\xba\xb8" -0x00022904:0e "\x0e" -0x00022908:03 "\x03" -0x00022910:102002 "\x10 \x02" +0x00022910:980100 "\x98\x01" +0x00022914:02 "\x02" +0x00022916:10 "\x10" -0x00022918:101002 "\x10\x10\x02" +0x00022918:f6fb00 "\xf6\xfb" -0x00022920:08 "\b" +0x00022928:a101 "\xa1\x01" +0x0002292c:02 "\x02" +0x0002292e:10 "\x10" -0x00022930:0800 "\b" +0x00022930:16f0 "\x16\xf0" -0x00022938:08 "\b" -0x00022940:e100 "\xe1" +0x00022940:aa01 "\xaa\x01" -0x00022944:0f "\x0f" +0x00022944:02 "\x02" +0x00022946:10 "\x10" -0x00022948:0300 "\x03" +0x00022948:76f6 "v\xf6" -0x00022950:182002 "\x18 \x02" -0x00022958:181002 "\x18\x10\x02" +0x00022958:b30100 "\xb3\x01" +0x0002295c:02 "\x02" +0x0002295e:10 "\x10" -0x00022960:0800 "\b" +0x00022960:7b6e "{n" -0x00022970:0800 "\b" +0x00022970:bc01 "\xbc\x01" +0x00022974:02 "\x02" +0x00022976:10 "\x10" -0x00022978:0800 "\b" +0x00022978:5b80 "[\x80" -0x00022980:ed "\xed" -0x00022984:01 "\x01" -0x00022988:0300 "\x03" +0x00022988:c501 "\xc5\x01" +0x0002298c:02 "\x02" +0x0002298e:10 "\x10" -0x00022990:202002 " \x02" +0x00022990:bb7d00 "\xbb}" -0x00022998:201002 " \x10\x02" -0x000229a0:380a "8\n" +0x000229a0:ce01 "\xce\x01" +0x000229a4:02 "\x02" +0x000229a6:10 "\x10" +0x000229a8:f75a01 "\xf7Z\x01" -0x000229b0:20 " " +0x000229b8:d801 "\xd8\x01" +0x000229bc:02 "\x02" +0x000229be:10 "\x10" -0x000229c0:fa00 "\xfa" +0x000229c0:1069 "\x10i" -0x000229c4:06 "\x06" -0x000229c8:03 "\x03" -0x000229d0:582a02 "X\x02" +0x000229d0:e10100 "\xe1\x01" +0x000229d4:02 "\x02" +0x000229d6:10 "\x10" -0x000229d8:581a02 "X\x1a\x02" +0x000229d8:7b7100 "{q" -0x000229e1:02 "\x02" -0x000229e8:0700 "\a" +0x000229e8:ea01 "\xea\x01" +0x000229ec:02 "\x02" +0x000229ee:10 "\x10" -0x000229f0:0800 "\b" +0x000229f0:9ba1 "\x9b\xa1" -0x000229f8:10 "\x10" -0x00022a00:9b00 "\x9b" +0x00022a00:f301 "\xf3\x01" -0x00022a04:01 "\x01" +0x00022a04:02 "\x02" +0x00022a06:10 "\x10" -0x00022a08:030000 "\x03" +0x00022a08:b75c01 "\xb7\\x01" -0x00022a10:582c02 "X,\x02" -0x00022a18:581c02 "X\x1c\x02" +0x00022a18:fd0100 "\xfd\x01" +0x00022a1c:02 "\x02" +0x00022a1e:10 "\x10" -0x00022a20:a003 "\xa0\x03" +0x00022a20:eb75 "\xebu" -0x00022a30:0800 "\b" +0x00022a30:0602 "\x06\x02" +0x00022a34:02 "\x02" +0x00022a36:10 "\x10" -0x00022a38:0800 "\b" +0x00022a38:2b6c "+l" -0x00022a40:0301 "\x03\x01" -0x00022a44:01 "\x01" -0x00022a48:0300 "\x03" +0x00022a48:0f02 "\x0f\x02" +0x00022a4c:02 "\x02" +0x00022a4e:10 "\x10" +0x00022a50:3b6b00 ";k" -0x00022a59:2002 " \x02" -0x00022a60:68 "h\x02" +0x00022a60:18 "\x18\x02" +0x00022a64:02 "\x02" +0x00022a66:10 "\x10" +0x00022a68:8b73 "\x8bs" -0x00022a70:20 " " +0x00022a78:2102 "!\x02" +0x00022a7c:02 "\x02" +0x00022a7e:10 "\x10" -0x00022a80:0901 "\t\x01" +0x00022a80:96cc "\x96\xcc" -0x00022a84:08 "\b" -0x00022a88:03 "\x03" -0x00022a90:803202 "\x802\x02" +0x00022a90:2a0200 "\x02" +0x00022a94:02 "\x02" +0x00022a96:10 "\x10" -0x00022a98:682202 "h\"\x02" +0x00022a98:e6d500 "\xe6\xd5" -0x00022aa0:d812 "\xd8\x12" +0x00022aa8:3302 "3\x02" +0x00022aac:02 "\x02" +0x00022aae:10 "\x10" -0x00022ab0:200000 " " +0x00022ab0:175b01 "\x17[\x01" -0x00022ac0:0e01 "\x0e\x01" +0x00022ac0:3d02 "=\x02" -0x00022ac4:01 "\x01" +0x00022ac4:02 "\x02" +0x00022ac6:10 "\x10" +0x00022ac8:546201 "Tb\x01" -0x00022ad8:682202 "h\"\x02" +0x00022ad8:470200 "G\x02" +0x00022adc:02 "\x02" +0x00022ade:10 "\x10" -0x00022ae0:340000 "4" +0x00022ae0:407501 "@u\x01" -0x00022af0:0400 "\x04" +0x00022af0:5102 "Q\x02" +0x00022af4:02 "\x02" +0x00022af6:10 "\x10" +0x00022af8:d07401 "\xd0t\x01" -0x00022b00:01 "\x01" -0x00022b04:03 "\x03" +0x00022b08:5b02 "[\x02" +0x00022b0c:02 "\x02" +0x00022b0e:10 "\x10" +0x00022b11:68 "h" -0x00022b18:9c2202 "\x9c\"\x02" -0x00022b20:1d01 "\x1d\x01" +0x00022b20:6402 "d\x02" +0x00022b24:02 "\x02" +0x00022b26:10 "\x10" +0x00022b28:7068 "ph" -0x00022b30:01 "\x01" +0x00022b38:7a02 "z\x02" +0x00022b3c:02 "\x02" +0x00022b3e:10 "\x10"and much more differences on the top.
Ideally I would like to have no difference with the original binary with
diff ls ls-out
.