本帖最后由 zbby 于 2021-1-18 20:04 编辑
今天刷qq的时候看见看见群里有人发关于QQ读取Chrome历史记录的帖子链接于是我就准备自己也来分析一下
也就有了这个帖子,小弟学艺不精如有错误请大佬指正
先是寻找获取浏览器记录的部分 sub_510EFA54
从上面的代码可以看到这个函数先调用 SHGetSpecialFolderPathW 来获取appdata的路径然后在枚举目录并判断文件是否存在
如果存在就读入文件然后交给sub_510EECC2处理数据,接下来来看一看这个函数是怎么被调用的(sub_510EECC2后面再说)
可以看到这个函数先是判断dns是否为"tencent.com"如果没有就判断是否有"SNGPERF"字符串,没有就会触发sub_510EF8F9和sub_510EFA54(WaitForSingleObject那个不知道哪里发来的)
接下来看看sub_510EF8F9
sub_510EF8F9是针对ie缓存的一个读取最后url数据也会交由sub_510EECC2处理
sub_510EECC2:
sub_510EECC2先是对比了一下url的哈希值,然后将url分割将对比参数最后的结果被传递到了sub_510EE133
哈希值对应的文本(由看雪大佬跑出来的):
tasks = {
# URL 匹配
# (23, 0x1C6389BA, 0xF2FA5666, 0xF2A2E0D3, 0xC892E7BA): b'', # ://S.TAOBAO.COM/SEARCH?
# (34, 0xB829484C, 0x520F7CC3, 0x94EC8A73, 0xD808E79): b'', # LIST.TMALL.COM/SEARCH_PRODUCT.HTM?
(30, 0xDDA1029, 0x9E67F3BB, 0xB18ACC45, 0x597CF438): b'', #
# (21, 0x2564591C, 0x5B11347B, 0x846A0F72, 0xEF704A8): b'', # SEARCH.JD.COM/SEARCH?
# 搜索关键词匹配
# group 1
# (18, 0x8C2F8C3B, 0x9CA6DB69, 0x663C9537, 0xA0B64B58): b'', # 古着
# (7, 0x966DC59E, 0x592F2331, 0x6D2BF021, 0xA1D96C3C): b'', # VINTAGE
# group 2
# (18, 0x7FACF63C, 0xBEC2FCB0, 0xBE8836F6, 0x167CC273): b'', # 融券
# (18, 0x46B6D8D7, 0x8AA82723, 0xBE19FA24, 0x670E160C): b'', # 融资
# group 3
# (18, 0xE235F85E, 0x5C924D20, 0xA61B84AC, 0x4BC792DD): b'', # 炒股
# (18, 0x79088BEC, 0xF29CC9E8, 0xBF920D9, 0x455AE9ED): b'', # 股票
}
sub_510EE133里进行了一系列操作然后最后在zc表里写了一个值
sub_510EE133:
回到sub_510F48FD继续看调用发现是sub_510EFF96调用的sub_510F48FD
sub_510EFF96:
sub_510EFF96貌似就是初始化了一下哈希值然后创建了线程再看看上层调用sub_510EBBF0
sub_510EBBF0:
可以看到是一个登陆的一个事件(看来qq的澄清应该是真的)
最后附上dll
dll.zip
(565.28 KB, 下载次数: 4)
|