【网鼎杯】jocker--部分代码加壳逆向处理
Main函数,用户输入flag,长度为24位
Wrong函数进行了简单的异或操作
Omg函数进行异或操作,根据提示来看应该是假check
Encrypt无法生成伪代码
发现有加壳以及自修改,下断点动调
输入与hahaha_do_you_find_me?进行了18次异或与密文进行比对,通过动调修改edx寄存器的值,看eax的值提取出密文
得出密文
a = [14,13,9,6,19,5,88,86,62,6,12,60,31,87,20,107,87,89,13]
写python脚本
a = [14,13,9,6,19,5,88,86,62,6,12,60,31,87,20,107,87,89,13] s = "hahahaha_do_you_find_me?" flag = "" for i in range(19): flag += chr(ord(s[i]) ^ a[i]) print(flag)
#flag{d07abccf8a410c
得出的flag少五位
重新输入flag进行动调走到最后一部分
用了随机数,没有密文,直接开猜。与用户输入相异或的是”%tp&:”,由于最后一位flag一定是},’:’^’}’=71所以勇敢牛牛,不畏艰难,建议直接开整。
得出最后五位是b37a}
Getflag
flag{d07abccf8a410cb37a}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!