CS61系列实验之一解除二进制炸弹

printf(“Welcome to my fiendish little bomb. You have 6 phases with\n”);printf(“which to blow yourself up. Have a nice day!\n”);/* Hmm… Six phases must be more secure than one phase! */input = read_line();/* Get input*/phase_1(input);/* Run the phase*/phase_defused();/* Drat! They figured it out! *//* Let me know how they did it. */printf(“Phase 1 defused. How about the next one?\n”);/* The second phase is harder. No one will ever figure out* how to defuse this… */input = read_line();phase_2(input);phase_defused();printf(“That’s number 2. Keep going!\n”);/* I guess this is too easy so far. Some more complex code will* confuse people. */input = read_line();phase_3(input);phase_defused();printf(“Halfway there!\n”);/* Oh yeah? Well, how good is your math? Try on this saucy problem! */input = read_line();phase_4(input);phase_defused();printf(“So you got that one. Try this one.\n”);/* Round and ’round in memory we go, where we stop, the bomb blows! */input = read_line();phase_5(input);phase_defused();printf(“Good work! On to the next…\n”);/* This phase will never be used, since no one will get past the* earlier ones. But just in case, make this one extra hard. */input = read_line();phase_6(input);phase_defused();

08048b83 <phase_6>: 8048b83: 55push %ebp 8048b84: 89 e5mov %esp,%ebp 8048b86: 83 ec 68sub $0x68,%esp 8048b89: c7 45 f4 9c a6 04 08 movl $0x804a69c,-0xc(%ebp) 8048b90: 83 ec 08sub $0x8,%esp 8048b93: 8d 45 c8lea -0x38(%ebp),%eax 8048b96: 50push %eax 8048b97: ff 75 08pushl 0x8(%ebp) 8048b9a: e8 a2 fc ff ffcall 8048841 <read_six_numbers> 8048b9f: 83 c4 10add $0x10,%esp 8048ba2: c7 45 a4 00 00 00 00 movl $0x0,-0x5c(%ebp) 8048ba9: 83 7d a4 05cmpl $0x5,-0x5c(%ebp) 8048bad: 7f 4bjg8048bfa <phase_6+0x77> 8048baf: 8b 45 a4mov -0x5c(%ebp),%eax 8048bb2: 83 7c 85 c8 00cmpl $0x0,-0x38(%ebp,%eax,4) 8048bb7: 7e 0cjle 8048bc5 <phase_6+0x42> 8048bb9: 8b 45 a4mov -0x5c(%ebp),%eax 8048bbc: 83 7c 85 c8 06cmpl $0x6,-0x38(%ebp,%eax,4) 8048bc1: 7f 02jg8048bc5 <phase_6+0x42> 8048bc3: eb 05jmp 8048bca <phase_6+0x47> 8048bc5: e8 14 fc ff ffcall 80487de <explode_bomb> 8048bca: 8b 45 a4mov -0x5c(%ebp),%eax 8048bcd: 40inc %eax 8048bce: 89 45 a0mov %eax,-0x60(%ebp) 8048bd1: 83 7d a0 05cmpl $0x5,-0x60(%ebp) 8048bd5: 7f 1cjg8048bf3 <phase_6+0x70> 8048bd7: 8b 45 a4mov -0x5c(%ebp),%eax 8048bda: 8b 55 a0mov -0x60(%ebp),%edx 8048bdd: 8b 44 85 c8mov -0x38(%ebp,%eax,4),%eax 8048be1: 3b 44 95 c8cmp -0x38(%ebp,%edx,4),%eax 8048be5: 75 05jne 8048bec <phase_6+0x69> 8048be7: e8 f2 fb ff ffcall 80487de <explode_bomb> 8048bec: 8d 45 a0lea -0x60(%ebp),%eax 8048bef: ff 00incl (%eax) 8048bf1: eb dejmp 8048bd1 <phase_6+0x4e> 8048bf3: 8d 45 a4lea -0x5c(%ebp),%eax 8048bf6: ff 00incl (%eax) 8048bf8: eb afjmp 8048ba9 <phase_6+0x26> 8048bfa: c7 45 a4 00 00 00 00 movl $0x0,-0x5c(%ebp) 8048c01: 83 7d a4 05cmpl $0x5,-0x5c(%ebp) 8048c05: 7f 3ajg8048c41 <phase_6+0xbe> 8048c07: 8b 45 f4mov -0xc(%ebp),%eax 8048c0a: 89 45 f0mov %eax,-0x10(%ebp) 8048c0d: c7 45 a0 01 00 00 00 movl $0x1,-0x60(%ebp) 8048c14: 8b 45 a4mov -0x5c(%ebp),%eax 8048c17: 8b 44 85 c8mov -0x38(%ebp,%eax,4),%eax 8048c1b: 3b 45 a0cmp -0x60(%ebp),%eax 8048c1e: 7e 10jle 8048c30 <phase_6+0xad> 8048c20: 8b 45 f0mov -0x10(%ebp),%eax 8048c23: 8b 40 08mov 0x8(%eax),%eax 8048c26: 89 45 f0mov %eax,-0x10(%ebp) 8048c29: 8d 45 a0lea -0x60(%ebp),%eax 8048c2c: ff 00incl (%eax) 8048c2e: eb e4jmp 8048c14 <phase_6+0x91> 8048c30: 8b 55 a4mov -0x5c(%ebp),%edx 8048c33: 8b 45 f0mov -0x10(%ebp),%eax 8048c36: 89 44 95 a8mov %eax,-0x58(%ebp,%edx,4) 8048c3a: 8d 45 a4lea -0x5c(%ebp),%eax 8048c3d: ff 00incl (%eax) 8048c3f: eb c0jmp 8048c01 <phase_6+0x7e> 8048c41: 8b 45 a8mov -0x58(%ebp),%eax 8048c44: 89 45 f4mov %eax,-0xc(%ebp) 8048c47: 8b 45 f4mov -0xc(%ebp),%eax 8048c4a: 89 45 f0mov %eax,-0x10(%ebp) 8048c4d: c7 45 a4 01 00 00 00 movl $0x1,-0x5c(%ebp) 8048c54: 83 7d a4 05cmpl $0x5,-0x5c(%ebp) 8048c58: 7f 1djg8048c77 <phase_6+0xf4> 8048c5a: 8b 55 f0mov -0x10(%ebp),%edx 8048c5d: 8b 45 a4mov -0x5c(%ebp),%eax 8048c60: 8b 44 85 a8mov -0x58(%ebp,%eax,4),%eax 8048c64: 89 42 08mov %eax,0x8(%edx) 8048c67: 8b 45 f0mov -0x10(%ebp),%eax 8048c6a: 8b 40 08mov 0x8(%eax),%eax 8048c6d: 89 45 f0mov %eax,-0x10(%ebp) 8048c70: 8d 45 a4lea -0x5c(%ebp),%eax 8048c73: ff 00incl (%eax) 8048c75: eb ddjmp 8048c54 <phase_6+0xd1> 8048c77: 8b 45 f0mov -0x10(%ebp),%eax 8048c7a: c7 40 08 00 00 00 00 movl $0x0,0x8(%eax) 8048c81: 8b 45 f4mov -0xc(%ebp),%eax 8048c84: 89 45 f0mov %eax,-0x10(%ebp) 8048c87: c7 45 a4 00 00 00 00 movl $0x0,-0x5c(%ebp) 8048c8e: 83 7d a4 04cmpl $0x4,-0x5c(%ebp) 8048c92: 7f 24jg8048cb8 <phase_6+0x135> 8048c94: 8b 4d f0mov -0x10(%ebp),%ecx 8048c97: 8b 45 f0mov -0x10(%ebp),%eax 8048c9a: 8b 50 08mov 0x8(%eax),%edx 8048c9d: 8b 01mov (%ecx),%eax 8048c9f: 3b 02cmp (%edx),%eax 8048ca1: 7d 05jge 8048ca8 <phase_6+0x125> 8048ca3: e8 36 fb ff ffcall 80487de <explode_bomb> 8048ca8: 8b 45 f0mov -0x10(%ebp),%eax 8048cab: 8b 40 08mov 0x8(%eax),%eax 8048cae: 89 45 f0mov %eax,-0x10(%ebp) 8048cb1: 8d 45 a4lea -0x5c(%ebp),%eax 8048cb4: ff 00incl (%eax) 8048cb6: eb d6jmp 8048c8e <phase_6+0x10b> 8048cb8: c9leave 8048cb9: c3ret

struct Node {int a; // calculate according to bint b; // from inputNode* next;};

本文出自 “说话的白菜” 博客,虚拟主机,美国空间,请务必保留此出处

,香港服务器一个今天胜过两个明天

CS61系列实验之一解除二进制炸弹

相关文章:

你感兴趣的文章:

标签云: