首页
社区
课程
招聘
[讨论]看雪秋季赛第三题,莫斯电码的解码函数错误
发表于: 2017-11-4 20:31 3016

[讨论]看雪秋季赛第三题,莫斯电码的解码函数错误

2017-11-4 20:31
3016
看了这么多writeup,没有一个人提到这一题的morse编码的解码函数写错了。
函数中的一个关键逻辑如下:

其中a1指向莫斯电码字符串,v14是数组下标。
按照上图的逻辑,若解码函数遇到0x2f, 也就是‘/’时,图中的三个if都会通过,直接向译码输出区域输出一个空格。
而在处理非0x20和0x2f字符时,函数只会将遇到的字符暂时存在另一个缓冲区(这部分逻辑不在截图中)。
这样的结果就是,面对任何以'/'为分割的摩斯电码,解码函数只能译码出一堆空格来。

下面上证据
程序执行完call 42d96a, 也就是解码函数之后

ebp-1440处(解码函数输入)的值

ebp-1038处的值


可以见到,程序将 .-/-.../-.-./ 译为了三个空格

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//