攻防世界 reverse 新手题
open-source
insanity
python-trade
logmein
@TOC
open-source
题目描述:菜鸡学逆向学得头皮发麻,终于它拿到了一段源代码
直接给了一段源代码,读懂源码即可
思路
1 | #include <stdio.h> |
first==51966,(second % 17)==8,strlen(argv[3])==7,
计算得hash=c0ffee(一开始用大写提交结果提交不对。。。)
insanity
题目描述:菜鸡觉得前面的题目太难了,来个简单的缓一下
思路
打开附件,拖入ida64,不能生成伪代码,拖入ida32,得到
1 | int __cdecl main(int argc, const char **argv, const char **envp) |
进入strs
找到 “9447{This_is_a_flag}”(格式无语。。)得到flag
python-trade
题目描述:菜鸡和菜猫进行了一场Py交易
思路
有一个pyc文件,一开始我还是拖入ida,得到一串密码,好像要用base解码但得不到flag
搜pyc的时候找到一个pyc反编译网站,进行反编译得到
1 | #!/usr/bin/env python |
用python3(网上很多base解码网站都不行,解出来老是少东西)
https://base64.us/ 解出来是
http://base64.cha001.com/解出来是
python3解出来是
1 | #!/usr/bin/env python3 |
得到flag
ppython3和python2不兼容是真的烦
python2要用ord()函数把字符转ascii,结果python3不用,直接就转了,搞了好久。。
logmein
题目描述:菜鸡开始接触一些基本的算法逆向了
思路
拖入ida64,转伪代码得到
1 | void __fastcall __noreturn main(__int64 a1, char **a2, char **a3) |
python脚本
1 | #!/usr/bin/env python3 |
得到flag
相关知识
大小端存储
print()打印后如何不换行
db、dw、dd、dq
python不能混用tab和空格键
IDA快捷键
Alt+t:查找文本
G:找到某地址
空格:文本,流程图转换
shift+F12:字符串窗口
R:转换为字符
A:解释光标的地址为 字符串的首地址
-------------本文结束感谢您的阅读-------------