2022网鼎杯(青龙组)WriteUp
00 分钟
2022-9-1
2024-11-11
type
status
date
slug
summary
tags
category
icon
password

re

re694

notion image
附件:
提取码:game

0x01

国际惯例—查有没有壳
notion image
notion image
是upx壳
但exeinfo告诉我们Don't try : upx.exe -d option ( min. 3.91 UPX required !!! )

0x02

于是try脱壳
notion image
很明显是不能脱壳

0x03

用16进制编辑器010打开
notion image
打开有报错,不管,直接看结构
notion image
这是我自己加了upx壳的一个程序的此段内容
而这道题
notion image
出题人魔改了这里,我们直接改回去,就能脱壳了(细心的话ida反编译的时候会显示段FUK)
除了此方法外,还可以用x64dbg dump出来,esp定律
notion image

0x04

改完拖进ida里,脱壳正常
分析程序流程,找加密函数
notion image
notion image

0x05

加密
((flag^0x66)+10) ^ 0x50
解密就是
((flag^0x50)-10) ^ 0x66
加密数据在这里
notion image
lazyida直接提数据不能,直接快捷键U变成数据,我直接提取的双字
notion image

0x06

手撸脚本

re693

notion image
附件:
提取码:game

0x01

下载附件,用golang打开(用vs code,notepad++也行)
ctrl f 直接搜main函数(就在最后)
notion image
分析,有两个byte数组(jjxXfKdlaH),发现有两个打印函数,打印的是通过MPyt9GWTRfAFNvb1kZ2BFvOxepd5ALDR函数加密

0x02

直接查找(ctrl f)MPyt9GWTRfAFNvb1kZ2BFvOxepd5ALDR函数
notion image
notion image
两个函数也很简单
就是将刚才那两个byte数组,分别和函数里的byte数组进行异或,然后得到的字符串打印出来
也就是这两句话

0x03

此题就是找这两个符合函数的两个函数
flag分为两段
第一段为vNvUO,第二段为YJCya
notion image

0x04

第一段函数
exp:

0x05

第二段函数
在main函数可以分析调用YI3z8ZxOKhfLmTPC
然后顺着条件找到
notion image
notion image
exp:

0x06

脚本:
flag{3a4e76449355c4148ce3da2b46019f75}

crypto

crypto091

notion image
谷歌搜索,170号段首批放号的联通号码以1709开头
notion image
直接爆破

pwn

pwn135

附件:
提取码 game
notion image
直接非预期
后面复现一下v8读取文件内容和js打印函数
flag{78686b26-1146-4c58-b75b-3673549848fd}
上一篇
常见简单指令混淆
下一篇
PwnTools总结