|
-
October 18th, 2017, 08:54 PM
#1
Need help deciphering assembly code
Hello there, I've very recently started learning about assembly and came across something called a Binary Bomb which seemed like a fun exercise to test my skills on. To put it simply the objective is to "defuse" a bomb by reading assembly code and figuring out a password that will allow me to move through several phases without exploding the bomb. I have completed phase 1 through 4 and I'm currently stuck on phase 5. I've been staring at this code for hours and I just can't seem to figure it out. I believe it is asking for a string of 6 chars? But beyond that I'm not sure what to do. Any directions or further explanation on what's happening in this code would be greatly appreciated. Thanks!
Code:
Dump of assembler code for function phase_5:
=> 0x0000000000401105 <+0>: push %rbx
0x0000000000401106 <+1>: mov %rdi,%rbx
0x0000000000401109 <+4>: callq 0x40135a <string_length>
0x000000000040110e <+9>: cmp $0x6,%eax
0x0000000000401111 <+12>: je 0x401118 <phase_5+19>
0x0000000000401113 <+14>: callq 0x40164c <explode_bomb>
0x0000000000401118 <+19>: mov %rbx,%rax
0x000000000040111b <+22>: lea 0x6(%rbx),%rdi
0x000000000040111f <+26>: mov $0x0,%ecx
0x0000000000401124 <+31>: movzbl (%rax),%edx
0x0000000000401127 <+34>: and $0xf,%edx
0x000000000040112a <+37>: add 0x4026c0(,%rdx,4),%ecx
0x0000000000401131 <+44>: add $0x1,%rax
0x0000000000401135 <+48>: cmp %rdi,%rax
0x0000000000401138 <+51>: jne 0x401124 <phase_5+31>
0x000000000040113a <+53>: cmp $0x2d,%ecx
0x000000000040113d <+56>: je 0x401144 <phase_5+63>
0x000000000040113f <+58>: callq 0x40164c <explode_bomb>
0x0000000000401144 <+63>: pop %rbx
0x0000000000401145 <+64>: retq
End of assembler dump.
Tags for this Thread
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|