BUU_RE方向的题目WP

1 篇文章 0 订阅

BUU_WP

1.easyre

下载出来后先die查一下

image-20220629101652019

可以看到是64位没加壳的可执行文件,直接拖进ida查看

image-20220629101747884

然后好像直接看到了flag是flag{this_Is_a_EaSyRe},提交通过

2.reverse1

image-20220629102121724

image-20220629102256375

这道题也是一样,拖进去就看到了个疑似flag的东西{hello_world},接下来去提交,发现是错误的。

然后直接进入主函数QQ截图20220629103750

看到关键代码,猜测是把{hello_world}转换成ASSIC码,然后把111替换成48,接下来直接写脚本

flag="{hello_world}"
flag1=[]
for i in flag:
	if ord(i)==111:
		flag1.append("48")
	else:
		flag1.append(str(ord(i)))
print(flag1)
for i in flag1:
	print(chr(int(i)),end="")

得到结果{hell0_w0rld}

提交正确

3.reverse2

image-20220629104432682

64位Linux文件,拖入ida

image-20220629104604484

将输入的s2与flag进行比较,所以接下来直接看变量flag经历了什么运算,去看字符串看flag运算前是什么,可以看到是

{hacking_for_fun}}

for ( i = 0; i <= strlen(&flag); ++i )
    {
      if ( *(&flag + i) == 105 || *(&flag + i) == 114 )
        *(&flag + i) = 49;
    }

上面是运算代码,直接写脚本

flag='flag{hacking_for_fun}'
flag1=[]
for i in flag:
	if ord(i)==105 or ord(i)==114:
		flag1.append('49')
	else:
		flag1.append(str(ord(i)))
print(flag1)
for i in flag1:
	print(chr(int(i)),end="")
#print("\n",len("flag{1ack1ng_for_fun}"))

flag为flag{hack1ng_fo1_fun}

4.内涵的软件

下载出来运行一下

image-20220629113924193

image-20220629113947327

image-20220629114036357

拖进去就看到了疑似flag的

DBAPP{49d3c93df25caad81232130f3d2ebfad}

包上flag{}提交试试,报错,然后再看代码,没发现有问题,于是删掉了DBAPP,提交正确

5.新年快乐

image-20220629133526629

32位加了upx壳

image-20220629133718410

脱壳后拖进ida

image-20220629133910311

可以看出flag为

flag{HappyNewYear!}

6.xor

image-20220629140306955

image-20220629140320318

这个没啥说的,直接写脚本

flag=[102,  10, 107,  12, 119,  38,  79,  46,  64,  17,
  120,  13,  90,  59,  85,  17, 112,  25,  70,  31,
  118,  34,  77,  35,  68,  14, 103,   6, 104,  15,
   71,  50,  79]
flag1=[102,]
for i in range(1,33):
	flag1.append(str(flag[i]^flag[i-1]))
for i in flag1:
	print(chr(int(i)),end="")

得到flag为flag{QianQiuWanDai_YiTongJiangHu}

7.helloword

第七题helloword是个安卓题,直接模拟器安装打开image-20220629140650280

打开并没啥,直接反编译

image-20220629140823409

直接看到了flag

flag{7631a988259a00816deda84afb29430a}

8.不一样的flag

die查看是32位,打开运行看了看,是迷宫题

image-20220706220547513

image-20220706220621825

在ida中看到了

*11110100001010000101111#

是25位,我是直接猜的是一个5**5的迷宫,所以应该排成这样*

*1111
01000
01010
00010
1111#

*是入口,1是墙,0是路,#是出口

得到

222441144222

9.Java逆向解密(待续)

下载得到的是一个class文件,直接拖入jeb中,看Java代码

image-20220708225336100
等待后续…

10.[GUET-CTF2019]re

image-20220708225623556

64+加了upx壳,首先脱壳

image-20220708225746632

之后拖入ida

image-20220708230430015

非常混乱,找不到有用的信息。在虚拟机里面运行一下

image-20220708230526602

去ida搜索关键词,找到关键函数sub_400E28

image-20220708234314322

可以看出a1就是flag,直接写脚本

print(166163712/1629056,731332800/6771600,357245568/3682944,1074393000/10431000,489211344/3977328,518971936/5138336,406741500/7532250,294236496/5551632,177305856/3409728,650683500/13013670,298351053/6088797,386348487/7884663,438258597/8944053,249527520/5198490,445362764/4544518,981182160/10115280,174988800/3645600,493042704/9667504,257493600/5364450,767478780/13464540,312840624/5488432,1404511500/14479500,316139670/6451830,619005024/6252576,372641472/7763364,373693320/7327320,498266640/8741520,452465676/8871876,208422720/4086720,515592000/9374400,719890500/5759124,sep=",")
ss=[102.0,108.0,97.0,103.0,123.0,101.0,54.0,53.0,52.0,50.0,49.0,49.0,49.0,48.0,98.0,48.0,97.0,51.0,48.0,57.0,57.0,97.0,49.0,99.0,48.0,51.0,57.0,51.0,51.0,55.0,125.0]
for i in ss:
	print(chr(int(i)),end="")
print(len("flag{e65421110b0a3099a1c039337}"))

运行得到

102.0,108.0,97.0,103.0,123.0,101.0,54.0,53.0,52.0,50.0,49.0,49.0,49.0,48.0,98.0,97.0,48.0,51.0,48.0,57.0,57.0,97.0,49.0,99.0,48.0,51.0,57.0,51.0,51.0,55.0,125.0
flag{e65421110b0a3099a1c039337}

31

提交报错,仔细一看是

image-20220708234604098

没有a6,从上面可以看到a5后面几个都是数字,所以直接先猜测a6也是数字,最终a6是1

flag{e165421110b0a3099a1c039337}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值