通过CTF学习逆转

时间:2018-10-22 10:12:30

标签: assembly reverse-engineering disassembly

我正在尝试通过CTF(捕获标志)分配进行学习,出于记录,这不是一个活跃的ctf,但是我正在使用它来学习在成为真正的ctf之前可以学到的东西

在此特定任务中,我需要从基于堆栈的自定义虚拟机的bin文件中获得的汇编代码中获取标记

但是无论我尝试输入什么内容或尝试从哪里开始,我都无法获得任何看起来像标志的东西

我觉得我对一切工作原理有了很好的了解,但仍然坐在上面一会儿,并没有真正找到像这样的任务来尝试看看我所缺少的东西,所以也许有人会能够帮助我看到我错过的东西,或者告诉我应该学习什么以及在哪里了解为了了解这里发生的事情

这是用于操作码和说明的,如果不需要说明,请向下滚动到操作码: https://pastebin.com/hgKKkDzC

这是汇编代码:

0x00: push 0x15 

0x01: push 0x68 

0x02: push 0x0f 

0x03: push 0x61 

0x04: push 0x08 

0x05: push 0x64 

0x06: push 0x08 

0x07: push 0x67 

0x08: push 0x35 

0x09: push 0x52 

0x0a: push 0x3c 

0x0b: push 0x55 

0x0c: push 0x39 

0x0d: push 0x55 

0x0e: push 0x3a 

0x0f: push 0x68 

0x10: push 0x0f 

0x11: push 0x61 

0x12: push 0x08 

0x13: push 0x64 

0x14: push 0x08 

0x15: push 0x67 

0x16: push 0x35 

0x17: push 0x52 

0x18: push 0x3c 

0x19: push 0x55 

0x1a: push 0x39 

0x1b: push 0x55 

0x1c: push 0x3a 

0x1d: push 0x68 

0x1e: push 0x3a 

0x1f: push 0x55 

0x20: push 0x0d 

0x21: push 0x76 

0x22: push 0x11 

0x23: push 0x70 

0x24: push 0x1c 

0x25: push 0x7a 

0x26: push 0x0b 

0x27: jse 

0x28: read 

0x29: push 0x0c 

0x2a: call 

0x2b: load 0x01 

0x2c: push 0x0a 

0x2d: push 0x00 

0x2e: sub 

0x2f: cje 

0x30: push 0x30 

0x31: push 0x01 

0x32: jmp 

0x33: push 0x31 

0x34: write 

0x35: push 0x2f 

0x36: jmp 

0x37: load 0x02 

0x38: load 0x02 

0x39: push 0x00 

0x3a: push 0x25 

0x3b: cje 

0x3c: load 0x02 

0x3d: swap 0x01 

0x3e: push 0x00 

0x3f: push 0x20 

0x40: cje 

0x41: push 0x00 

0x42: swap 0x01 

0x43: load 0x04 

0x44: push 0x1b 

0x45: cje 

0x46: pop 

0x47: push 0x02 

0x48: load 0x02 

0x49: div 

0x4a: push 0x02 

0x4b: load 0x05 

0x4c: div 

0x4d: swap 0x01 

0x4e: swap 0x02 

0x4f: add 

0x50: push 0x02 

0x51: swap 0x01 

0x52: div 

0x53: swap 0x01 

0x54: pop 

0x55: load 0x02 

0x56: load 0x02 

0x57: push 0x24 

0x58: push 0x00 

0x59: sub 

0x5a: call 

0x5b: push 0x02 

0x5c: mul 

0x5d: add 

0x5e: swap 0x02 

0x5f: pop 

0x60: pop 

0x61: swap 0x03 

0x62: pop 

0x63: swap 0x01 

0x64: pop 

0x65: ret

0 个答案:

没有答案