Ollydbg解决SMC--scu401ctf2021-re2-pixpix
OllyDbg的简单使用-SMC#
以scu×401ctf2021-re2-pixpix为例
1.先查壳,无壳,进入IDA进行分析
2.进入main函数,并没有特殊的字符串进行提示,exe文件也没有提示需要进行输入。
继续分析,GetPixel函数提取了对应坐标的像素值,然后在if-dowhile循环中进行了异或操作,跟进字节查看,大概猜测是对某个函数进行了smc操作
3.使用od进行分析可以更清楚查看数据的变化(二编:博主进行了两次OD的运行,题目存在段首地址偏移,所以0xA83384认准0x3384即可
a.进入od界面,使用中文搜索引擎定位到函数入口
b.F9启动调试,这里有个关键地址0xA83384-A83386,存放了在ida分析中的三个字节{0x34, 0x30, 0x31}
c.但是汇编指令 mov ds[0xA83385],c1将地址存放的值修改为0了
d.先动态调试找到if判断(如果对汇编不熟悉的话。。
定位到关键操作异或,汇编指令mov a1,ds[ecx+0xA83384]给a1进行赋值,并且可以猜测0xA81050存放的就是待异或的flag
但是0xA83384-0xA83386的值都被修改过
e.重新启动程序进行调试,在地址内的值被修改之后再把值修改回去,这里三次地址都需要修改
f.然后直接在循环之后F2下断点,就可以看到smc被解码了,flag被打印出来
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!