1、ftp-re1
Ⅰ、查壳,发现有upx壳

使用upx进行脱壳

再次查壳,没有壳了

Ⅱ、使用IDA打开

Ⅲ、使用Tab看反编译后的代码

- 如果函数名字不对,可以选中后,按键盘N进行重命名
Ⅳ、观察到通过调换顺序进行加密flag,并且加密后的flag就是Str2,而解密的逻辑就是下面的for循环
编写一个程序进行解密

可以发现顺利通过解密逻辑进行解密,得到flag
2、reverse0
Ⅰ、查壳,发现没有壳

Ⅱ、使用IDA打开,已经可以看到程序的逻辑和flag

Ⅲ、使用Tab看反编译后的代码,更明显了

成功得到flag
3、reverse1
Ⅰ、查壳,发现无壳

Ⅱ、使用IDA打开

Ⅲ、使用Tab看反编译后的代码,发现这啥也没有,双击查看main_0函数

Ⅳ、程序原来在这

点击前面未识别的函数,按键盘N进行重命名,方便观察,不弄也行,其他的同理

Ⅴ、观察程序,发现flag是从Str2解密出来的

- j_strlen()是获取字符串长度的函数
- strncmp()是用于比较两个字符串的前若干字符
Ⅵ、编写程序

得到falg

