首页
社区
课程
招聘
[原创]看雪京东2018CTF第二题
2018-6-20 12:06 3560

[原创]看雪京东2018CTF第二题

2018-6-20 12:06
3560
这个题使用的数据结构是字典树

跟到sub_401C40这个函数,该函数主要功能是初始化一个字典树,并对输入的sn分割成8个单词,然后调用 sub_402B40 插入到字典树中,最后比较dword_407E48这个字典树。由于相同的字典树可能对应多个sn,所以sub_401B80这个函数进行了限制。

sub_ 4029F0这个函数是初始化一颗字典树,我把它命名为init_trieTree

按我的理解是感觉设置了一个虚析构函数,然后分配272个字节的空间,这个272个字节是一个节点,最后通过sub_403100中的sub_403510函数对节点中的成员进行了设置。所以可以得到这个节点的大致结构为,destroy这个函数指针我的理解是用来释放内存的。

根据 dword_407E48这个字典树可以从OD得到树型结构为,根节点不含Word,这个成员的数据都为0

M这个节点的current_word_count成员为2,说明sn要有两个c7M。然后根据sub_401B80函数的限制条件来看,相应的值为c7、kx、tf、t9

所以sn为c7ctc7Mkxc7Mkctfct9c7M


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

收藏
点赞0
打赏
分享
最新回复 (4)
雪    币: 339
活跃值: (516)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
晴天aa 2018-6-21 00:17
2
0
我没有做出来
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
东临碣石A 2018-6-24 01:18
3
0
这个数据结构怎么学
雪    币: 20861
活跃值: (5274)
能力值: ( LV12,RANK:529 )
在线值:
发帖
回帖
粉丝
会飞的鱼油 8 2018-6-24 17:14
4
0
东临碣石A 这个数据结构怎么学
理解原理,尝试着用某种编程语言实现它
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
东临碣石A 2018-7-5 21:18
5
0
会飞的鱼油 理解原理,尝试着用某种编程语言实现它
谢谢指点,可是没时间搞这个
游客
登录 | 注册 方可回帖
返回