吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7325|回复: 55
收起左侧

[调试逆向] windows解析DNS的核心逻辑

  [复制链接]
DQQQQQ 发表于 2021-11-11 14:36
本帖最后由 DQQQQQ 于 2021-11-11 17:20 编辑

吐槽一下,这个发帖要贴个图片。好麻烦。。。。。。。。。。

WIN10处理逻辑调试技巧。由于DNS可以使用命令清除缓存,然后使用Ping命令,触发DNS解析。因此调试时候遇到不确定的是否是关键调用。可以先用 ipconfig /flushdns 清除缓存。然去反汇编调试器上面步过,确认是否是关键调用1.      首选准备测试程序
image001.png

测试方法。找一个IP。然后本地使用命令ipconfig  /flushdns 清空DNS查询 使用IDA查看函数
image004.jpg

image005.png

进去
image007.png

WSALookupServiceNextA具体函数作用未知。但是通过命令,发现不存在的DNS在WSAloolupservice执行之后,有了新增的。使用x64dbg查看这个函数实现
image009.png

调用Unicode的函数版本 后面就主要进入mssock.dll一直跟进,直到
image012.jpg

然后进入DNSapi.dll
image013.png

上面大致逻辑就是对于 localhost, localmachine.loopring之类的进行解析。如果不是就去查询注册表是否设置了DNS。如果还不是,就进入RPC调用
image015.png

所以win10上面。Windows解析DNS的逻辑就是先去判断是不是localhost,localmachine之类的。如果不是就再去查是不是注册表中设置了这个DNS,如果还不是就使用RPC和SVCHOST.exe进行通讯。让服务去查询DNS。处理完成之后,使用WSNoteSuccessfulHostentLookup去查询对应的IP。 Win7处理逻辑开头和win10基本区别不大,也是进入WSALookupServiceNextA
image017.png

然后统一进入Unicode版本函数
image019.png

WSALookupServiceNextW的实现
image021.png

这之后通过几个函数的跳转进入到mssocket.dll,明显这里开始进行网络处理了。通过GetProcAddress找到DnsQueryExW
image023.png

然后又是判断是不是那些特殊的本地域名
image025.png

然后又是进入关键地方,进行RPC的调用
image027.png

RPC核心调用位置:
image029.png

最后到达这里应该就是RPC正式调用了
image031.png

吐槽一下:win7的RPC代码,感觉比起WIN10乱了好多。 总结:windows 对于DNS的处理,都是交给一个系统进程(svchost.exe)去处理,其他程序需要DNS时候,windows先去看是否是本地的一些代表本地的特殊DNS。如果不是,则进行进程RPC通讯,交个系统进程去处理DNS。然后RPC取得返回结果,正式因为有单独进程处理,所以才可以使用命令清除DNS来找关键CALL
image032.jpg
image006.jpg
image008.jpg
image011.png
image010.jpg
image030.jpg
image028.jpg
image014.jpg
image026.jpg
image024.jpg
image022.jpg
image020.jpg
image018.jpg
image016.jpg
image002.jpg
image003.png

免费评分

参与人数 8威望 +1 吾爱币 +27 热心值 +8 收起 理由
Song1976 + 1 + 1 用心讨论,共获提升!
Hmily + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
hhxx23 + 1 + 1 谢谢@Thanks!
Mainos + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
bg_yx + 1 我很赞同!
arrymarry + 1 + 1 谢谢@Thanks!
没事路过 + 1 + 1 谢谢@Thanks!
xiahhhr + 1 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Hmily 发表于 2021-11-11 17:17
DQQQQQ 发表于 2021-11-11 17:14
后面那一堆图片怎么删除呀。我编辑了,貌似也没有删除。没注意到有附件图片。一开始附件去了,结果不显示 ...

在到附件上传那可以看到上传后的附件列表,里面点删除就行了。
 楼主| DQQQQQ 发表于 2021-11-17 09:11
dgclan 发表于 2021-11-16 21:01
记得DNS解析不对打不开网页

只是不能用域名访问网站。但是如果你知道IP,或者域名解析网站上面查询到对应的IP。可以直接用IP访问,但是访问域名解析网站又需要DNS。emmm.....开始套娃了
Hmily 发表于 2021-11-11 16:11
贴图确实不是很先进,是十年前的产品了,但最好不要从其他地方复制过来粘贴这样不容易编辑,我给你编辑一下,换了行好看一些,你把多的图贴到文章里吧。
 楼主| DQQQQQ 发表于 2021-11-11 17:12
Hmily 发表于 2021-11-11 16:11
贴图确实不是很先进,是十年前的产品了,但最好不要从其他地方复制过来粘贴这样不容易编辑,我给你编辑一下 ...

谢谢,第一次正式吾爱发文章。我原来是word写的。。。。。搞了好久,才搞出来怎么贴图片。
 楼主| DQQQQQ 发表于 2021-11-11 17:14
DQQQQQ 发表于 2021-11-11 17:12
谢谢,第一次正式吾爱发文章。我原来是word写的。。。。。搞了好久,才搞出来怎么贴图片。

后面那一堆图片怎么删除呀。我编辑了,貌似也没有删除。没注意到有附件图片。一开始附件去了,结果不显示。我又图片上传了一次

点评

在到附件上传那可以看到上传后的附件列表,里面点删除就行了。  详情 回复 发表于 2021-11-11 17:17
hibeautifulworl 发表于 2021-11-11 21:42
学习了!
bolanzhenyv 发表于 2021-11-12 08:03
搞久了,才能搞定贴图片!!!
sunnyxyy 发表于 2021-11-12 08:09
谢谢楼主,学习了。
jupiterarrow 发表于 2021-11-12 08:18
这个有意思,收藏起来慢慢看,谢谢楼主DQQQQQ
xiahhhr 发表于 2021-11-12 08:58
感谢楼主,讲的很细致,解决了心中的疑惑
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-22 00:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表