学习一下攻防世界reverse专题😀
logmein (动调)
动调出来右边的值就可以了
1 | flag = [0x52,0x43,0x33,0x2d,0x32,0x30,0x31,0x36,0x2d,0x58,0x4f,0x52,0x49,0x53,0x47,0x55,0x44] |
RC3-2016-XORISGUD
insanity
9447{This_is_a_flag}
python-trade
1 | #!/usr/bin/env python |
1 | import base64 |
nctf{d3c0mpil1n9_PyC}
re (动调)
先查个壳,动调一下就出来了
DUTCTF{We1c0met0DUTCTF}
game (动调)
说一下思路,直接修改汇编,跳转到最后成功的函数中,然后动调出最后的v2数组(0x73是第二个值)
1 | flag = [0x7a,0x73,0x63,0x74,0x66,0x7B,0x54,0x39,0x69,0x73,0x5f,0x74,0x4f,0x70,0x69,0x63,\ |
zsctf{T9is_tOpic_1s_v5ry_int7resting_b6t_others_are_n0t}
Hello,CTF
题目的意思就是把flag,转成16进制数
1 | flag = [0x43,0x72,0x61,0x63,0x6b,0x4d,0x65,0x4a,0x75,0x73,0x74,0x46,0x6f,0x72,0x46,0x75,0x6e] |
或者:
1 | from Crypto.Util.number import * |
no-strings-attached(动调)
但是没有关系,我们不需要修补程序
我们跟进decrypt函数,查看汇编之后,我们去内存中查找[eax],就能查看flag了
19447{you_are_an_international_mystery}
csaw2013reversing2(动调)
先用的ida调试,看一下整体布局,发现有一个反调试函数,跳过之后,发现flag旁边还有一块,没有运行过
直接运行右边的flag是这个样子
转到x32dbg,找到main函数入口点
这边有个int3,需要nop掉,不然执行不下去
nop掉跳转语句,messageA函数执行,但是没有结果
到这边还会跳转,我们继续nop掉跳转,让程序完整的执行代码
getit
开始认真了,先查个壳
貌似是在/tmp目录下下一个flag.txt文件,然后还会把flag文件给删掉
在这边下个断点,一直f9
t字符串变成了harifCTF{b70c59275fcfa8aebf2d5911223c6589}
但是flag不对
看了好一会儿,才注意到,harif……前面还有一个0x53,麻了……选中他们,然后按a键转换成字符串。当然要是想好玩一点,也可以把下面的u,转换成t就行,flag的值就写道文本文档里了。
maze
放到ida64中查看
地图:
长度为64,推测是8*8
1 | maze = " ******* * **** * **** * *** *# *** *** *** *********" |
猜测O为右,o为左,.为上,0为下
1 | string = "右下右右下下左下下下右右右右上上左左" |
nctf{O0OO00o000OOOO..oo}