首页 > 其他 > 详细

BUU-SoulLike

时间:2020-09-14 12:52:08      阅读:97      评论:0      收藏:0      [点我收藏+]

结构很简单

技术分享图片

首先控制首尾  其flag形式位  actf{./}

然后就是那个sub_83A函数 很大 IDA默认的函数大小只有64 将其改为1024然后f5 等一段时间出c代码

配置文件是/cfg目录下的hexrays.cfg 搜索 MAX_FUNCSIZE 定位

其函数对flag中间字符串进行了很大一串简单异或和自增 最后和指定数据比较

技术分享图片

 

 这里我最开始想的是吧代码复制下来 倒着读 解析代码 实现逆向

但是这里的错误提示 ???提示你第几位错了   于是直接爆破就可以了

技术分享图片

 

 这里我的代码用了pwntools库 

技术分享图片
from pwn import *

table = []
for i in range(128):
    table.append(chr(i))
now = actf{
num = 0
while 1:
    if num == 12:
        break
    for i in table:
        io = process(./SoulLike)
        flag = now + i
        flag = flag.ljust(17,@)
        flag += }
        success(flag)
        io.sendline(flag)
        io.recvuntil(#)
        if num < 9 :
            n = int(io.recv(1))
        else:
            n = int(io.recv(2))
        io.close()
        if n == num + 1:
            now = now + i
            num = num + 1
            break
print num
print now + }
View Code

BUU-SoulLike

原文:https://www.cnblogs.com/lxy8584099/p/13665493.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!