type
status
date
slug
summary
tags
category
icon
password
re
re694
附件:
提取码:game
0x01
国际惯例—查有没有壳
是upx壳
但exeinfo告诉我们Don't try : upx.exe -d option ( min. 3.91 UPX required !!! )
0x02
于是try脱壳
很明显是不能脱壳
0x03
用16进制编辑器010打开
打开有报错,不管,直接看结构
这是我自己加了upx壳的一个程序的此段内容
而这道题
出题人魔改了这里,我们直接改回去,就能脱壳了(细心的话ida反编译的时候会显示段FUK)
除了此方法外,还可以用x64dbg dump出来,esp定律
0x04
改完拖进ida里,脱壳正常
分析程序流程,找加密函数
0x05
加密
((flag^0x66)+10) ^ 0x50
解密就是
((flag^0x50)-10) ^ 0x66
加密数据在这里
lazyida直接提数据不能,直接快捷键U变成数据,我直接提取的双字
0x06
手撸脚本
re693
附件:
提取码:game
0x01
下载附件,用golang打开(用vs code,notepad++也行)
ctrl f 直接搜main函数(就在最后)
分析,有两个byte数组(
jjxXf
KdlaH
),发现有两个打印函数,打印的是通过MPyt9GWTRfAFNvb1
,kZ2BFvOxepd5ALDR函数加密
0x02
直接查找(ctrl f)
MPyt9GWTRfAFNvb1
和kZ2BFvOxepd5ALDR函数
两个函数也很简单
就是将刚才那两个byte数组,分别和函数里的byte数组进行异或,然后得到的字符串打印出来
也就是这两句话
0x03
此题就是找这两个符合函数的两个函数
flag分为两段
第一段为vNvUO,第二段为YJCya
0x04
第一段函数
exp:
0x05
第二段函数
在main函数可以分析调用
YI3z8ZxOKhfLmTPC
然后顺着条件找到
exp:
0x06
脚本:
flag{3a4e76449355c4148ce3da2b46019f75}
crypto
crypto091
谷歌搜索,170号段首批放号的联通号码以1709开头
直接爆破
pwn
pwn135
附件:
提取码 game
直接非预期
后面复现一下v8读取文件内容和js打印函数
flag{78686b26-1146-4c58-b75b-3673549848fd}