Skip to content

Instantly share code, notes, and snippets.

@aensidhe
Created August 8, 2018 15:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aensidhe/703693cc6a88eea17d45c8970ad5fd6a to your computer and use it in GitHub Desktop.
Save aensidhe/703693cc6a88eea17d45c8970ad5fd6a to your computer and use it in GitHub Desktop.
Disassembly
root@690ab5184fdf:/app# objdump -d /lib/libcMsgPack.so
/lib/libcMsgPack.so: file format elf64-x86-64
Disassembly of section .init:
00000000000005a0 <_init>:
5a0: 48 83 ec 08 sub $0x8,%rsp
5a4: 48 8b 05 2d 0a 20 00 mov 0x200a2d(%rip),%rax # 200fd8 <__gmon_start__>
5ab: 48 85 c0 test %rax,%rax
5ae: 74 02 je 5b2 <_init+0x12>
5b0: ff d0 callq *%rax
5b2: 48 83 c4 08 add $0x8,%rsp
5b6: c3 retq
Disassembly of section .plt:
00000000000005c0 <.plt>:
5c0: ff 35 42 0a 20 00 pushq 0x200a42(%rip) # 201008 <_GLOBAL_OFFSET_TABLE_+0x8>
5c6: ff 25 44 0a 20 00 jmpq *0x200a44(%rip) # 201010 <_GLOBAL_OFFSET_TABLE_+0x10>
5cc: 0f 1f 40 00 nopl 0x0(%rax)
Disassembly of section .plt.got:
00000000000005d0 <.plt.got>:
5d0: ff 25 22 0a 20 00 jmpq *0x200a22(%rip) # 200ff8 <__cxa_finalize@GLIBC_2.2.5>
5d6: 66 90 xchg %ax,%ax
Disassembly of section .text:
00000000000005e0 <deregister_tm_clones>:
5e0: 48 8d 3d 39 0a 20 00 lea 0x200a39(%rip),%rdi # 201020 <_edata>
5e7: 48 8d 05 39 0a 20 00 lea 0x200a39(%rip),%rax # 201027 <_edata+0x7>
5ee: 55 push %rbp
5ef: 48 29 f8 sub %rdi,%rax
5f2: 48 89 e5 mov %rsp,%rbp
5f5: 48 83 f8 0e cmp $0xe,%rax
5f9: 76 15 jbe 610 <deregister_tm_clones+0x30>
5fb: 48 8b 05 ce 09 20 00 mov 0x2009ce(%rip),%rax # 200fd0 <_ITM_deregisterTMCloneTable>
602: 48 85 c0 test %rax,%rax
605: 74 09 je 610 <deregister_tm_clones+0x30>
607: 5d pop %rbp
608: ff e0 jmpq *%rax
60a: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
610: 5d pop %rbp
611: c3 retq
612: 0f 1f 40 00 nopl 0x0(%rax)
616: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
61d: 00 00 00
0000000000000620 <register_tm_clones>:
620: 48 8d 3d f9 09 20 00 lea 0x2009f9(%rip),%rdi # 201020 <_edata>
627: 48 8d 35 f2 09 20 00 lea 0x2009f2(%rip),%rsi # 201020 <_edata>
62e: 55 push %rbp
62f: 48 29 fe sub %rdi,%rsi
632: 48 89 e5 mov %rsp,%rbp
635: 48 c1 fe 03 sar $0x3,%rsi
639: 48 89 f0 mov %rsi,%rax
63c: 48 c1 e8 3f shr $0x3f,%rax
640: 48 01 c6 add %rax,%rsi
643: 48 d1 fe sar %rsi
646: 74 18 je 660 <register_tm_clones+0x40>
648: 48 8b 05 a1 09 20 00 mov 0x2009a1(%rip),%rax # 200ff0 <_ITM_registerTMCloneTable>
64f: 48 85 c0 test %rax,%rax
652: 74 0c je 660 <register_tm_clones+0x40>
654: 5d pop %rbp
655: ff e0 jmpq *%rax
657: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1)
65e: 00 00
660: 5d pop %rbp
661: c3 retq
662: 0f 1f 40 00 nopl 0x0(%rax)
666: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
66d: 00 00 00
0000000000000670 <__do_global_dtors_aux>:
670: 80 3d a9 09 20 00 00 cmpb $0x0,0x2009a9(%rip) # 201020 <_edata>
677: 75 27 jne 6a0 <__do_global_dtors_aux+0x30>
679: 48 83 3d 77 09 20 00 cmpq $0x0,0x200977(%rip) # 200ff8 <__cxa_finalize@GLIBC_2.2.5>
680: 00
681: 55 push %rbp
682: 48 89 e5 mov %rsp,%rbp
685: 74 0c je 693 <__do_global_dtors_aux+0x23>
687: 48 8b 3d 8a 09 20 00 mov 0x20098a(%rip),%rdi # 201018 <__dso_handle>
68e: e8 3d ff ff ff callq 5d0 <.plt.got>
693: e8 48 ff ff ff callq 5e0 <deregister_tm_clones>
698: 5d pop %rbp
699: c6 05 80 09 20 00 01 movb $0x1,0x200980(%rip) # 201020 <_edata>
6a0: f3 c3 repz retq
6a2: 0f 1f 40 00 nopl 0x0(%rax)
6a6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
6ad: 00 00 00
00000000000006b0 <frame_dummy>:
6b0: 48 8d 3d 71 07 20 00 lea 0x200771(%rip),%rdi # 200e28 <__JCR_END__>
6b7: 48 83 3f 00 cmpq $0x0,(%rdi)
6bb: 75 0b jne 6c8 <frame_dummy+0x18>
6bd: e9 5e ff ff ff jmpq 620 <register_tm_clones>
6c2: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
6c8: 48 8b 05 19 09 20 00 mov 0x200919(%rip),%rax # 200fe8 <_Jv_RegisterClasses>
6cf: 48 85 c0 test %rax,%rax
6d2: 74 e9 je 6bd <frame_dummy+0xd>
6d4: 55 push %rbp
6d5: 48 89 e5 mov %rsp,%rbp
6d8: ff d0 callq *%rax
6da: 5d pop %rbp
6db: e9 40 ff ff ff jmpq 620 <register_tm_clones>
00000000000006e0 <serializeIntArray>:
6e0: 48 8b 15 f9 08 20 00 mov 0x2008f9(%rip),%rdx # 200fe0 <buf@@Base-0x60>
6e7: b8 00 64 00 00 mov $0x6400,%eax
6ec: 66 89 42 01 mov %ax,0x1(%rdx)
6f0: c6 02 dc movb $0xdc,(%rdx)
6f3: 48 8d 42 03 lea 0x3(%rdx),%rax
6f7: 48 81 c2 f7 01 00 00 add $0x1f7,%rdx
6fe: 66 90 xchg %ax,%ax
700: c6 00 ce movb $0xce,(%rax)
703: c7 40 01 40 00 00 00 movl $0x40,0x1(%rax)
70a: 48 83 c0 05 add $0x5,%rax
70e: 48 39 d0 cmp %rdx,%rax
711: 75 ed jne 700 <serializeIntArray+0x20>
713: f3 c3 repz retq
715: 90 nop
716: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
71d: 00 00 00
0000000000000720 <serializeIntArrayMinus>:
720: 48 8b 35 b9 08 20 00 mov 0x2008b9(%rip),%rsi # 200fe0 <buf@@Base-0x60>
727: b8 00 64 00 00 mov $0x6400,%eax
72c: ba ff ff ff 3f mov $0x3fffffff,%edx
731: b9 40 00 00 00 mov $0x40,%ecx
736: 66 89 46 01 mov %ax,0x1(%rsi)
73a: c6 06 dc movb $0xdc,(%rsi)
73d: 48 8d 46 03 lea 0x3(%rsi),%rax
741: 48 81 c6 f7 01 00 00 add $0x1f7,%rsi
748: eb 0d jmp 757 <serializeIntArrayMinus+0x37>
74a: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
750: 89 d1 mov %edx,%ecx
752: 83 ea 01 sub $0x1,%edx
755: 0f c9 bswap %ecx
757: c6 00 ce movb $0xce,(%rax)
75a: 89 48 01 mov %ecx,0x1(%rax)
75d: 48 83 c0 05 add $0x5,%rax
761: 48 39 f0 cmp %rsi,%rax
764: 75 ea jne 750 <serializeIntArrayMinus+0x30>
766: f3 c3 repz retq
768: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
76f: 00
0000000000000770 <empty>:
770: f3 c3 repz retq
Disassembly of section .fini:
0000000000000774 <_fini>:
774: 48 83 ec 08 sub $0x8,%rsp
778: 48 83 c4 08 add $0x8,%rsp
77c: c3 retq
root@690ab5184fdf:/app# objdump -d /lib/libcppMsgPack.so
/lib/libcppMsgPack.so: file format elf64-x86-64
Disassembly of section .init:
0000000000000778 <_init>:
778: 48 83 ec 08 sub $0x8,%rsp
77c: 48 8b 05 3d 08 20 00 mov 0x20083d(%rip),%rax # 200fc0 <__gmon_start__>
783: 48 85 c0 test %rax,%rax
786: 74 02 je 78a <_init+0x12>
788: ff d0 callq *%rax
78a: 48 83 c4 08 add $0x8,%rsp
78e: c3 retq
Disassembly of section .plt:
0000000000000790 <.plt>:
790: ff 35 72 08 20 00 pushq 0x200872(%rip) # 201008 <_GLOBAL_OFFSET_TABLE_+0x8>
796: ff 25 74 08 20 00 jmpq *0x200874(%rip) # 201010 <_GLOBAL_OFFSET_TABLE_+0x10>
79c: 0f 1f 40 00 nopl 0x0(%rax)
00000000000007a0 <malloc@plt>:
7a0: ff 25 72 08 20 00 jmpq *0x200872(%rip) # 201018 <malloc@GLIBC_2.2.5>
7a6: 68 00 00 00 00 pushq $0x0
7ab: e9 e0 ff ff ff jmpq 790 <.plt>
00000000000007b0 <free@plt>:
7b0: ff 25 6a 08 20 00 jmpq *0x20086a(%rip) # 201020 <free@GLIBC_2.2.5>
7b6: 68 01 00 00 00 pushq $0x1
7bb: e9 d0 ff ff ff jmpq 790 <.plt>
00000000000007c0 <__cxa_allocate_exception@plt>:
7c0: ff 25 62 08 20 00 jmpq *0x200862(%rip) # 201028 <__cxa_allocate_exception@CXXABI_1.3>
7c6: 68 02 00 00 00 pushq $0x2
7cb: e9 c0 ff ff ff jmpq 790 <.plt>
00000000000007d0 <__cxa_throw@plt>:
7d0: ff 25 5a 08 20 00 jmpq *0x20085a(%rip) # 201030 <__cxa_throw@CXXABI_1.3>
7d6: 68 03 00 00 00 pushq $0x3
7db: e9 b0 ff ff ff jmpq 790 <.plt>
Disassembly of section .plt.got:
00000000000007e0 <.plt.got>:
7e0: ff 25 02 08 20 00 jmpq *0x200802(%rip) # 200fe8 <__cxa_finalize@GLIBC_2.2.5>
7e6: 66 90 xchg %ax,%ax
Disassembly of section .text:
00000000000007f0 <_ZN7msgpack2v17sbufferC2Em.part.0>:
7f0: bf 08 00 00 00 mov $0x8,%edi
7f5: 48 83 ec 08 sub $0x8,%rsp
7f9: e8 c2 ff ff ff callq 7c0 <__cxa_allocate_exception@plt>
7fe: 48 8b 15 eb 07 20 00 mov 0x2007eb(%rip),%rdx # 200ff0 <_ZTVSt9bad_alloc@GLIBCXX_3.4>
805: 48 8b 35 ec 07 20 00 mov 0x2007ec(%rip),%rsi # 200ff8 <_ZTISt9bad_alloc@GLIBCXX_3.4>
80c: 48 89 c7 mov %rax,%rdi
80f: 48 83 c2 10 add $0x10,%rdx
813: 48 89 10 mov %rdx,(%rax)
816: 48 8b 15 c3 07 20 00 mov 0x2007c3(%rip),%rdx # 200fe0 <_ZNSt9bad_allocD1Ev@GLIBCXX_3.4>
81d: e8 ae ff ff ff callq 7d0 <__cxa_throw@plt>
822: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
829: 00 00 00
82c: 0f 1f 40 00 nopl 0x0(%rax)
0000000000000830 <deregister_tm_clones>:
830: 48 8d 3d 09 08 20 00 lea 0x200809(%rip),%rdi # 201040 <_edata>
837: 48 8d 05 09 08 20 00 lea 0x200809(%rip),%rax # 201047 <_edata+0x7>
83e: 55 push %rbp
83f: 48 29 f8 sub %rdi,%rax
842: 48 89 e5 mov %rsp,%rbp
845: 48 83 f8 0e cmp $0xe,%rax
849: 76 15 jbe 860 <deregister_tm_clones+0x30>
84b: 48 8b 05 7e 07 20 00 mov 0x20077e(%rip),%rax # 200fd0 <_ITM_deregisterTMCloneTable>
852: 48 85 c0 test %rax,%rax
855: 74 09 je 860 <deregister_tm_clones+0x30>
857: 5d pop %rbp
858: ff e0 jmpq *%rax
85a: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
860: 5d pop %rbp
861: c3 retq
862: 0f 1f 40 00 nopl 0x0(%rax)
866: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
86d: 00 00 00
0000000000000870 <register_tm_clones>:
870: 48 8d 3d c9 07 20 00 lea 0x2007c9(%rip),%rdi # 201040 <_edata>
877: 48 8d 35 c2 07 20 00 lea 0x2007c2(%rip),%rsi # 201040 <_edata>
87e: 55 push %rbp
87f: 48 29 fe sub %rdi,%rsi
882: 48 89 e5 mov %rsp,%rbp
885: 48 c1 fe 03 sar $0x3,%rsi
889: 48 89 f0 mov %rsi,%rax
88c: 48 c1 e8 3f shr $0x3f,%rax
890: 48 01 c6 add %rax,%rsi
893: 48 d1 fe sar %rsi
896: 74 18 je 8b0 <register_tm_clones+0x40>
898: 48 8b 05 39 07 20 00 mov 0x200739(%rip),%rax # 200fd8 <_ITM_registerTMCloneTable>
89f: 48 85 c0 test %rax,%rax
8a2: 74 0c je 8b0 <register_tm_clones+0x40>
8a4: 5d pop %rbp
8a5: ff e0 jmpq *%rax
8a7: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1)
8ae: 00 00
8b0: 5d pop %rbp
8b1: c3 retq
8b2: 0f 1f 40 00 nopl 0x0(%rax)
8b6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
8bd: 00 00 00
00000000000008c0 <__do_global_dtors_aux>:
8c0: 80 3d 79 07 20 00 00 cmpb $0x0,0x200779(%rip) # 201040 <_edata>
8c7: 75 27 jne 8f0 <__do_global_dtors_aux+0x30>
8c9: 48 83 3d 17 07 20 00 cmpq $0x0,0x200717(%rip) # 200fe8 <__cxa_finalize@GLIBC_2.2.5>
8d0: 00
8d1: 55 push %rbp
8d2: 48 89 e5 mov %rsp,%rbp
8d5: 74 0c je 8e3 <__do_global_dtors_aux+0x23>
8d7: 48 8b 3d 5a 07 20 00 mov 0x20075a(%rip),%rdi # 201038 <__dso_handle>
8de: e8 fd fe ff ff callq 7e0 <.plt.got>
8e3: e8 48 ff ff ff callq 830 <deregister_tm_clones>
8e8: 5d pop %rbp
8e9: c6 05 50 07 20 00 01 movb $0x1,0x200750(%rip) # 201040 <_edata>
8f0: f3 c3 repz retq
8f2: 0f 1f 40 00 nopl 0x0(%rax)
8f6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
8fd: 00 00 00
0000000000000900 <frame_dummy>:
900: 48 8d 3d b1 04 20 00 lea 0x2004b1(%rip),%rdi # 200db8 <__JCR_END__>
907: 48 83 3f 00 cmpq $0x0,(%rdi)
90b: 75 0b jne 918 <frame_dummy+0x18>
90d: e9 5e ff ff ff jmpq 870 <register_tm_clones>
912: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
918: 48 8b 05 a9 06 20 00 mov 0x2006a9(%rip),%rax # 200fc8 <_Jv_RegisterClasses>
91f: 48 85 c0 test %rax,%rax
922: 74 e9 je 90d <frame_dummy+0xd>
924: 55 push %rbp
925: 48 89 e5 mov %rsp,%rbp
928: ff d0 callq *%rax
92a: 5d pop %rbp
92b: e9 40 ff ff ff jmpq 870 <register_tm_clones>
0000000000000930 <serializeIntArray>:
930: 48 83 ec 08 sub $0x8,%rsp
934: bf 00 20 00 00 mov $0x2000,%edi
939: e8 62 fe ff ff callq 7a0 <malloc@plt>
93e: 48 85 c0 test %rax,%rax
941: 74 0c je 94f <serializeIntArray+0x1f>
943: 48 89 c7 mov %rax,%rdi
946: 48 83 c4 08 add $0x8,%rsp
94a: e9 61 fe ff ff jmpq 7b0 <free@plt>
94f: e8 9c fe ff ff callq 7f0 <_ZN7msgpack2v17sbufferC2Em.part.0>
954: 66 90 xchg %ax,%ax
956: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
95d: 00 00 00
0000000000000960 <serializeIntArrayMinus>:
960: 48 83 ec 08 sub $0x8,%rsp
964: bf 00 20 00 00 mov $0x2000,%edi
969: e8 32 fe ff ff callq 7a0 <malloc@plt>
96e: 48 85 c0 test %rax,%rax
971: 74 0c je 97f <serializeIntArrayMinus+0x1f>
973: 48 89 c7 mov %rax,%rdi
976: 48 83 c4 08 add $0x8,%rsp
97a: e9 31 fe ff ff jmpq 7b0 <free@plt>
97f: e8 6c fe ff ff callq 7f0 <_ZN7msgpack2v17sbufferC2Em.part.0>
Disassembly of section .fini:
0000000000000984 <_fini>:
984: 48 83 ec 08 sub $0x8,%rsp
988: 48 83 c4 08 add $0x8,%rsp
98c: c3 retq
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment