Windows学习的一些问题求助

Psychic凤 2014-04-01 12:58:10
最近在学习Windows的内核,学的是ReactOS的开源源码,上面说应用程序在Windows系统上运用,所以的东西都系统调用进行操作,是首先调用kernel32.dll里面的windows API函数接口,然后由API接口调用在ntdll.dll里面的一组名称以nt开头中介函数来完成CPU从用户态到系统态的中转,最终调用传到ntoskrnl.exe里面的以nt或者zw开头同名函数来完成应用程序的指令。
我不满足只是书上读的这些,于是写了个简单的调用WIndows API的ReadFile的程序,用OD来调试这个程序,来观察函数调用的过程,的确看到了两个过程,调用kernel32.dll里面的API,该API然后调用ntdll.dll里面的nt开头的同名函数,也看到了ntoskrnl.exe里面的以nt或者zw开头的函数,但是OD调试显示函数调用到了ntdll.dll里的nt函数时,就执行了几个push,add操作,并没有进入系统态的int 2e指令或者sysenter指令,更没有继续调用微核ntoskrnl.exe里面的同名函数,但是继续运行函数读取文件指令又完成了。
是书写错了?Windows 的经典调用过程根本就不是类似那样的代码,还是说OD调试器设计的用问题,无法读出int 2e指令和sysenter指令,更无法深入读取到ntoskrnl.exe微核里面去?或者说用什么软件可以完成调试分析这个过程。
原谅我这种人喜欢刨根问底,学完C就马上就学C++,学完C++马上就看Object C++和template C++,,然后又在这个基础之上学MFC和STL源码解析,学汇编学微机,学完MFC又觉得很多东西还是不清楚,学Windows API,学完API还是觉得有很多东西不懂,学Windows内核分析,想把一个完整的计算机体系从上往下的搞明白,现在看书搞得不懂了,没有几个人能问,绞尽脑汁,按书上的自己实验,感觉又不完全符合结论,也不知道是对是错,寻找一些精通C++和反向工程的人想寻求一些帮助。
...全文
104 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eleven 2014-04-04
  • 打赏
  • 举报
回复
LZ精神可嘉,学得真多~
赵4老师 2014-04-04
  • 打赏
  • 举报
回复
虽然我也没实际用WinDbg调试过远程机器即另一台机器上的指令执行过程。 但我希望无论如何你应该试试用WinDbg调试一次远程机器即另一台机器上的指令执行过程。
Psychic凤 2014-04-03
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
试试用WinDbg调试远程机器即另一台机器上的指令执行过程。 《深入解析Windows操作系统-Windows Internals》 《30天自制操作系统》
WinDbg好像也不行了,只能有SoftIce吧,而且SoftIce比WinDbg要快,因为要看系统的完成执行过程,但是有一段时间系统的状态是不响应WinDbg,只有像SoftIce那样的调试器完全换了中断向量表,然后完全取得系统控制权才能看到所有的时段的CPU状态。但是SoftIce断代了,太老了,用起来很痛苦...头痛,还不如自己想着怎么去写个。
赵4老师 2014-04-01
  • 打赏
  • 举报
回复
试试用WinDbg调试远程机器即另一台机器上的指令执行过程。 《深入解析Windows操作系统-Windows Internals》 《30天自制操作系统》
Windows 10 免费升级已经接近尾声了, 在一周年更新即将到来之际, 特此编辑入门文档帮助广大用户熟悉操作 Windows 10, 从用户的视角阐述 Windows 10 功能和使用, 大部分操作附有截图以减少文字的枯燥描述, 解答想升级 Windows 10 的 Windows 7/8.1 用户的疑惑, 了解 Windows 10 的基本操作。 目前全球已有超过 3 亿设备升级到 Windows 10, Windows 10 的普及速度超过了相对发布时间的Windows 7, Windows 不断更新是为了你的网络安全,提供更加优质的体验,正如纳德拉所说, Windows10 将转变为一项服务,你可以在设备生命周期内享受服务并升级系统到最新状态。 升级过程轻松简单, 合 格的 Windows 7 或 Windows 8.1 设备可免费升级, 您的文件、照片、应用、设置等会被妥善保存。 微软一直在强调 Windows 10 将是最后一个操作系统,并且在未来保持更新, 而在中国仍有很大装机量的 Windows XP 已经在 2014 年停止支持,意味着这些落后的系统和即将被淘汰的设备将会面临巨大的风险。 新的电脑设备已经开始大量预装 Windows 10, 越来越多的人开始使用Windows 10 工作、学习、娱乐,掌握基本的操作系统知识十分的必要, 对于目前市场份额最高的 Windows 7,已经在 2013 年 10 月31 日停止零售, 2014 年 10 月 31 日停止预装(专业版除外)。 微软改变了曾经封闭式的 Windows 操作系统开发,转而听取用户的反馈,使用 Windows 10 的用户可以加入 Windows Insider 计划,和全球数百万的Insiders 一起帮助塑造 Windows 10,提供反馈并且为你赞同的反馈投票,成功的案例如邮件和日历中加入对中国传统节日和农历的支持,标题栏颜色。 很多用户升级电脑后出现了问题,部分是由于升级继承了旧版 Windows 的一些设置,当出现了一些问题时,只要掌握了基本技巧,就可以自行排除错误,或者在搜索引擎里查找相关问题的解决方案而不必求助于别人或者折腾地请技术人员修复,所谓“自己动手,丰衣足食” ,即使你的电脑已经完全无法启 动,你仍然可以全新安装 Windows 10。 当前 10586 更新已经非常稳定,适合任何可以升级的 Windows 7/8.1/10 设备,而尚未升级 Windows10 的设备,在 2016 年 7 月 29 日后微软将会移除升级提示,必需购买授权密钥才能激活。 微软和百度合作推广 Windows 10,中国区 Edge 浏览器默认搜索是百度,还和腾讯、 360 等公司合作帮助用户升级到 Windows 10,当然你也可以通过微软的推送或者升级工具/ISO 升级。 Windows 8 中保受诟病的应用终于不再是鸡肋,网易云音乐、某视频网站、淘宝等优秀的 UWP 应用已经上线,为用户提供优质的体验, Windows 10 也优化了高分屏的显示效果,系统图标支持 4K 分辨率。 Windows 10 上 DirectX 12 将会给游戏带来更佳的体验(需要显卡支持),量子破碎、极速竞技 6:巅峰等游戏大作已经上线 Windows 应用商店,可以下载体验。

2,641

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧