buu Reverse学习记录(14) [BJDCTF 2nd]8086

博客围绕BJDCTF 8086题目展开,将题目拖进exeinfo发现不是有效PE文件,再用IDA分析,程序调用sub_10030函数且是自我循环,查看汇编指令,把部分数据强制转化成代码,分析代码得到字符串,通过loop循环与“1Fh”进行xor,编写脚本得出flag。

题目链接:https://buuoj.cn/challenges#[BJDCTF%202nd]8086

把题目拖进exeinfo里,说这不是有效的PE文件。

在这里插入图片描述

把题目拖进IDA里看看,程序刚开始是这样的

在这里插入图片描述

它调用了sub_10030函数,跟进去,是一个自我循环

在这里插入图片描述

查看一下它的汇编指令

在这里插入图片描述

在循环的函数后面这里有一些数据,选中这些数据按"c",把它强制转化成代码

在这里插入图片描述

分析下代码,可以看到有串字符串"]U[du~|t@{z@wj.}.~q@gjz{z@wzqW~/b;",通过了loop循环与"1Fh"进行xor,写个脚本跑出flag

str = "]U[du~|t@{z@wj.}.~q@gjz{z@wzqW~/b;"
flag = ""
for i in str:
    flag += chr(ord(i) ^ 0x1F)
print(flag)

flag:BJD{jack_de_hu1b1an_xuede_henHa0}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值