本文最后更新于144天前,其中的信息可能已经过时,如有错误请在评论区悄悄告诉我~~~
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