Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2019
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.61 KB | None | 0 0
  1. ~$ objdump -d -S a.out
  2.  
  3. a.out: file format elf64-x86-64
  4.  
  5.  
  6. Disassembly of section .init:
  7.  
  8. 00000000000006e0 <_init>:
  9. 6e0: 48 83 ec 08 sub $0x8,%rsp
  10. 6e4: 48 8b 05 fd 18 20 00 mov 0x2018fd(%rip),%rax # 201fe8 <__gmon_start__>
  11. 6eb: 48 85 c0 test %rax,%rax
  12. 6ee: 74 02 je 6f2 <_init+0x12>
  13. 6f0: ff d0 callq *%rax
  14. 6f2: 48 83 c4 08 add $0x8,%rsp
  15. 6f6: c3 retq
  16.  
  17. Disassembly of section .plt:
  18.  
  19. 0000000000000700 <.plt>:
  20. 700: ff 35 7a 18 20 00 pushq 0x20187a(%rip) # 201f80 <_GLOBAL_OFFSET_TABLE_+0x8>
  21. 706: ff 25 7c 18 20 00 jmpq *0x20187c(%rip) # 201f88 <_GLOBAL_OFFSET_TABLE_+0x10>
  22. 70c: 0f 1f 40 00 nopl 0x0(%rax)
  23.  
  24. 0000000000000710 <puts@plt>:
  25. 710: ff 25 7a 18 20 00 jmpq *0x20187a(%rip) # 201f90 <puts@GLIBC_2.2.5>
  26. 716: 68 00 00 00 00 pushq $0x0
  27. 71b: e9 e0 ff ff ff jmpq 700 <.plt>
  28.  
  29. 0000000000000720 <pathconf@plt>:
  30. 720: ff 25 72 18 20 00 jmpq *0x201872(%rip) # 201f98 <pathconf@GLIBC_2.2.5>
  31. 726: 68 01 00 00 00 pushq $0x1
  32. 72b: e9 d0 ff ff ff jmpq 700 <.plt>
  33.  
  34. 0000000000000730 <printf@plt>:
  35. 730: ff 25 6a 18 20 00 jmpq *0x20186a(%rip) # 201fa0 <printf@GLIBC_2.2.5>
  36. 736: 68 02 00 00 00 pushq $0x2
  37. 73b: e9 c0 ff ff ff jmpq 700 <.plt>
  38.  
  39. 0000000000000740 <getcwd@plt>:
  40. 740: ff 25 62 18 20 00 jmpq *0x201862(%rip) # 201fa8 <getcwd@GLIBC_2.2.5>
  41. 746: 68 03 00 00 00 pushq $0x3
  42. 74b: e9 b0 ff ff ff jmpq 700 <.plt>
  43.  
  44. 0000000000000750 <read@plt>:
  45. 750: ff 25 5a 18 20 00 jmpq *0x20185a(%rip) # 201fb0 <read@GLIBC_2.2.5>
  46. 756: 68 04 00 00 00 pushq $0x4
  47. 75b: e9 a0 ff ff ff jmpq 700 <.plt>
  48.  
  49. 0000000000000760 <inotify_init@plt>:
  50. 760: ff 25 52 18 20 00 jmpq *0x201852(%rip) # 201fb8 <inotify_init@GLIBC_2.4>
  51. 766: 68 05 00 00 00 pushq $0x5
  52. 76b: e9 90 ff ff ff jmpq 700 <.plt>
  53.  
  54. 0000000000000770 <malloc@plt>:
  55. 770: ff 25 4a 18 20 00 jmpq *0x20184a(%rip) # 201fc0 <malloc@GLIBC_2.2.5>
  56. 776: 68 06 00 00 00 pushq $0x6
  57. 77b: e9 80 ff ff ff jmpq 700 <.plt>
  58.  
  59. 0000000000000780 <inotify_add_watch@plt>:
  60. 780: ff 25 42 18 20 00 jmpq *0x201842(%rip) # 201fc8 <inotify_add_watch@GLIBC_2.4>
  61. 786: 68 07 00 00 00 pushq $0x7
  62. 78b: e9 70 ff ff ff jmpq 700 <.plt>
  63.  
  64. 0000000000000790 <exit@plt>:
  65. 790: ff 25 3a 18 20 00 jmpq *0x20183a(%rip) # 201fd0 <exit@GLIBC_2.2.5>
  66. 796: 68 08 00 00 00 pushq $0x8
  67. 79b: e9 60 ff ff ff jmpq 700 <.plt>
  68.  
  69. Disassembly of section .plt.got:
  70.  
  71. 00000000000007a0 <__cxa_finalize@plt>:
  72. 7a0: ff 25 52 18 20 00 jmpq *0x201852(%rip) # 201ff8 <__cxa_finalize@GLIBC_2.2.5>
  73. 7a6: 66 90 xchg %ax,%ax
  74.  
  75. Disassembly of section .text:
  76.  
  77. 00000000000007b0 <_start>:
  78. 7b0: 31 ed xor %ebp,%ebp
  79. 7b2: 49 89 d1 mov %rdx,%r9
  80. 7b5: 5e pop %rsi
  81. 7b6: 48 89 e2 mov %rsp,%rdx
  82. 7b9: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp
  83. 7bd: 50 push %rax
  84. 7be: 54 push %rsp
  85. 7bf: 4c 8d 05 1a 04 00 00 lea 0x41a(%rip),%r8 # be0 <__libc_csu_fini>
  86. 7c6: 48 8d 0d a3 03 00 00 lea 0x3a3(%rip),%rcx # b70 <__libc_csu_init>
  87. 7cd: 48 8d 3d e6 00 00 00 lea 0xe6(%rip),%rdi # 8ba <main>
  88. 7d4: ff 15 06 18 20 00 callq *0x201806(%rip) # 201fe0 <__libc_start_main@GLIBC_2.2.5>
  89. 7da: f4 hlt
  90. 7db: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
  91.  
  92. 00000000000007e0 <deregister_tm_clones>:
  93. 7e0: 48 8d 3d 29 18 20 00 lea 0x201829(%rip),%rdi # 202010 <__TMC_END__>
  94. 7e7: 55 push %rbp
  95. 7e8: 48 8d 05 21 18 20 00 lea 0x201821(%rip),%rax # 202010 <__TMC_END__>
  96. 7ef: 48 39 f8 cmp %rdi,%rax
  97. 7f2: 48 89 e5 mov %rsp,%rbp
  98. 7f5: 74 19 je 810 <deregister_tm_clones+0x30>
  99. 7f7: 48 8b 05 da 17 20 00 mov 0x2017da(%rip),%rax # 201fd8 <_ITM_deregisterTMCloneTable>
  100. 7fe: 48 85 c0 test %rax,%rax
  101. 801: 74 0d je 810 <deregister_tm_clones+0x30>
  102. 803: 5d pop %rbp
  103. 804: ff e0 jmpq *%rax
  104. 806: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
  105. 80d: 00 00 00
  106. 810: 5d pop %rbp
  107. 811: c3 retq
  108. 812: 0f 1f 40 00 nopl 0x0(%rax)
  109. 816: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
  110. 81d: 00 00 00
  111.  
  112. 0000000000000820 <register_tm_clones>:
  113. 820: 48 8d 3d e9 17 20 00 lea 0x2017e9(%rip),%rdi # 202010 <__TMC_END__>
  114. 827: 48 8d 35 e2 17 20 00 lea 0x2017e2(%rip),%rsi # 202010 <__TMC_END__>
  115. 82e: 55 push %rbp
  116. 82f: 48 29 fe sub %rdi,%rsi
  117. 832: 48 89 e5 mov %rsp,%rbp
  118. 835: 48 c1 fe 03 sar $0x3,%rsi
  119. 839: 48 89 f0 mov %rsi,%rax
  120. 83c: 48 c1 e8 3f shr $0x3f,%rax
  121. 840: 48 01 c6 add %rax,%rsi
  122. 843: 48 d1 fe sar %rsi
  123. 846: 74 18 je 860 <register_tm_clones+0x40>
  124. 848: 48 8b 05 a1 17 20 00 mov 0x2017a1(%rip),%rax # 201ff0 <_ITM_registerTMCloneTable>
  125. 84f: 48 85 c0 test %rax,%rax
  126. 852: 74 0c je 860 <register_tm_clones+0x40>
  127. 854: 5d pop %rbp
  128. 855: ff e0 jmpq *%rax
  129. 857: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1)
  130. 85e: 00 00
  131. 860: 5d pop %rbp
  132. 861: c3 retq
  133. 862: 0f 1f 40 00 nopl 0x0(%rax)
  134. 866: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
  135. 86d: 00 00 00
  136.  
  137. 0000000000000870 <__do_global_dtors_aux>:
  138. 870: 80 3d 99 17 20 00 00 cmpb $0x0,0x201799(%rip) # 202010 <__TMC_END__>
  139. 877: 75 2f jne 8a8 <__do_global_dtors_aux+0x38>
  140. 879: 48 83 3d 77 17 20 00 cmpq $0x0,0x201777(%rip) # 201ff8 <__cxa_finalize@GLIBC_2.2.5>
  141. 880: 00
  142. 881: 55 push %rbp
  143. 882: 48 89 e5 mov %rsp,%rbp
  144. 885: 74 0c je 893 <__do_global_dtors_aux+0x23>
  145. 887: 48 8b 3d 7a 17 20 00 mov 0x20177a(%rip),%rdi # 202008 <__dso_handle>
  146. 88e: e8 0d ff ff ff callq 7a0 <__cxa_finalize@plt>
  147. 893: e8 48 ff ff ff callq 7e0 <deregister_tm_clones>
  148. 898: c6 05 71 17 20 00 01 movb $0x1,0x201771(%rip) # 202010 <__TMC_END__>
  149. 89f: 5d pop %rbp
  150. 8a0: c3 retq
  151. 8a1: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
  152. 8a8: f3 c3 repz retq
  153. 8aa: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
  154.  
  155. 00000000000008b0 <frame_dummy>:
  156. 8b0: 55 push %rbp
  157. 8b1: 48 89 e5 mov %rsp,%rbp
  158. 8b4: 5d pop %rbp
  159. 8b5: e9 66 ff ff ff jmpq 820 <register_tm_clones>
  160.  
  161. 00000000000008ba <main>:
  162. #include <string.h>
  163. #define EVENT_SIZE ( sizeof (struct inotify_event) )
  164. #define EVENT_BUF_LEN ( 1024 * ( EVENT_SIZE + 16 ) )
  165. #define BUF_LEN (10 * (sizeof(struct inotify_event) + NAME_MAX + 1))
  166.  
  167. int main(){
  168. 8ba: 55 push %rbp
  169. 8bb: 48 89 e5 mov %rsp,%rbp
  170. 8be: 48 81 ec 00 0b 00 00 sub $0xb00,%rsp
  171. 8c5: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax
  172. 8cc: 00 00
  173. 8ce: 48 89 45 f8 mov %rax,-0x8(%rbp)
  174. 8d2: 31 c0 xor %eax,%eax
  175. char *bufPtr, *bufPtr2;
  176. ssize_t numRead;
  177. char buf[BUF_LEN] __attribute__ ((aligned(8)));
  178. struct inotify_event* event;
  179. char *p;
  180. int inotifyFd = inotify_init();
  181. 8d4: e8 87 fe ff ff callq 760 <inotify_init@plt>
  182. 8d9: 89 85 04 f5 ff ff mov %eax,-0xafc(%rbp)
  183. printf("inotify started\n");
  184. 8df: 48 8d 3d 12 03 00 00 lea 0x312(%rip),%rdi # bf8 <_IO_stdin_used+0x8>
  185. 8e6: e8 25 fe ff ff callq 710 <puts@plt>
  186. long size = pathconf(".", _PC_PATH_MAX);
  187. 8eb: be 04 00 00 00 mov $0x4,%esi
  188. 8f0: 48 8d 3d 11 03 00 00 lea 0x311(%rip),%rdi # c08 <_IO_stdin_used+0x18>
  189. 8f7: e8 24 fe ff ff callq 720 <pathconf@plt>
  190. 8fc: 48 89 85 18 f5 ff ff mov %rax,-0xae8(%rbp)
  191. if ((bufPtr = (char *)malloc((size_t)size)) != NULL){
  192. 903: 48 8b 85 18 f5 ff ff mov -0xae8(%rbp),%rax
  193. 90a: 48 89 c7 mov %rax,%rdi
  194. 90d: e8 5e fe ff ff callq 770 <malloc@plt>
  195. 912: 48 89 85 20 f5 ff ff mov %rax,-0xae0(%rbp)
  196. 919: 48 83 bd 20 f5 ff ff cmpq $0x0,-0xae0(%rbp)
  197. 920: 00
  198. 921: 74 20 je 943 <main+0x89>
  199. ptr = getcwd(bufPtr, (size_t)size);
  200. 923: 48 8b 95 18 f5 ff ff mov -0xae8(%rbp),%rdx
  201. 92a: 48 8b 85 20 f5 ff ff mov -0xae0(%rbp),%rax
  202. 931: 48 89 d6 mov %rdx,%rsi
  203. 934: 48 89 c7 mov %rax,%rdi
  204. 937: e8 04 fe ff ff callq 740 <getcwd@plt>
  205. 93c: 48 89 85 28 f5 ff ff mov %rax,-0xad8(%rbp)
  206. }
  207. printf("added notify to %s\n", bufPtr);
  208. 943: 48 8b 85 20 f5 ff ff mov -0xae0(%rbp),%rax
  209. 94a: 48 89 c6 mov %rax,%rsi
  210. 94d: 48 8d 3d b6 02 00 00 lea 0x2b6(%rip),%rdi # c0a <_IO_stdin_used+0x1a>
  211. 954: b8 00 00 00 00 mov $0x0,%eax
  212. 959: e8 d2 fd ff ff callq 730 <printf@plt>
  213. size = pathconf("..", _PC_PATH_MAX);
  214. 95e: be 04 00 00 00 mov $0x4,%esi
  215. 963: 48 8d 3d b4 02 00 00 lea 0x2b4(%rip),%rdi # c1e <_IO_stdin_used+0x2e>
  216. 96a: e8 b1 fd ff ff callq 720 <pathconf@plt>
  217. 96f: 48 89 85 18 f5 ff ff mov %rax,-0xae8(%rbp)
  218. if ((bufPtr2 = (char *)malloc((size_t)size+3)) != NULL){
  219. 976: 48 8b 85 18 f5 ff ff mov -0xae8(%rbp),%rax
  220. 97d: 48 83 c0 03 add $0x3,%rax
  221. 981: 48 89 c7 mov %rax,%rdi
  222. 984: e8 e7 fd ff ff callq 770 <malloc@plt>
  223. 989: 48 89 85 30 f5 ff ff mov %rax,-0xad0(%rbp)
  224. 990: 48 83 bd 30 f5 ff ff cmpq $0x0,-0xad0(%rbp)
  225. 997: 00
  226. 998: 74 4d je 9e7 <main+0x12d>
  227. ptr2 = strcat(getcwd(bufPtr2, (size_t)size), "/..");
  228. 99a: 48 8b 95 18 f5 ff ff mov -0xae8(%rbp),%rdx
  229. 9a1: 48 8b 85 30 f5 ff ff mov -0xad0(%rbp),%rax
  230. 9a8: 48 89 d6 mov %rdx,%rsi
  231. 9ab: 48 89 c7 mov %rax,%rdi
  232. 9ae: e8 8d fd ff ff callq 740 <getcwd@plt>
  233. 9b3: 48 89 c2 mov %rax,%rdx
  234. 9b6: 48 89 d0 mov %rdx,%rax
  235. 9b9: 48 c7 c1 ff ff ff ff mov $0xffffffffffffffff,%rcx
  236. 9c0: 48 89 c6 mov %rax,%rsi
  237. 9c3: b8 00 00 00 00 mov $0x0,%eax
  238. 9c8: 48 89 f7 mov %rsi,%rdi
  239. 9cb: f2 ae repnz scas %es:(%rdi),%al
  240. 9cd: 48 89 c8 mov %rcx,%rax
  241. 9d0: 48 f7 d0 not %rax
  242. 9d3: 48 83 e8 01 sub $0x1,%rax
  243. 9d7: 48 01 d0 add %rdx,%rax
  244. 9da: c7 00 2f 2e 2e 00 movl $0x2e2e2f,(%rax)
  245. 9e0: 48 89 95 38 f5 ff ff mov %rdx,-0xac8(%rbp)
  246. }
  247. printf("added notify to %s\n", bufPtr2);
  248. 9e7: 48 8b 85 30 f5 ff ff mov -0xad0(%rbp),%rax
  249. 9ee: 48 89 c6 mov %rax,%rsi
  250. 9f1: 48 8d 3d 12 02 00 00 lea 0x212(%rip),%rdi # c0a <_IO_stdin_used+0x1a>
  251. 9f8: b8 00 00 00 00 mov $0x0,%eax
  252. 9fd: e8 2e fd ff ff callq 730 <printf@plt>
  253. int wd = inotify_add_watch( inotifyFd, bufPtr, IN_ALL_EVENTS );
  254. a02: 48 8b 8d 20 f5 ff ff mov -0xae0(%rbp),%rcx
  255. a09: 8b 85 04 f5 ff ff mov -0xafc(%rbp),%eax
  256. a0f: ba ff 0f 00 00 mov $0xfff,%edx
  257. a14: 48 89 ce mov %rcx,%rsi
  258. a17: 89 c7 mov %eax,%edi
  259. a19: e8 62 fd ff ff callq 780 <inotify_add_watch@plt>
  260. a1e: 89 85 08 f5 ff ff mov %eax,-0xaf8(%rbp)
  261.  
  262. int wd2 = inotify_add_watch( inotifyFd, bufPtr2, IN_ALL_EVENTS );
  263. a24: 48 8b 8d 30 f5 ff ff mov -0xad0(%rbp),%rcx
  264. a2b: 8b 85 04 f5 ff ff mov -0xafc(%rbp),%eax
  265. a31: ba ff 0f 00 00 mov $0xfff,%edx
  266. a36: 48 89 ce mov %rcx,%rsi
  267. a39: 89 c7 mov %eax,%edi
  268. a3b: e8 40 fd ff ff callq 780 <inotify_add_watch@plt>
  269. a40: 89 85 0c f5 ff ff mov %eax,-0xaf4(%rbp)
  270.  
  271. for(;;){
  272. numRead = read(inotifyFd, buf, BUF_LEN);
  273. a46: 48 8d 8d 50 f5 ff ff lea -0xab0(%rbp),%rcx
  274. a4d: 8b 85 04 f5 ff ff mov -0xafc(%rbp),%eax
  275. a53: ba a0 0a 00 00 mov $0xaa0,%edx
  276. a58: 48 89 ce mov %rcx,%rsi
  277. a5b: 89 c7 mov %eax,%edi
  278. a5d: e8 ee fc ff ff callq 750 <read@plt>
  279. a62: 48 89 85 40 f5 ff ff mov %rax,-0xac0(%rbp)
  280. if (numRead == 0){
  281. a69: 48 83 bd 40 f5 ff ff cmpq $0x0,-0xac0(%rbp)
  282. a70: 00
  283. a71: 75 16 jne a89 <main+0x1cf>
  284. printf("read() from inotify fd returned 0!\n");
  285. a73: 48 8d 3d ae 01 00 00 lea 0x1ae(%rip),%rdi # c28 <_IO_stdin_used+0x38>
  286. a7a: e8 91 fc ff ff callq 710 <puts@plt>
  287. exit(1);
  288. a7f: bf 01 00 00 00 mov $0x1,%edi
  289. a84: e8 07 fd ff ff callq 790 <exit@plt>
  290. }
  291.  
  292. for (p = buf; p < buf + numRead; ) {
  293. a89: 48 8d 85 50 f5 ff ff lea -0xab0(%rbp),%rax
  294. a90: 48 89 85 10 f5 ff ff mov %rax,-0xaf0(%rbp)
  295. a97: e9 ab 00 00 00 jmpq b47 <main+0x28d>
  296. event = (struct inotify_event *) p;
  297. a9c: 48 8b 85 10 f5 ff ff mov -0xaf0(%rbp),%rax
  298. aa3: 48 89 85 48 f5 ff ff mov %rax,-0xab8(%rbp)
  299. if(event->wd == wd){
  300. aaa: 48 8b 85 48 f5 ff ff mov -0xab8(%rbp),%rax
  301. ab1: 8b 00 mov (%rax),%eax
  302. ab3: 39 85 08 f5 ff ff cmp %eax,-0xaf8(%rbp)
  303. ab9: 75 33 jne aee <main+0x234>
  304. if(event->mask & IN_OPEN){
  305. abb: 48 8b 85 48 f5 ff ff mov -0xab8(%rbp),%rax
  306. ac2: 8b 40 04 mov 0x4(%rax),%eax
  307. ac5: 83 e0 20 and $0x20,%eax
  308. ac8: 85 c0 test %eax,%eax
  309. aca: 74 64 je b30 <main+0x276>
  310. printf("event from current directory: %d\n", event->mask & IN_OPEN);
  311. acc: 48 8b 85 48 f5 ff ff mov -0xab8(%rbp),%rax
  312. ad3: 8b 40 04 mov 0x4(%rax),%eax
  313. ad6: 83 e0 20 and $0x20,%eax
  314. ad9: 89 c6 mov %eax,%esi
  315. adb: 48 8d 3d 6e 01 00 00 lea 0x16e(%rip),%rdi # c50 <_IO_stdin_used+0x60>
  316. ae2: b8 00 00 00 00 mov $0x0,%eax
  317. ae7: e8 44 fc ff ff callq 730 <printf@plt>
  318. aec: eb 42 jmp b30 <main+0x276>
  319.  
  320. }
  321. }
  322. else if(event->wd == wd2){
  323. aee: 48 8b 85 48 f5 ff ff mov -0xab8(%rbp),%rax
  324. af5: 8b 00 mov (%rax),%eax
  325. af7: 39 85 0c f5 ff ff cmp %eax,-0xaf4(%rbp)
  326. afd: 75 31 jne b30 <main+0x276>
  327. if(event->mask & IN_OPEN){
  328. aff: 48 8b 85 48 f5 ff ff mov -0xab8(%rbp),%rax
  329. b06: 8b 40 04 mov 0x4(%rax),%eax
  330. b09: 83 e0 20 and $0x20,%eax
  331. b0c: 85 c0 test %eax,%eax
  332. b0e: 74 20 je b30 <main+0x276>
  333. printf("event from parent: %d\n", event->mask & IN_OPEN);
  334. b10: 48 8b 85 48 f5 ff ff mov -0xab8(%rbp),%rax
  335. b17: 8b 40 04 mov 0x4(%rax),%eax
  336. b1a: 83 e0 20 and $0x20,%eax
  337. b1d: 89 c6 mov %eax,%esi
  338. b1f: 48 8d 3d 4c 01 00 00 lea 0x14c(%rip),%rdi # c72 <_IO_stdin_used+0x82>
  339. b26: b8 00 00 00 00 mov $0x0,%eax
  340. b2b: e8 00 fc ff ff callq 730 <printf@plt>
  341.  
  342. }
  343. }
  344. p += sizeof(struct inotify_event) + event->len;
  345. b30: 48 8b 85 48 f5 ff ff mov -0xab8(%rbp),%rax
  346. b37: 8b 40 0c mov 0xc(%rax),%eax
  347. b3a: 89 c0 mov %eax,%eax
  348. b3c: 48 83 c0 10 add $0x10,%rax
  349. b40: 48 01 85 10 f5 ff ff add %rax,-0xaf0(%rbp)
  350. for (p = buf; p < buf + numRead; ) {
  351. b47: 48 8b 85 40 f5 ff ff mov -0xac0(%rbp),%rax
  352. b4e: 48 8d 95 50 f5 ff ff lea -0xab0(%rbp),%rdx
  353. b55: 48 01 d0 add %rdx,%rax
  354. b58: 48 39 85 10 f5 ff ff cmp %rax,-0xaf0(%rbp)
  355. b5f: 0f 82 37 ff ff ff jb a9c <main+0x1e2>
  356. numRead = read(inotifyFd, buf, BUF_LEN);
  357. b65: e9 dc fe ff ff jmpq a46 <main+0x18c>
  358. b6a: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
  359.  
  360. 0000000000000b70 <__libc_csu_init>:
  361. b70: 41 57 push %r15
  362. b72: 41 56 push %r14
  363. b74: 49 89 d7 mov %rdx,%r15
  364. b77: 41 55 push %r13
  365. b79: 41 54 push %r12
  366. b7b: 4c 8d 25 f6 11 20 00 lea 0x2011f6(%rip),%r12 # 201d78 <__frame_dummy_init_array_entry>
  367. b82: 55 push %rbp
  368. b83: 48 8d 2d f6 11 20 00 lea 0x2011f6(%rip),%rbp # 201d80 <__init_array_end>
  369. b8a: 53 push %rbx
  370. b8b: 41 89 fd mov %edi,%r13d
  371. b8e: 49 89 f6 mov %rsi,%r14
  372. b91: 4c 29 e5 sub %r12,%rbp
  373. b94: 48 83 ec 08 sub $0x8,%rsp
  374. b98: 48 c1 fd 03 sar $0x3,%rbp
  375. b9c: e8 3f fb ff ff callq 6e0 <_init>
  376. ba1: 48 85 ed test %rbp,%rbp
  377. ba4: 74 20 je bc6 <__libc_csu_init+0x56>
  378. ba6: 31 db xor %ebx,%ebx
  379. ba8: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
  380. baf: 00
  381. bb0: 4c 89 fa mov %r15,%rdx
  382. bb3: 4c 89 f6 mov %r14,%rsi
  383. bb6: 44 89 ef mov %r13d,%edi
  384. bb9: 41 ff 14 dc callq *(%r12,%rbx,8)
  385. bbd: 48 83 c3 01 add $0x1,%rbx
  386. bc1: 48 39 dd cmp %rbx,%rbp
  387. bc4: 75 ea jne bb0 <__libc_csu_init+0x40>
  388. bc6: 48 83 c4 08 add $0x8,%rsp
  389. bca: 5b pop %rbx
  390. bcb: 5d pop %rbp
  391. bcc: 41 5c pop %r12
  392. bce: 41 5d pop %r13
  393. bd0: 41 5e pop %r14
  394. bd2: 41 5f pop %r15
  395. bd4: c3 retq
  396. bd5: 90 nop
  397. bd6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
  398. bdd: 00 00 00
  399.  
  400. 0000000000000be0 <__libc_csu_fini>:
  401. be0: f3 c3 repz retq
  402.  
  403. Disassembly of section .fini:
  404.  
  405. 0000000000000be4 <_fini>:
  406. be4: 48 83 ec 08 sub $0x8,%rsp
  407. be8: 48 83 c4 08 add $0x8,%rsp
  408. bec: c3 retq
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement