标签:逆向 脱壳 BUUCTF 题刷题 查看 代码 flag IDA 丢进
#BUUCTF逆向题刷题记录(一)#
一、reverse1
下载reverse_2文件,拿到后丢进exeinfo PE,为64位
用IDA x64打开
shift+F12 查看所有字符串,搜索flag
双击进去
x查看交叉引用,跳到该处,F5查看伪代码
发现存在字符串替换,r将ASCII码转换为字符。分析伪代码发现str2即为flag,但字符串str2中的’o’被替换为了’0’
双击跳到Str2处,将字符串替换后得到flag
二、reverse2
下载reverse_2文件,拿到后丢进exeinfo PE,为64位
用IDA x64打开
找到main函数,F5查看伪代码
发现有一处字符串比较,双击flag点进去查看
发现flag,记下来,这还不是最后的flag,返回刚刚的伪代码,发现存在字符替换,r将ASCII码转换为字符
将i和r用1替换,得到flag
三、内涵的软件
下载后用IDA X86打开,找到main函数,F5查看伪代码
找到一串可疑字符,尝试包上flag提交,成功
四、新年快乐
下载后丢进exeinfo PE,发现有UPX加壳
尝试手工脱壳,丢进x64DBG,F9运行两次看到Pushad
F7步进一次发现只有ESP寄存器发生变化,可根据ESP定律。
选择ESP寄存器,右键在内存窗口中转到
在内存窗口中选择地址,右键设置硬件访问断点–4字节
再次F9运行程序后,程序停下来的位置上面即popad–壳代码结束位置。在下面大跳转jmp处F2下断点。继续F9运行程序,直到jmp断点处,F7单步步进,找到OEP
直接利用x64 DBG自带的Scylla将程序dump下来,核对原始地址填写正确。
- IAT扫描
- 获取导入表
- 修复Dump文件
最终生成新年快乐dump.SCY.exe文件,再丢进exeinfo查看区段,脱壳成功
丢进IDA中能看到完整的函数结构,F5查看main函数伪代码
分析代码,在比较函数中输入的str1会与str2进行比较,str2的"HappyNewYear!"应该就是flag的值,提交成功。
五、参考链接
六、标签
CTF逆向、X64DBG、手工脱壳
标签:逆向,脱壳,BUUCTF,题刷题,查看,代码,flag,IDA,丢进
来源: https://blog.csdn.net/q943111495/article/details/121108941
本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。