首页 > 编程学习 > mrctf2020_shellcode_revenge(不用仔细分析汇编)

日常拖进IDA一看,发现不能反编译,原因是0x124D位置有个call rax

 然后看了一下汇编,发现又臭又长,由于本人还没有学汇编,各种jmp,cmp等等看得我头皮发麻

所以我干脆直接在IDA里面改汇编,把call rax改成call main就能反编译了

一目了然

稍加分析便能发现输入字符必须要在(47,122]里,也就是从0到z

图源:百度百科,侵删

后面的问题就变成怎样把用这些字符写出shellcode了

看了一些大佬们用alpha3重定向一下就能搞出shellcode,详见大佬博客,结果如下

amd64 可见字符 'Ph0666TY1131Xh333311k13XjiV11Hc1ZXYf1TqIHf9kDqW02DqX0D1Hu3M2G0Z2o4H0u0P160Z0g7O0Z0C100y5O3G020B2n060N4q0n2t0B0001010H3S2y0Y0O0n0z01340d2F4y8P115l1n0J0h0a070t'

然后发送就可以了,记得要用send而不是sendline,因为回车\x0a不在合法范围内


本文链接:https://www.ngui.cc/zz/1568979.html
Copyright © 2010-2022 ngui.cc 版权所有 |关于我们| 联系方式| 豫B2-20100000