[FlareOn6]Overlong

查壳,32位,无壳

image-20240719210707091

进IDA

image-20240719210726663

一个处理函数,还有一个弹窗,运行一下看看弹窗

image-20240719210937139

然后看看加密函数和加密的字符

加密函数进去就是处理a3(28)次字符

image-20240719211700188

但是点进去402008这个数组发现他的实际长度很长,肯定是远远大于28

结合一下return i,发现主函数就是把text[28]变成0,把字符串给截断了,让弹窗只输出了28个字符

所以把这个28给他改成原本数组长度128试试

另外,这个函数的if判断在字符为0时会主动跳出,所以a3的值大一些也无所谓

用OD运行一下,28是函数最后一个参数,调用约定还是stdcall,所以这个参数是第一个入栈的

image-20240719212834581

所以我们单步执行,在1c入栈后把栈中数据改一下

image-20240719213118067

修改之后直接运行,得到完整弹窗

image-20240719213149516

得到flag{I_a_M_t_h_e_e_n_C_o_D_i_n_g@flare-on.com}

本文作者:yee-l

本文链接:https://www.cnblogs.com/yee-l/p/18312422

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   yee-l  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起