只做了MISC和RE
题目和部分需要的工具链接:
链接:https://pan.baidu.com/s/1dwyK4jjlA44fFKZ3oQxQNg
提取码:1uat
MISC
MISC2
打开文件发现有一个音频,一个文件,文件记事本打开写着 H4vFunWTHthisMP3
一个音频加一串密钥的方式,所以使用MP3Steno
将音频放入MP3Steno的文件夹
cmd打开,输入命令
生成txt文件,打开有一串字符,包上flag即可
flag是:flag{07715d8b6390495daa744cc22a62e2ef}
timg_IN
只有一张图片,binwalk扫了一下没有隐藏两张,发现也没有改长度和高度
使用工具Stegsolve.jar
找到自己java安装地址,cmd窗口打开bin文件,在该目录下输入如下命令
即可打开Stegsolve
操作图中红框里的按键左右移动
Blue 0 通道有一个二维码,扫一扫,得到一串字符
1 | +++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.< ++++[ ->+++ +<]>+ +++.< ++++[ ->--- -<]>- ----- .<+++ ++++[ ->--- ----< ]>--- .<+++ ++++[ ->+++ ++++< ]>++. ++.<+ +++++ [->-- ----< ]>--- ----- ---.- ----- .++++ ++++. <++++ ++[-> +++++ +<]>+ +++++ +++.. .---- .+.-- .<+++ +++[- >---- --<]> ----- -.--- .< |
利用这个网站
可以得到flag的前半段
通过观察我们发现图片的三色低像素通道都有一些像素块的样子
Green 0:
Red 0:
所以猜测是lsb
点这里
按下图设置,然后导出
Notepad++打开,左边还有不需要的东西,按住ctrl+alt,拉取删掉,密文中间的空格同理,去掉了每一行的回车
得到如下字符
1 | ..... ..... ..... ...!? !!.?. ..... ..... ..... ..?.? !.?.. ..... |
每过几个组就会有一个12个字符为一组的,12个的字符中间都是两个“..
“,把他们换成空格
然后再取消换行,整理好之后的密文是
1 | ..... ..... ..... ...!? !!.?. ..... ..... ..... ..?.? !.?.. ..... ..... ..... ..... ..... ..... !.!.. ..... !.?.. ..... ..... ...!? !!.?! !!!!! !!!!! !!!?. ?!.?! !!!!! !.?.. ..... ..... ...!? !!.?. ..... ..... ...?. ?!.?. ..... ..!.! !!.?. ..... ..... ....! ?!!.? !!!!! !!!!! !!!!? .?!.? !.?.. ..... ..... .!?!! .?... ..... ....? .?!.? ..... ..... ..... ..... ....! .!.?. ..... ..... ....! ?!!.? !!!!! !!!!! !!!!? .?!.? !!!!! ..... !.... ..... !.?.. ..... ..... .!?!! .?... ..... ....? .?!.? ..... ..... ..... ..... !.?.. ..... ..... .!?!! .?!!! !!!!! !!!!? .?!.? !!!!! !!!!! !!!!! !!.?. ..... ..... ..!?! !.?.. ..... ..... ?.?!. ?.... ..... ..... ..!.? ..... ..... ..... !?!!. ?!!!! !!!!! !!!!! ?.?!. ?!!!! !!!.? ..... ..... ..... !?!!. ?.... ..... ..... ?.?!. ?..!. ?.... ..... ..!?! !.?.. ..... ...?. ?!.?. ...!. ?.... |
还是使用那个网站
合起来就是flag了
flag是:flag{e1df719fffbca74aad0ed3cc026d8d0b}
RE
ez_re
这题有一个虚假的flag,我们可以先来看一看
通过搜索字符串我们发现了Game start字符
来到main函数
想着这里有一个判断,便跟进去看
1 | v4 = 99; |
感觉不错,写个脚本爆破,因为是与运算不容易逆回去
1 | buf = [99, 23, 113, 2, 106, 5, 114, 9, 109, 2, 93, 36, 75, 62, 97, 13, 100, 15, 106, 53, 83, 50, 89, 60, 3, 60, 65] |
得到ctfshow{do_you_like_fake??}
假的,都是假的,重新来过
那只能看main函数的第一个函数了,发现它没什么用
通过交叉引用,发现它还和这个函数有关。
跳转过去,F5
跟进上面红框中的函数
进入分析,发现有一个dword_402010,这里面有几个函数。
分析一下是经过改变的RC4
本来应该是i,这里改了
我们看一下sub_4012D0函数
onexit函数表示的是:在main函数结束之后还可以继续执行一段函数
将这个byte_403000中的数据拿出来,进行解密。然后再将每个值-7,即可得到flag
写脚本:
1 |
|
再做处理
1 | buf2 = [0x6a,0x7b,0x6d,0x7a,0x6f,0x76,0x7e,0x82,0x80,0x37,0x7c,0x66,0x6e,0x37,0x7b,0x66,0x7b,0x3b,0x6c,0x66,0x3c,0x6c,0x6a,0x79,0x6c,0x7b,0x84] |
flag是:ctfshow{y0u_g0t_t4e_5ecret}