Flare_On_7
第七届年度Flare-On
挑战赛
0x1
password
验证逻辑,key=ghost
1 | def password_check(input): |
游戏逻辑,需要current_coins >target_amount - 2**20
,修改代码逻辑,给current_coins
赋值即可
1 | while not done: |
flag:idle_with_kitty@flare-on.com
0x2
尝试运行程序时提示无效的win32程序,使用010 Editer
发现.rsrc
节区不全,使用全0字节补齐后程序仍无法正常运行
使用工具DIE查看程序加壳信息为UPX(3.94)[NRV,best]
使用UPX3.94
加壳器尝试解包软件,解包后仍无法运行
使用SxsTrace
工具,提示为指令清单错误
使用CFF Explorer
删除程序清单
通过CFF Explorer
查看导入表发现缺失模块名称,根据API猜测填写模块名称,成功运行
flag:Congrats! Your key is: C0rruptGarbag3@flare-on.com
0x3
根据提示信息调试mydude.exe
,通过字符串找到High Score
并下断,发现cmp比较值为0x128,绕过判断后游戏提示winner但是并未出现flag
ida转到High Score
地址,通过Cheat Engine
对附近变量score
、high_score
进行修改,无效果
ida查看交叉引用找到对score
赋值的函数,使用CE尝试修改判断条件,让程序一定进入循环
1 | if ( *(_BYTE *)(v3 + 248) == *(_BYTE *)(v24 + 248) ) |
然后按住下键不松手,即可通关
flag:1t_i5_wEdn3sd4y_mY_Dud3s@flare-on.com
通过代码实现修改
1 |
|
0x4
office宏代码自动执行folderol()
函数,宏代码无法正常运行
新建xlsx,边调边修宏代码逻辑
待更新。。。。。