6.7k words
经过了前几次的恶心vm之后,这次最后的go vm实在逆不动了… Reverse方向:ezDOS:发现是8086架构的DOS程序,主函数中有几个花指令,抹掉后观察逻辑: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317...
2k words
比赛开始后十几分钟还没上题,差点以为比赛取消了前两题纯签到,后面两题有点意思,不过难度也是签到级别的 easyre:发现main函数反编译不出来,在前面有一大坨花指令: 123456789101112131415161718192021222324252627282930313233343536373839404142.text:00411DA8 xor eax, eax.text:00411DAA jz short loc_411DAF.text:00411DAA ; ---------------------------------------------------------------------------.text:00411DAC db 11h.text:00411DAD db 22h ; ".text:00411DAE db 33h ; 3.text:00411DAF ;...
31k words
自从newstar之后已经好久没见过持续时间这么长的比赛了,比赛题目还是有难度的,不过最后费了一些劲还是AK了所有的Reverse、第二周的misc和crypto。 Crypto方向:river:由于是对称加密,直接将密文回带就可以得到明文,十六进制转换得到flag{two_dift3rs_0ff_t0_s33_th3_w0rld}. 全网呼叫密码人:如脚本所示: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849from Crypto.Util.number import *import gmpy2#第一部分:凯撒加密flag1 = bytearray(b"dj_ey//)")for i in range(len(flag1)): flag1[i] += 2#第二部分:维尼吉亚密码(在线求解,https://www.guballa.de/vigenere-solver,密码为crypto)flag2 = bytearray(b...
9.2k words
这比赛3.2就开始了,我们当时没有听说,3.6才知道的,不过最后还是取得了不错的成绩.在这里仅给出我个人解出的题目的WriteUp. Reverse方向:ASM?Signin!:编写解密脚本: 123456789101112131415161718192021222324252627282930313233343536373839404142data1 = [ 0x26, 0x27, 0x24, 0x25, 0x2A, 0x2B, 0x28, 0x00, 0x2E, 0x2F, 0x2C, 0x2D, 0x32, 0x33, 0x30, 0x00, 0x36, 0x37, 0x34, 0x35, 0x3A, 0x3B, 0x38, 0x39, 0x3E, 0x3F, 0x3C, 0x3D, 0x3F, 0x27, 0x34, 0x11]blocks = [data1[i*4:(i+1)*4] for i in range(8)]for i in range(8): si = i * 4 di = si + 4 if di >= 28...
12k words
一转眼已经到2025年了,其实2024年年末还参加了一些比赛(比如长城杯,DASCTF什么的),但是打的都不太好,怕丢人就不发wp了()2025,新年新的开始,望自己在新的一年能多AK少爆零() 赛题轮次:Week 1Crypto方向:suprimeRSA:这题貌似有两个版本,我是在第一个版本做的,看了一会没什么思路,再看公钥n只有六十多位,于是用了个耍赖的方法:(或许是因为纯按数学方法做这个题很困难,暴力破解反而拿下了一血)yafu暴力分解n得到p和q: 12P48 = 796688410951167236263039235508020180383351898113P48 = 839777194079410698093279448382785381699926556673 解密得到flag:hgame{ROCA_ROCK_and_ROll!}. Misc方向:Hakuya Want A Girl Friend:打开txt发现是每个字节的ASCII,010editor转成文件后发现了一个zip文件和一个所有字节全都倒过来的png文件,png文件的宽高不正确,修改宽高后得到zip文...
5.6k words
注:只做了reverse方向的题目。从2月3日HGAME CTF开始到2月8日的VNCTF再到2月9日的N1CTF Junior,长线作战使得此时已经有些乏力了,三道逆向题目中,第一道(easy-re)由于缺少root过的arm架构安卓手机,在艰难分析手撕ollvm后因发现关键值需要动态调试获取而望洋兴叹,只得作罢… Reverse方向:5mc:反编译观察main: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140...
7.7k words
第一次遇到鸿蒙软件逆向,简单学了学之后成功做出来了,好耶 签到题:欢迎!:打开容器发现是“文本替换器”,只能执行指定的指令:sed's/{.\*}/ text /g' path,并给出了一个示例文本文档,题目说明flag在环境变量内,首先在右侧路径的位置输入环境变量:/proc/self/environ,返回以下内容: 1RET2SHELL\_34\_656\_PORT=tcp://10.233.17.192:3000RET2SHELL\_34\_656\_SERVICE\_PORT=3000KUBERNETES\_SERVICE\_PORT=443KUBERNETES\_PORT=tcp://10.233.0.1:443RET2SHELL\_34\_388\_PORT=tcp://10.233.2.153:3000RET2SHELL\_34\_388\_SERVICE\_PORT=3000RET2SHELL\_34\_488\_SERVICE\_PORT=3000RET2SHELL\_34\_488\_PORT=tcp://10.233.29...
6.7k words
刚出新手村后正经打的第一场个人赛,单就re方向来说感觉难度还行? Reverse方向:babyre:反编译观察主函数: 12345678910111213141516171819202122232425262728293031__int64 __fastcall main(int a1, char **a2, char **a3){ __int64 v3; // rdx __int64 v4; // rdx char v6[32]; // [rsp+0h] [rbp-A0h] BYREF char v7[32]; // [rsp+20h] [rbp-80h] BYREF char v8[32]; // [rsp+40h] [rbp-60h] BYREF char v9[40]; // [rsp+60h] [rbp-40h] BYREF unsigned __int64 v10; // [rsp+88h] [rbp-18h] v10 = __readfsqword(0x28u); std::string::basic_string(v6, a2, a3)...
731 words
EnterGame:反编译观察main函数: 1234567891011121314151617181920212223242526272829303132333435int __fastcall main(int argc, const char **argv, const char **envp){ int v3; // eax int v5[10]; // [rsp+8h] [rbp-138h] BYREF __int64 s2[2]; // [rsp+30h] [rbp-110h] BYREF __int64 v7[4]; // [rsp+40h] [rbp-100h] BYREF char s[112]; // [rsp+60h] [rbp-E0h] BYREF char s1[104]; // [rsp+D0h] [rbp-70h] BYREF unsigned __int64 v10; // [rsp+138h] [rbp-8h] v10 = __readfsqword(0x28u); puts("Welcome to the ...
28k words
注:这是我第一次参加CTF,初来乍到,当时的许多表达、做法放在现在看都是不专业甚至可笑的,就当做黑历史吧… 赛题轮次:Week1已解出的题目: 题目类型 题目名称 Pwn Real Login、Game、overwrite、gdb Reverse base64、ezAndroidStudy、Simple_encryption、ez_debug、begin Web headach3、会赢吗、智械危机 Crypto xor、Base、一眼秒了、Strange King Misc WhereIsFlag、Labyrinth、decompress、pleasingMusic、兑换码 Pwn方向:Real Login:反编译观察函数,发现要输入密码,找到密码是NewStar!!!,观察发现没有位数溢出保护机制,在虚拟机中nc地址后输入NewStar!!!+大量额外字符弹出祝贺,此时已经成功,用ls指令查看文件发现有一个flag,再用cat查看得到flag{6a532e27-a281-4c15-b965-c030de9c47df}. Game:反编译观察函数,发...