re题目新手区练习
re1
od打开字符串搜一下。
DUTCTF{We1c0met0DUTCTF}
re2
随便乱输一下
zsctf{T9is_tOpic_1s_v5ry_int7resting_b6t_others_are_n0t}
emm,实质就是比较灯。这里没有算法,直接全nop就行了
re3
将输入的转为16进制与已知16进制串对比
1 | #!/usr/bin/env python |
re4
- 第一段输入0xcafe
- 第二段为就是8
- 第三段为h4cky0u
- 第四段 first * 31337 + (second % 17) * 11 + strlen(argv[3]) - 1615810207;
1 | 0xcafe |
第一次带了0x没提交上。。
re5
upx -d 脱掉壳就拿到flag了。。
flag{Upx_1s_n0t_a_d3liv3r_c0mp4ny}
re6
1 | ':\"AL_RT^L*.?+6/46') len( |
1 | #!/usr/bin/env python |
坑点,小端序列,我转成int后忘了倒序,一直是错的。。
re7
???
9447{This_is_a_flag}
re8
python写个算法跑一下
1 | #!/usr/bin/env python |
1 | 9 |
re9
看下算法,跑下就行了,还是小端序问题
1 | #!/usr/bin/env python |
re10
1 | #!/usr/bin/env python |
好坑的一道题。。少了个S,我还以为我做错了
re11
pyc反编译
1 | #!/usr/bin/env python |
1 | #!/usr/bin/env python |
re12
1 | #!/usr/bin/env python |
输入dsddssasssddddwwaa
得到flag nctf{o0oo00O000oooo..OO}
emm,有点坑。。我开头以为是从#号触发反过来走,然后错了,方向键我是盲猜的,我只能看运气,1/2
1 | bool __fastcall sub_400650(_DWORD *a1) |
1 | bool __fastcall sub_400660(int *a1) |
1 | sub_400660(&v9 + 1) |
结合这4句,推测存储结构,一个__int64 8个字节, 2个字节一个分割,所以相当于 0x上下左右
1 | sub_400690(asc_601060, SHIDWORD(v9), v9) ) |
在结合这句,SHIDWORD
1 |
所以&v9+1的话就是左右部分,在看内部实现,就是左右了
本文作者:NoOne
本文地址: https://noonegroup.xyz/posts/ff286fcb/
版权声明:转载请注明出处!