Mercurial > repo
comparison paste/paste.15531 @ 9010:12371ee6084b
<shachaf> ` objdump -d bin/something | paste
author | HackBot |
---|---|
date | Mon, 05 Sep 2016 03:44:38 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
9009:7a0b2129676f | 9010:12371ee6084b |
---|---|
1 | |
2 bin/something: file format elf64-x86-64 | |
3 | |
4 | |
5 Disassembly of section .init: | |
6 | |
7 00000000004004a8 <_init>: | |
8 4004a8: 48 83 ec 08 sub $0x8,%rsp | |
9 4004ac: e8 ab 00 00 00 callq 40055c <call_gmon_start> | |
10 4004b1: 48 83 c4 08 add $0x8,%rsp | |
11 4004b5: c3 retq | |
12 | |
13 Disassembly of section .plt: | |
14 | |
15 00000000004004c0 <putchar@plt-0x10>: | |
16 4004c0: ff 35 42 0d 20 00 pushq 0x200d42(%rip) # 601208 <_GLOBAL_OFFSET_TABLE_+0x8> | |
17 4004c6: ff 25 44 0d 20 00 jmpq *0x200d44(%rip) # 601210 <_GLOBAL_OFFSET_TABLE_+0x10> | |
18 4004cc: 0f 1f 40 00 nopl 0x0(%rax) | |
19 | |
20 00000000004004d0 <putchar@plt>: | |
21 4004d0: ff 25 42 0d 20 00 jmpq *0x200d42(%rip) # 601218 <_GLOBAL_OFFSET_TABLE_+0x18> | |
22 4004d6: 68 00 00 00 00 pushq $0x0 | |
23 4004db: e9 e0 ff ff ff jmpq 4004c0 <_init+0x18> | |
24 | |
25 00000000004004e0 <__libc_start_main@plt>: | |
26 4004e0: ff 25 3a 0d 20 00 jmpq *0x200d3a(%rip) # 601220 <_GLOBAL_OFFSET_TABLE_+0x20> | |
27 4004e6: 68 01 00 00 00 pushq $0x1 | |
28 4004eb: e9 d0 ff ff ff jmpq 4004c0 <_init+0x18> | |
29 | |
30 00000000004004f0 <srand@plt>: | |
31 4004f0: ff 25 32 0d 20 00 jmpq *0x200d32(%rip) # 601228 <_GLOBAL_OFFSET_TABLE_+0x28> | |
32 4004f6: 68 02 00 00 00 pushq $0x2 | |
33 4004fb: e9 c0 ff ff ff jmpq 4004c0 <_init+0x18> | |
34 | |
35 0000000000400500 <getchar@plt>: | |
36 400500: ff 25 2a 0d 20 00 jmpq *0x200d2a(%rip) # 601230 <_GLOBAL_OFFSET_TABLE_+0x30> | |
37 400506: 68 03 00 00 00 pushq $0x3 | |
38 40050b: e9 b0 ff ff ff jmpq 4004c0 <_init+0x18> | |
39 | |
40 0000000000400510 <time@plt>: | |
41 400510: ff 25 22 0d 20 00 jmpq *0x200d22(%rip) # 601238 <_GLOBAL_OFFSET_TABLE_+0x38> | |
42 400516: 68 04 00 00 00 pushq $0x4 | |
43 40051b: e9 a0 ff ff ff jmpq 4004c0 <_init+0x18> | |
44 | |
45 0000000000400520 <rand@plt>: | |
46 400520: ff 25 1a 0d 20 00 jmpq *0x200d1a(%rip) # 601240 <_GLOBAL_OFFSET_TABLE_+0x40> | |
47 400526: 68 05 00 00 00 pushq $0x5 | |
48 40052b: e9 90 ff ff ff jmpq 4004c0 <_init+0x18> | |
49 | |
50 Disassembly of section .text: | |
51 | |
52 0000000000400530 <_start>: | |
53 400530: 31 ed xor %ebp,%ebp | |
54 400532: 49 89 d1 mov %rdx,%r9 | |
55 400535: 5e pop %rsi | |
56 400536: 48 89 e2 mov %rsp,%rdx | |
57 400539: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp | |
58 40053d: 50 push %rax | |
59 40053e: 54 push %rsp | |
60 40053f: 49 c7 c0 b0 07 40 00 mov $0x4007b0,%r8 | |
61 400546: 48 c7 c1 c0 07 40 00 mov $0x4007c0,%rcx | |
62 40054d: 48 c7 c7 79 07 40 00 mov $0x400779,%rdi | |
63 400554: e8 87 ff ff ff callq 4004e0 <__libc_start_main@plt> | |
64 400559: f4 hlt | |
65 40055a: 90 nop | |
66 40055b: 90 nop | |
67 | |
68 000000000040055c <call_gmon_start>: | |
69 40055c: 48 83 ec 08 sub $0x8,%rsp | |
70 400560: 48 8b 05 91 0c 20 00 mov 0x200c91(%rip),%rax # 6011f8 <_DYNAMIC+0x1e0> | |
71 400567: 48 85 c0 test %rax,%rax | |
72 40056a: 74 02 je 40056e <call_gmon_start+0x12> | |
73 40056c: ff d0 callq *%rax | |
74 40056e: 48 83 c4 08 add $0x8,%rsp | |
75 400572: c3 retq | |
76 400573: 90 nop | |
77 400574: 90 nop | |
78 400575: 90 nop | |
79 400576: 90 nop | |
80 400577: 90 nop | |
81 400578: 90 nop | |
82 400579: 90 nop | |
83 40057a: 90 nop | |
84 40057b: 90 nop | |
85 40057c: 90 nop | |
86 40057d: 90 nop | |
87 40057e: 90 nop | |
88 40057f: 90 nop | |
89 | |
90 0000000000400580 <deregister_tm_clones>: | |
91 400580: b8 67 12 60 00 mov $0x601267,%eax | |
92 400585: 55 push %rbp | |
93 400586: 48 2d 60 12 60 00 sub $0x601260,%rax | |
94 40058c: 48 83 f8 0e cmp $0xe,%rax | |
95 400590: 48 89 e5 mov %rsp,%rbp | |
96 400593: 77 02 ja 400597 <deregister_tm_clones+0x17> | |
97 400595: 5d pop %rbp | |
98 400596: c3 retq | |
99 400597: b8 00 00 00 00 mov $0x0,%eax | |
100 40059c: 48 85 c0 test %rax,%rax | |
101 40059f: 74 f4 je 400595 <deregister_tm_clones+0x15> | |
102 4005a1: 5d pop %rbp | |
103 4005a2: bf 60 12 60 00 mov $0x601260,%edi | |
104 4005a7: ff e0 jmpq *%rax | |
105 4005a9: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) | |
106 | |
107 00000000004005b0 <register_tm_clones>: | |
108 4005b0: b8 60 12 60 00 mov $0x601260,%eax | |
109 4005b5: 55 push %rbp | |
110 4005b6: 48 2d 60 12 60 00 sub $0x601260,%rax | |
111 4005bc: 48 c1 f8 03 sar $0x3,%rax | |
112 4005c0: 48 89 e5 mov %rsp,%rbp | |
113 4005c3: 48 89 c2 mov %rax,%rdx | |
114 4005c6: 48 c1 ea 3f shr $0x3f,%rdx | |
115 4005ca: 48 01 d0 add %rdx,%rax | |
116 4005cd: 48 89 c6 mov %rax,%rsi | |
117 4005d0: 48 d1 fe sar %rsi | |
118 4005d3: 75 02 jne 4005d7 <register_tm_clones+0x27> | |
119 4005d5: 5d pop %rbp | |
120 4005d6: c3 retq | |
121 4005d7: ba 00 00 00 00 mov $0x0,%edx | |
122 4005dc: 48 85 d2 test %rdx,%rdx | |
123 4005df: 74 f4 je 4005d5 <register_tm_clones+0x25> | |
124 4005e1: 5d pop %rbp | |
125 4005e2: bf 60 12 60 00 mov $0x601260,%edi | |
126 4005e7: ff e2 jmpq *%rdx | |
127 4005e9: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) | |
128 | |
129 00000000004005f0 <__do_global_dtors_aux>: | |
130 4005f0: 80 3d 69 0c 20 00 00 cmpb $0x0,0x200c69(%rip) # 601260 <__bss_start> | |
131 4005f7: 75 11 jne 40060a <__do_global_dtors_aux+0x1a> | |
132 4005f9: 55 push %rbp | |
133 4005fa: 48 89 e5 mov %rsp,%rbp | |
134 4005fd: e8 7e ff ff ff callq 400580 <deregister_tm_clones> | |
135 400602: 5d pop %rbp | |
136 400603: c6 05 56 0c 20 00 01 movb $0x1,0x200c56(%rip) # 601260 <__bss_start> | |
137 40060a: f3 c3 repz retq | |
138 40060c: 0f 1f 40 00 nopl 0x0(%rax) | |
139 | |
140 0000000000400610 <frame_dummy>: | |
141 400610: 48 83 3d f8 09 20 00 cmpq $0x0,0x2009f8(%rip) # 601010 <__JCR_END__> | |
142 400617: 00 | |
143 400618: 74 1b je 400635 <frame_dummy+0x25> | |
144 40061a: b8 00 00 00 00 mov $0x0,%eax | |
145 40061f: 48 85 c0 test %rax,%rax | |
146 400622: 74 11 je 400635 <frame_dummy+0x25> | |
147 400624: 55 push %rbp | |
148 400625: bf 10 10 60 00 mov $0x601010,%edi | |
149 40062a: 48 89 e5 mov %rsp,%rbp | |
150 40062d: ff d0 callq *%rax | |
151 40062f: 5d pop %rbp | |
152 400630: e9 7b ff ff ff jmpq 4005b0 <register_tm_clones> | |
153 400635: e9 76 ff ff ff jmpq 4005b0 <register_tm_clones> | |
154 40063a: 90 nop | |
155 40063b: 90 nop | |
156 | |
157 000000000040063c <interpret>: | |
158 40063c: 55 push %rbp | |
159 40063d: 48 89 e5 mov %rsp,%rbp | |
160 400640: 53 push %rbx | |
161 400641: 48 83 ec 38 sub $0x38,%rsp | |
162 400645: 48 89 7d c8 mov %rdi,-0x38(%rbp) | |
163 400649: 48 8d 45 d8 lea -0x28(%rbp),%rax | |
164 40064d: 48 89 c7 mov %rax,%rdi | |
165 400650: b8 00 00 00 00 mov $0x0,%eax | |
166 400655: e8 b6 fe ff ff callq 400510 <time@plt> | |
167 40065a: 89 c7 mov %eax,%edi | |
168 40065c: e8 8f fe ff ff callq 4004f0 <srand@plt> | |
169 400661: 48 c7 45 e8 00 00 00 movq $0x0,-0x18(%rbp) | |
170 400668: 00 | |
171 400669: e9 ee 00 00 00 jmpq 40075c <interpret+0x120> | |
172 40066e: 48 8b 45 e8 mov -0x18(%rbp),%rax | |
173 400672: 48 8b 55 c8 mov -0x38(%rbp),%rdx | |
174 400676: 48 01 d0 add %rdx,%rax | |
175 400679: 0f b6 00 movzbl (%rax),%eax | |
176 40067c: 88 45 e7 mov %al,-0x19(%rbp) | |
177 40067f: e8 9c fe ff ff callq 400520 <rand@plt> | |
178 400684: 89 c1 mov %eax,%ecx | |
179 400686: ba 93 24 49 92 mov $0x92492493,%edx | |
180 40068b: 89 c8 mov %ecx,%eax | |
181 40068d: f7 ea imul %edx | |
182 40068f: 8d 04 0a lea (%rdx,%rcx,1),%eax | |
183 400692: 89 c2 mov %eax,%edx | |
184 400694: c1 fa 02 sar $0x2,%edx | |
185 400697: 89 c8 mov %ecx,%eax | |
186 400699: c1 f8 1f sar $0x1f,%eax | |
187 40069c: 89 d3 mov %edx,%ebx | |
188 40069e: 29 c3 sub %eax,%ebx | |
189 4006a0: 89 d8 mov %ebx,%eax | |
190 4006a2: 89 45 e0 mov %eax,-0x20(%rbp) | |
191 4006a5: 8b 55 e0 mov -0x20(%rbp),%edx | |
192 4006a8: 89 d0 mov %edx,%eax | |
193 4006aa: c1 e0 03 shl $0x3,%eax | |
194 4006ad: 29 d0 sub %edx,%eax | |
195 4006af: 89 ca mov %ecx,%edx | |
196 4006b1: 29 c2 sub %eax,%edx | |
197 4006b3: 89 d0 mov %edx,%eax | |
198 4006b5: 89 45 e0 mov %eax,-0x20(%rbp) | |
199 4006b8: 83 7d e0 00 cmpl $0x0,-0x20(%rbp) | |
200 4006bc: 75 17 jne 4006d5 <interpret+0x99> | |
201 4006be: 48 8b 05 93 0b 20 00 mov 0x200b93(%rip),%rax # 601258 <ptr> | |
202 4006c5: 48 83 c0 08 add $0x8,%rax | |
203 4006c9: 48 89 05 88 0b 20 00 mov %rax,0x200b88(%rip) # 601258 <ptr> | |
204 4006d0: e9 82 00 00 00 jmpq 400757 <interpret+0x11b> | |
205 4006d5: 83 7d e0 01 cmpl $0x1,-0x20(%rbp) | |
206 4006d9: 75 14 jne 4006ef <interpret+0xb3> | |
207 4006db: 48 8b 05 76 0b 20 00 mov 0x200b76(%rip),%rax # 601258 <ptr> | |
208 4006e2: 48 83 e8 08 sub $0x8,%rax | |
209 4006e6: 48 89 05 6b 0b 20 00 mov %rax,0x200b6b(%rip) # 601258 <ptr> | |
210 4006ed: eb 68 jmp 400757 <interpret+0x11b> | |
211 4006ef: 83 7d e0 02 cmpl $0x2,-0x20(%rbp) | |
212 4006f3: 75 13 jne 400708 <interpret+0xcc> | |
213 4006f5: 48 8b 05 5c 0b 20 00 mov 0x200b5c(%rip),%rax # 601258 <ptr> | |
214 4006fc: 48 8b 10 mov (%rax),%rdx | |
215 4006ff: 48 83 c2 01 add $0x1,%rdx | |
216 400703: 48 89 10 mov %rdx,(%rax) | |
217 400706: eb 4f jmp 400757 <interpret+0x11b> | |
218 400708: 83 7d e0 03 cmpl $0x3,-0x20(%rbp) | |
219 40070c: 75 13 jne 400721 <interpret+0xe5> | |
220 40070e: 48 8b 05 43 0b 20 00 mov 0x200b43(%rip),%rax # 601258 <ptr> | |
221 400715: 48 8b 10 mov (%rax),%rdx | |
222 400718: 48 83 ea 01 sub $0x1,%rdx | |
223 40071c: 48 89 10 mov %rdx,(%rax) | |
224 40071f: eb 36 jmp 400757 <interpret+0x11b> | |
225 400721: 83 7d e0 04 cmpl $0x4,-0x20(%rbp) | |
226 400725: 75 13 jne 40073a <interpret+0xfe> | |
227 400727: 48 8b 05 2a 0b 20 00 mov 0x200b2a(%rip),%rax # 601258 <ptr> | |
228 40072e: 48 8b 00 mov (%rax),%rax | |
229 400731: 89 c7 mov %eax,%edi | |
230 400733: e8 98 fd ff ff callq 4004d0 <putchar@plt> | |
231 400738: eb 1d jmp 400757 <interpret+0x11b> | |
232 40073a: 83 7d e0 05 cmpl $0x5,-0x20(%rbp) | |
233 40073e: 75 13 jne 400753 <interpret+0x117> | |
234 400740: 48 8b 1d 11 0b 20 00 mov 0x200b11(%rip),%rbx # 601258 <ptr> | |
235 400747: e8 b4 fd ff ff callq 400500 <getchar@plt> | |
236 40074c: 48 98 cltq | |
237 40074e: 48 89 03 mov %rax,(%rbx) | |
238 400751: eb 04 jmp 400757 <interpret+0x11b> | |
239 400753: 83 7d e0 06 cmpl $0x6,-0x20(%rbp) | |
240 400757: 48 83 45 e8 01 addq $0x1,-0x18(%rbp) | |
241 40075c: 48 8b 45 e8 mov -0x18(%rbp),%rax | |
242 400760: 48 8b 55 c8 mov -0x38(%rbp),%rdx | |
243 400764: 48 01 d0 add %rdx,%rax | |
244 400767: 0f b6 00 movzbl (%rax),%eax | |
245 40076a: 84 c0 test %al,%al | |
246 40076c: 0f 85 fc fe ff ff jne 40066e <interpret+0x32> | |
247 400772: 48 83 c4 38 add $0x38,%rsp | |
248 400776: 5b pop %rbx | |
249 400777: 5d pop %rbp | |
250 400778: c3 retq | |
251 | |
252 0000000000400779 <main>: | |
253 400779: 55 push %rbp | |
254 40077a: 48 89 e5 mov %rsp,%rbp | |
255 40077d: 48 83 ec 10 sub $0x10,%rsp | |
256 400781: 89 7d fc mov %edi,-0x4(%rbp) | |
257 400784: 48 89 75 f0 mov %rsi,-0x10(%rbp) | |
258 400788: 48 8b 45 f0 mov -0x10(%rbp),%rax | |
259 40078c: 48 83 c0 08 add $0x8,%rax | |
260 400790: 48 8b 00 mov (%rax),%rax | |
261 400793: 48 89 c7 mov %rax,%rdi | |
262 400796: e8 a1 fe ff ff callq 40063c <interpret> | |
263 40079b: b8 00 00 00 00 mov $0x0,%eax | |
264 4007a0: c9 leaveq | |
265 4007a1: c3 retq | |
266 4007a2: 90 nop | |
267 4007a3: 90 nop | |
268 4007a4: 90 nop | |
269 4007a5: 90 nop | |
270 4007a6: 90 nop | |
271 4007a7: 90 nop | |
272 4007a8: 90 nop | |
273 4007a9: 90 nop | |
274 4007aa: 90 nop | |
275 4007ab: 90 nop | |
276 4007ac: 90 nop | |
277 4007ad: 90 nop | |
278 4007ae: 90 nop | |
279 4007af: 90 nop | |
280 | |
281 00000000004007b0 <__libc_csu_fini>: | |
282 4007b0: f3 c3 repz retq | |
283 4007b2: 66 66 66 66 66 2e 0f data32 data32 data32 data32 nopw %cs:0x0(%rax,%rax,1) | |
284 4007b9: 1f 84 00 00 00 00 00 | |
285 | |
286 00000000004007c0 <__libc_csu_init>: | |
287 4007c0: 48 89 6c 24 d8 mov %rbp,-0x28(%rsp) | |
288 4007c5: 4c 89 64 24 e0 mov %r12,-0x20(%rsp) | |
289 4007ca: 48 8d 2d 37 08 20 00 lea 0x200837(%rip),%rbp # 601008 <__init_array_end> | |
290 4007d1: 4c 8d 25 28 08 20 00 lea 0x200828(%rip),%r12 # 601000 <__frame_dummy_init_array_entry> | |
291 4007d8: 4c 89 6c 24 e8 mov %r13,-0x18(%rsp) | |
292 4007dd: 4c 89 74 24 f0 mov %r14,-0x10(%rsp) | |
293 4007e2: 4c 89 7c 24 f8 mov %r15,-0x8(%rsp) | |
294 4007e7: 48 89 5c 24 d0 mov %rbx,-0x30(%rsp) | |
295 4007ec: 48 83 ec 38 sub $0x38,%rsp | |
296 4007f0: 4c 29 e5 sub %r12,%rbp | |
297 4007f3: 41 89 fd mov %edi,%r13d | |
298 4007f6: 49 89 f6 mov %rsi,%r14 | |
299 4007f9: 48 c1 fd 03 sar $0x3,%rbp | |
300 4007fd: 49 89 d7 mov %rdx,%r15 | |
301 400800: e8 a3 fc ff ff callq 4004a8 <_init> | |
302 400805: 48 85 ed test %rbp,%rbp | |
303 400808: 74 1c je 400826 <__libc_csu_init+0x66> | |
304 40080a: 31 db xor %ebx,%ebx | |
305 40080c: 0f 1f 40 00 nopl 0x0(%rax) | |
306 400810: 4c 89 fa mov %r15,%rdx | |
307 400813: 4c 89 f6 mov %r14,%rsi | |
308 400816: 44 89 ef mov %r13d,%edi | |
309 400819: 41 ff 14 dc callq *(%r12,%rbx,8) | |
310 40081d: 48 83 c3 01 add $0x1,%rbx | |
311 400821: 48 39 eb cmp %rbp,%rbx | |
312 400824: 72 ea jb 400810 <__libc_csu_init+0x50> | |
313 400826: 48 8b 5c 24 08 mov 0x8(%rsp),%rbx | |
314 40082b: 48 8b 6c 24 10 mov 0x10(%rsp),%rbp | |
315 400830: 4c 8b 64 24 18 mov 0x18(%rsp),%r12 | |
316 400835: 4c 8b 6c 24 20 mov 0x20(%rsp),%r13 | |
317 40083a: 4c 8b 74 24 28 mov 0x28(%rsp),%r14 | |
318 40083f: 4c 8b 7c 24 30 mov 0x30(%rsp),%r15 | |
319 400844: 48 83 c4 38 add $0x38,%rsp | |
320 400848: c3 retq | |
321 400849: 90 nop | |
322 40084a: 90 nop | |
323 40084b: 90 nop | |
324 | |
325 Disassembly of section .fini: | |
326 | |
327 000000000040084c <_fini>: | |
328 40084c: 48 83 ec 08 sub $0x8,%rsp | |
329 400850: 48 83 c4 08 add $0x8,%rsp | |
330 400854: c3 retq |