1625-5 王子昂 总结《2017年8月4日》 【连续第306天总结】
A. RouterScan逆向
B.
IDA结合OD查明了DetectRouter401模块的功能,与200模块不同,401是在Detect模块中对照数据查找特征,不符合则直接进行exp尝试登陆,登陆成功后通过GetInfo模块获取信息;而200模块是在Detect模块中对比特征,符合则确认型号,然后在GetInfo模块中进行exp,成功后获取信息
至此ScanRouter的大致流程就清楚了,下一步明确各个函数的参数从而通过python进行包装调用
Initialize
初始化
不接受参数
返回值为-1/0,表示是否成功
GetModuleCount
获取模块数量
接收一个缓冲区参数,在其中存放模块数量
返回值为-1/0
GetModuleInfoW
获取模块信息
接收两个参数,分别为模块序号和缓冲区
缓冲区使用(1+8+8)个字节,分别存放选中状态、模块名、显示名称
返回值为-1/0
SetParamW
设置参数
接收两个参数,分别为参数序号和内容
初始化时为(0,0),(1,1),(2,0x5ECA70),(3,0x5F2460)
具体功能未知
返回值为-1/0
GetParamW
获取参数
接收四个参数
第1、3个一般为4、5等看起来为序号的数