首页
社区
课程
招聘
[原创]第四题 英雄救美
发表于: 2021-5-25 16:33 8164

[原创]第四题 英雄救美

2021-5-25 16:33
8164

一丢进 IDA 可以发现符号表 暗示着这题有点难

图片描述

猜测 sub_401240 和 sub_401000 为两个 check 函数

图片描述

想要继续往下走 也就是 sub_401240 和 sub_401000 返回值都要为 1

先分析分析前面那个

图片描述

可以看出这是一个 fill 函数

所做的只是将输入转换为在 table 中的 index

并提供给下一个 check 函数使用

值得注意的是传给 check 函数的参数

if ( len <= 64 && fill(len, input, v10) == 1 && check(v10, len - 9) == 1 )

len 少了 9

意味着有 9 位输入被截取掉了

而再仔细回头看 fill 函数可以发现

若输入的是数字 并不会储存起来

而是跳过并且更改所比较的 table 的起始 index

再看看 check 函数

图片描述

着一大部分都是将 fill 的结果填入一个表中 若被填的那一位为0 则填入

按照一个循环里9次判断,总共9次循环 将map划分为这样

图片描述

按照经验来看的话很像是数独 用在线网站解一下

图片描述

正好有解 应该还是唯一解

那这就出了撒

验证成功

图片描述

:u$YBPf2pa]Dt4#QM^H4ic'j0`w2y{d-Zzo2%/n_s@+2<UW)e4AR;F.4=-qEkvC2

 
 
 
 
 
 
 
 
 
 
 

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

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