CTF-REV-ONE_TO_TWO
EASY
DAY-9
QUESTION-1 no-strings-attached
- 解题思路1:
-
日常查壳,拖进IDA,
,发现全是定义的名字,没有关键串, -
第一行有
/lib/ld-linux.so.2
是个 文件,和 没跑了。 -
打开
再 ,发现全是封装好了的函数:
-
函数功能都如其名,
setlocale
设置显示窗口的字符集,banner
产品运行广告, -
prompt_authentication
迅速验证,但点开查看只有一个输出,不予理会,, -
authenticate
验证,看来是检验用的函数,应该会和 有关,点开:
-
发现
是最后用来比较的结果,上方有一个decrypt
解密函数将解密的数据存在其中,查看其细节:
-
DAY-10
QUESTION-2 dynamic
- 解题思路:
-
日常查壳,无事发生。拖进IDA,
,发现关键字符串Your Flag has REencrypted.
,
-
点开,
, 查看反汇编代码,发现两句话前均调用了同一个函数:
-
简单猜想下提示意思,可能是先解密再加密,点开
sub_14001129E
发现确实是基于异或的算法:
-
观察到两次传参
都大于 ,均执行 分支,则关注第一次调用结束后明文数据存储在哪, -
我们准备在函数返回前打上断点,由于本人
没配 ,准备 后拖 调试。 -
选中最后一行
return result
按 , ,找到返回前的位置:
-
在
140011C24
行patch
一个int 3
中断,然后保存到文件,( ):
-
如图:
-
拖进
一直按 直到函数调用返回时碰到int 3
中断停止:
-
此时观察寄存器所指的内存的值,调试器已经显示出来
了:
-
分类:
CTF / REVERSE
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?