模式切换 英文换

软件工程需求分析-ER图 状态转换图
本文由发表于4年前 |
&被围观 11,586 views+
1、需求分析的任务是什么?分析得到的成果(文档)是什么?包含哪些内容?
需求分析的任务:确定对系统的综合要求;分析系统的数据要求;导出系统的逻辑模型;修正系统开发计划。
需求分析得到的结果是通过需求分析得到的除了分析模型之外,还应该写出软件需求规格说明书,它是需求分析阶段得出的最主要的文档。
2、软件需求通常包括哪些方面?各类需求一般包含内容有哪些?
功能需求;
性能需求;
可靠性和可用性需求;
出错处理需求;
接口需求;
逆向需求;
将来可能提出的要求。
3、追加的主要描述工具的概念和使用:
E-R图:什么是,成份和基本符号,描述什么模型;
状态转换图:什么是,描述什么模型。
ER图,即实体--联系图,是表示数据对象及其之间关系的图形语言机制,是建立数据模型的图形工具。
ER图的基本成份和使用的符号 :
实体(即数据对象)----矩形框
关系----菱形框
属性----椭圆形或圆角矩形。
ER图:用来建立数据模型,ER模型使用简单的图形符号表达系统分析员对问题域的理解
状态转换图
状态转换图(简称为状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。此外,状态图还指明了作为特定事件的结果系统将做哪些动作。因此,利用状态转换图可以建立系统的行为模型。
状态转换图中的成份
状态时任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。在状态图中定义的状态主要有:初态、终态和中间状态
事件是在某个特定时刻发生的事情,它是对引起系统做动作或(和)从一个状态转换到另一个状态的外界事件的抽象,也就是引起系统做动作或(和)转换状态的控制信息。
(3)状态转换
从一个状态到另一个状态,变迁的方向。
状态转换图中使用的符号
在状态图中,初态用实心圆表示,终态用一对同心圆表示。
中间状态用圆角矩形表示,可以用两条水平横线把它分成上、中、下三个部分。上面部分为状态的名称,必须有的;中间部分为状态变量的名字和值,可选,下部分是活动表,可选。
两个状态之间带箭头的连线称为状态转换。
4、在结构化分析中,建模的核心是什么?3种模型分别是什么,分别用什么工具来描述?
模型的核心是数据字典,它描述了所有的在目标系统中使用的和生成的数据对象。
(1)、数据模型,用实体-联系图描述;
(2)、功能模型,用数据流图描述;
(3)、行为模型,用状态转换图描述。
题目1、需求分析的任务是什么,结果是什么。P55
1.确定对系统的综合要求;2.分析系统的数据要求;3.导出系统的逻辑模型;4.修正系统开发计划。
题目2、软件需求规格说明的内容,举例说明。
软件需求规格说明书是需求分析阶段得出的最主要的文档,描述了系统的数据要求、功能需求、性能需求、可靠性和可用性要求、出错处理需求、接口需求、约束、逆向需求以及将来可能提出的要求。
题目3、 数据流图,ER图,程序流程图,系统流程图什么时候产生,作用是什么?
数据流图:描绘数据在软件中流动和被处理的逻辑过程;
ER图:用来建立数据模型;
程序流程图:是进行流程程序分析过程中最基本的工具;
系统流程图:系统流程图是概括地描绘物理系统的传统工具。
题目4、数据字典和数据流图的关系。
数据流图和数据字典共同构成系统的逻辑模型。没有数据字典,数据流图就不严格,然而没有数据流图,数据字典也难于发挥作用。只有数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。
题目5、为什么要进行需求分析?通常对软件系统有哪些需求?
通过需求分析,明确用户对目标软件系统在功能、性能、行为、设计约束等方面的期望,回答软件系统“必须做什么”。
通常对软件系统的需求是以下几方面的综合:
(1) 功能需求;
(2) 性能需求;
(3) 可靠性和可用性需求;
(4) 出错处理需求;
(5) 接口需求;
(6) 约束;
(7) 逆向需求;
(8) 将来可能提出的要求。
题目6、怎样与用户有效的沟通以获取用户的真实需求?
(1) 初步需求获取,通过访谈与会议、问卷调查、观察用户工作流程等方法;
(2) 面向数据流,自顶向下求精
(3) 简易的应用规格说明
(4) 快速建立软件原型
题目7、复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告,等待维修人员来排除故障,故障排除后回到闲置状态。
请用状态转换图描绘复印机的行为。
从问题陈述可知,复印机的状态主要有“闲置”、“复印”、“缺纸”和“卡纸”。引起状态转换的事件主要是“复印命令”、“完成复印命令”、“发现缺纸”、“装满纸”、“发生卡纸故障”和“排除了卡纸故障”。状态转换图如下:
除了文章中有特别说明,均为IT宅原创文章,转载请以链接形式注明出处。
本文链接:
指弹吉他 && 技术
软件开发与管理的相关文章您当前所在位置:
> 微信语音如何切换听筒模式?听筒模式切换教程
微信语音如何切换听筒模式?听筒模式切换教程
第九软件网
今日浏览:|
经常使用微信听语音,隔远了变为免提模式,凑近了变为听筒模式。一般免提扬声器模式会非常大声,有时候让人比较尴尬。那么我们来设置一下将微信语音播放切换为听筒模式。
经常使用听语音,隔远了变为免提模式,凑近了变为听筒模式。一般免提扬声器模式会非常大声,有时候让人比较尴尬。那么我们来设置一下将微信语音播放切换为听筒模式。
微信听筒模式切换教程
1.进入微信界面,点击右上角&菜单&按钮,在弹出的菜单中点击&设置&,在设置中点击进入&通用&。
2.在&通用&设置界面第一项&聊天设置&里我们可以找找&使用听筒播放语音&,我们将灰色按钮拨动为绿色启动按钮。这样以后听微信语音就可以使用听筒模式了。
如果你喜欢使用免提扬声器模式可以用以上同样的方法设置回来哦。
转载请注明出处:第九软件网
相关软件下载:
软件名称:微信5.2
大小:25.13MB版本:5.2 类别:即时聊天
语言:中文使用平台:Android
关键词标签:
延伸相关阅读:
让你上网更有快感的浏览器
uc浏览器是优视科技基于手机等移动终端平台而研发的一款www wap网...经验128 米
在线时间6 小时
版本JHACNBD16.0
积分 137, 距离下一级还需 63 积分
积分 137, 距离下一级还需 63 积分
机型红米手机1/1S
MIUI版本JHACNBD16.0
本帖最后由 nightycd 于
10:19 编辑
如此明显、低级的BUG,居然在MIUI-15里也明晃晃的还在,看来我这帖子还能都火一阵子了
应用下载地址(说明见下文及2楼):
(229.05 KB, 下载次数: 13384)
12:52 上传
点击文件名下载附件
下载积分: 经验 -1 米
回复里看到有人把分加给了回复贴,还一次加了2分。。。。。。我想说,能把分加给我么?
老婆的红米1手机最近通过机子自带的系统升级升级成了MIUI-13版的系统。
在原本大容量存储USB模式下,下拉通知栏里原本是有一个“作为USB存储设备使用”的标签的,如下图,点这个可以切换USB作为什么存储设备连接到电脑上的。
MI_259.png (106.52 KB, 下载次数: 105)
而升级后,遇到了一个愚蠢的问题,手机连接电脑时的模式被改成了MTP模式,而电脑是XP系统又认不出红米的MTP驱动。
更愚蠢的是,现在那个切换USB模式的按钮没了。。。
MI_647.png (157.6 KB, 下载次数: 82)
最最愚蠢的是,这个设置菜单在“设置”里也没有,原先在“设置-&存储”里的“USB默认设置”选项也没了。。。
也就是说,如果你手闲,USB模式点了个MTP模式,恭喜你,以后就一直用这个模式吧,没得换了。
针对这个没来头的BUG,我做了一个超小的应用,唯一的功能就是点那个唯一的按钮,然后会进入USB模式切换页面,这样问题应该解决了。。。
补充一句,这个应用要在使用USB线连接电脑以后,通知栏出现USB标志了以后再启动,然后再按那个按钮才有用的,没使用电脑连接手机USB时,按那个按钮没用。。。
有必要这么麻烦么,xp是有办法认出红米的mtp的。&
已有&74&人评分
MIUI 因你更精彩!
我也觉得你说的很对
精品文章^_^
真的能用,赞一个
助人为乐^_^
MIUI 因你更精彩!
助人为乐^_^
精品文章^_^
楼主太认真细致了,佩服佩服!.
精品文章^_^
MIUI 因你更精彩!
原创内容^_^
感谢分享^_^
MIUI 因你更精彩!
MIUI 因你更精彩!
原创内容^_^
精品文章^_^
MIUI 因你更精彩!
精品文章^_^
经验128 米
在线时间6 小时
版本JHACNBD16.0
积分 137, 距离下一级还需 63 积分
积分 137, 距离下一级还需 63 积分
机型红米手机1/1S
MIUI版本JHACNBD16.0
本帖最后由 nightycd 于
16:48 编辑
如此明显、低级的BUG,居然在MIUI-15里也明晃晃的还在,看来我这帖子还能都火一阵子了
先感谢版主帮我加了个隐藏 @Saporz,呵呵,这样回复一下多了N多啊,欣慰。再吐槽一下,居然不能自己加隐藏,还因此不能再次编辑自己的帖子了,只好在2楼来补充说明一下。
再解释一下,这个应用只是为了临时解决这个BUG做的,期待下次MIUI更新把这个100%重现的BUG改掉。
至于评价为什么不在XP上安装MTP驱动,这个我要说XP上安装MTP驱动很搞,当初我为了给Nexus连接电脑就搞了半夜,更何况红米的MTP驱动似乎还不是通用的,还得重新来过还不一定能出来,很烦人。
对应用的使用说明,本以为应用简单到没别的功能,应该不用说的,没想到好几个人说不能用或不会用,只好截图说明一下。
1.使用USB线将手机连接到电脑上,注意,这步一定先做,此时下拉通知栏里应该出现USB相关信息
Screenshot_-09-06-46.png (33.32 KB, 下载次数: 44)
2.启动应用,点击里面的“USB模式设定”
Screenshot_-09-06-57.png (91.14 KB, 下载次数: 95)
&&-----&&&& &
Screenshot_-09-07-02.png (15.35 KB, 下载次数: 73)
3.进入USB模式切换页面,好了,你可以在这里面切换了。注意,如果你第1步没做,这里点击“USB模式设定”肯定是没有任何反应的,必须先做第1步,这个是Android它自己的机制,我可没法改
调出这个界面就是这个小应用的最终目的和作用,你的MIUI上本来有什么就会显示什么。
后面有位兄弟贴出了电信版的界面,只有两个选项,这个我也没办法了,它本来就这么多我也没法子给增加出来,电信版的兄弟们,帮你们默哀了
Screenshot_-09-07-05.png (39.66 KB, 下载次数: 25)
& && && && &&&----》》电信版
143944xpnhpphfph6o666q.png.thumb.jpg (119.1 KB, 下载次数: 43)
经验128 米
在线时间6 小时
版本JHACNBD16.0
积分 137, 距离下一级还需 63 积分
积分 137, 距离下一级还需 63 积分
机型红米手机1/1S
MIUI版本JHACNBD16.0
楼下是电信版不能用的真正原因,电信版本来就只有俩选项
本帖最后由 nightycd 于
21:57 编辑
楼下是电信版不能用的真正原因,电信版本来就只有俩选项
在线时间2 小时
版本JHCCNBA15.0
积分 28, 距离下一级还需 22 积分
积分 28, 距离下一级还需 22 积分
机型红米手机1S WCDMA 3G版
MIUI版本JHCCNBA15.0
我刚刚用我的电信版试了下,没有USB存储设备跟,仅充电这2个选项,这BUG真心恶心
(120.58 KB, 下载次数: 21)
14:39 上传
经验128 米
在线时间6 小时
版本JHACNBD16.0
积分 137, 距离下一级还需 63 积分
积分 137, 距离下一级还需 63 积分
机型红米手机1/1S
MIUI版本JHACNBD16.0
我刚刚用我的电信版试了下,没有USB存储设备跟,仅充电这2个选项,这BUG真心恶心 ...
我的应用的功能就是调用出这个“USB计算机连接”的界面啊,看来电信版本来就没这个选项,那我可就没得办法了
经验254 米
在线时间32 小时
版本JHCCNBH45.0
积分 299, 距离下一级还需 201 积分
积分 299, 距离下一级还需 201 积分
机型红米手机1S WCDMA 3G版
MIUI版本JHCCNBH45.0
楼主,你代码掉了:
Intent intent = new Intent();
ComponentName comp = new ComponentName(&com.android.settings&, &com.android.settings.UsbSettings&);
intent.setComponent(comp);
intent.setAction(&android.intent.action.VIEW&);
startActivityForResult(intent, 0);
经验453 米
在线时间30 小时
版本JHACNBH26.0
积分 552, 距离下一级还需 1448 积分
积分 552, 距离下一级还需 1448 积分
机型红米手机 TD版
MIUI版本JHACNBH26.0
哥们你做的小软件啊,好屌,给跪了
经验1416 米
在线时间64 小时
版本JHBMIBH26.0
积分 1453, 距离下一级还需 547 积分
积分 1453, 距离下一级还需 547 积分
机型红米手机 WCDMA国际版
MIUI版本JHBMIBH26.0
感謝樓主分享,使大家操作上能更方便
经验128 米
在线时间6 小时
版本JHACNBD16.0
积分 137, 距离下一级还需 63 积分
积分 137, 距离下一级还需 63 积分
机型红米手机1/1S
MIUI版本JHACNBD16.0
本帖最后由 nightycd 于
21:20 编辑
@Saporz& &
版主给置个顶加个精么,翻了一下,似乎MIUI-13版里受这个问题困扰的人不少啊,我这个方法一不用Root,二不用开Boot.img,完全绿色安全,还完全原创,应该值得加精置顶啊
经验171 米
在线时间40 小时
版本JHCCNBH45.0
积分 246, 距离下一级还需 254 积分
积分 246, 距离下一级还需 254 积分
MIUI版本JHCCNBH45.0
貌似电信的红米不行,求其他测试
经验128 米
在线时间6 小时
版本JHACNBD16.0
积分 137, 距离下一级还需 63 积分
积分 137, 距离下一级还需 63 积分
机型红米手机1/1S
MIUI版本JHACNBD16.0
貌似电信的红米不行,求其他测试
你连接USB线了没?
这个应用要在使用USB线连接电脑以后,通知栏出现USB标志了以后再启动,然后再按那个按钮才有用的。
说起来我和我老婆的手机都是移动的,还真没法测试电信的。。。。。。
但是我只是调用了MIUI自己的USB设置页面,这个应该和电信还是移动的没关系的呀
经验2047 米
在线时间61 小时
版本JHACNAL5.0
积分 2726, 距离下一级还需 2274 积分
积分 2726, 距离下一级还需 2274 积分
机型红米手机 TD版
MIUI版本JHACNAL5.0
顶一个,。。。。。
经验503 米
在线时间77 小时
版本JHBTWBD16.0
积分 923, 距离下一级还需 1077 积分
积分 923, 距离下一级还需 1077 积分
机型红米手机1/1S
MIUI版本JHBTWBD16.0
造福各位机油, 值得嘉许
已关注微信
关注腾讯微博
已关注腾讯微博
关注新浪微博
已关注新浪微博
已关注极客秀微信
Copyright (C) 2014 MIUI 京ICP备号Word2013中兼容模式如何转换?
不知道大家发现没有,我们打开一份文档,最上方显示的是兼容模式,使用这个兼容模式,会自动禁用一些功能,以防止出现问题。但是,工作时需要用到这些功能,该怎么办呢?
①打开文档,我们看到文档是兼容模式。
②现在我们要进行转换,单击文件--信息--转换--兼容模式。
③出现一个Microsoft Word提示框,我们单击确定按钮。
④现在转换完成,可以看到现在的文档已经不是兼容模式了。
多谢各位,解决问题
最新视频教程
点击:19866&&&评论:0
点击:47628&&&评论:12
点击:33720&&&评论:9
点击:10465&&&评论:9
点击:40627&&&评论:103
点击:40558&&&评论:25
点击:958614&&&评论:208
点击:195387&&&评论:862222人阅读
32位x86系统,每个进程的空间是4GB,即地址0xxFFFFFFFF。为了高效调用,Windows会把操作系统的内核数据和代码映射的系统中所有进程的进程空间中。因此4GB空间被划分为两个区域:用户空间和系统空间,默认大小为各2GB。为了保护映射到进程空间的系统代码和数据,Windows提供了权限控制机制。也就是两种访问模式:用户模式和内核模式。处理器在硬件一级保证高优先级别的数据和代码不会被低优先级破坏。对x86处理器来说,没有任何寄存器表明处理器当前处于何种模式下,优先级知识代码或数据所在的内存段或页的一个属性。
模式切换的两种方式:软中断、快速系统调用指令。
1.INT 2E切换到内核模式CPU在把执行权交给KiSystemService函数前,需要做一些准备工作:(1)权限检查,即检查源和目标位置所在的代码段权限;(2)准备内核态使用的栈。所有线程在内核态执行时必须使用内核栈;
KiSystemService的流程(1)根据服务ID从SSDT中查找要调用的服务函数地址和参数;(2)将参数从用户态栈复制到该线程的内核栈中;(3)KiSystemService调用内核中正在的NtReadFile();(4)KiSystemService将操作结果复制回线程用户态栈;(5)通过IRET指令将执行权交回给NtDll.dll中的NtReadFile();
开销(1)CPU必须从内存中加载门描述符和段描述符,以便得到KiSystemService()的地址;(2)进行权限检查;系统调用使用的很频繁,如果能减少这些开销,是很有意义的。可以从两个方面来降低开销:(1)把系统服务的例程KiSystemService()的地址放到寄存器中;(2)避免权限检查,也就是使用特殊的指令让CPU省去那些对系统服务调用来说不需要的权限检查。奔腾II引入的SYSENTER/SYSEXIT就是为此设计的,AMD K7引入的是SYSCALL/SYSRETURN;
2.快速系统调用从WindoXp和Windows Service 2003开始,系统在启动过程中会通过CPUID指令检测CPU是否支持快速系统调用指令。如果支持这些指令,Windows会决定用新的方式进行系统调用,并做好如下准备工作:(1)在GDT中建立4个段描述符,分别用来描述供SYSENTER/SYSEXIT使用的CS和SS;(2)设置MSR寄存器,填充SYSENTER/SYSEXIT要跳转的地址等;(3)将一小段名为SystemCallStub的代码复制到ShareUserData内存区。该代码调用SYSENTER或SYSCALL进入内核态;
0:000& u ntdll!ntreadfilentdll!NtReadFile:7c92d9ce b8b7000000&&&&& mov&&&& eax,0B7h7c92d9d3 ba0003fe7f&&&&& mov&&&& edx,offset SharedUserData!SystemCallStub (7ffe0300)7c92d9d8 ff12&&&&&&&&&&& call&&& dword ptr [edx] 7c92d9da c22400&&&&&&&&& ret&&&& 24h7c92d9dd 90&&&&&&&&&&&&& nop
Win-XP-SP1时是call edx,Win-XP-SP2变成了call&&& dword ptr [edx],所以不能用u SharedUserData!SystemCallStub至于为什么要改变这个 call [EDX],我特地查了《Kernel-mode Payloads on Windows》(Uninformed, 2005)写在脚注里且红色标出。Due to the fact that SharedUserData contained executable instructions, it was thus necessary that the SharedUserData mapping had to be marked as executable. When Microsoft began work on some of the security enhancements included with XP SP2 and 2003 SP1, such as Data Execution Prevention (DEP), they presumably realized that leaving SharedUserData executable was largely unnecessary and that doing so left open the possibility for abuse. To address this, the fields in KUSER_SHARED_DATA were changed from sets of instructions to function pointers that resided within ntdll.dll.由于 SharedUserData 中包含了可执行指令,那么 SharedUserData 所在的页就会被映射成可执行代码段。当微软试图对 XP SP2 以及 2003 SP1 做一些安全性增强工作时(例如:数据执行保护 DEP),他们大概意识到让 SharedUserData (所在页面)变得可执行非常地多余,这留下了潜在的滥用可能性。为了解决这个问题,那个在 KUSER_SHARED_DATA 里的域由一组指令变成了指向 ntdll.dll 里指令的函数指针.引用自:
0:000& dd SharedUserData!SystemCallStub7ffee510 7c92e514 000007ffe00 007ffe00 00
0:000& u 7c92e510ntdll!KiFastSystemCall:7c92e510 8bd4&&&&&&&&&&& mov&&&& edx,esp7c92e512 0f34&&&&&&&&&&& sysenterntdll!KiFastSystemCallRet:7c92e514 c3&&&&&&&&&&&&& ret
kd& u nt!kifastcallentry l20nt!KiFastCallEntry:3000000&&&&& mov&&&& ecx,23ha30&&&&&&&&&&& push&&& 30hfa1&&&&&&&&&&& pop&&&& fsed9&&&&&&&&&&& mov&&&& ds,cxec1&&&&&&&&&&& mov&&&& es,cxb0d40f0dfff&&& mov&&&& ecx,dword ptr ds:[0FFDFF040h]b6104&&&&&&&&& mov&&&& esp,dword ptr [ecx+4]a23&&&&&&&&&&& push&&& 23h&&&&&&&&&&&&& push&&& edxc&&&&&&&&&&&&& pushfda02&&&&&&&&&&& push&&& 2c208&&&&&&&&& add&&&& edx,8d&&&&&&&&&&&&& popfdc240102&&&&& or&&&&& byte ptr [esp+1],2a1b&&&&&&&&&&& push&&& 1Bh ff350403dfff&&& push&&& dword ptr ds:[0FFDF0304h]&&&
我机器上u nt!kifastcallentry反汇编的结果跟《软件调试》书中给出的有点区别:(1)将ShareUserData内存区里SystemCallStub例程中ret指令的地址压栈的语句push ecx,变成了如下命令b0d40f0dfff&&& mov&&&& ecx,dword ptr ds:[0FFDFF040h]b6104&&&&&&&&& mov&&&& esp,dword ptr [ecx+4]a23&&&&&&&&&&& push&&& 23h&&&&&&&&&&&&& push&&& edxc&&&&&&&&&&&&& pushfd[0FFDF0304h]的值是7c92e514,即ShareUserData内存区里SystemCallStub例程中ret指令的地址。在进入nt!SystemService之前,该地址连同其他参数一起被压栈。用来指定SYSEXIT返回用户模式时的目标地址。
而INT 2E进行系统调用时不需要这样做,因为INT n指令会自动将中断发生时的CS和EIP压栈,当中断例程执行IRETD返回时,会将栈中保存的CS和EIP返回到合适的位置。
(2)进入nt!KiSystemService的语句《软件调试》书中给出的是在push ecx语句后接着就是nt!KiSystemService,但我机器上反汇编的结果去找不到。在网上查到一个比较详细的解释,如下://Get the KPCR-&SelfPcr pointer.804defa2 8b1d1cf0dfff&&& mov&&&& ebx,dword ptr ds:[0FFDFF01Ch]...//Get the KPCR-&PrcbData.CurrentThread pointer804defaa 8bb&&& mov&&&& esi,dword ptr [ebx+124h]...//This is rather complicated, but effectively does://&& EDI = &ETHREAD-&ServiceTable[ServiceTableToUse]//Since EAX is the call number, HIBYTE(EAX) will be the value that determines which service table is in use (since GUI calls use service indices in the form 1xxx, and non-GUI calls use the form 0xxx).& Then, it ANDs it with 0x30, which returns a multiple of 0x10 (on modern Windows, 0x00 or 0x10).& Incidentally, the service table structure is0x10 bytes long, from which we can say that this call either uses the Windows API service table (nt!KiServiceTable) or the Windows GUI API service table (win32k!W32pServiceTable).//Finally, this piece of code masks off the service table selector, leaving just the call number.804df000 8bf8&&&&&&&&&&& mov&&&& edi,eax804df002 c1ef08&&&&&&&&& shr&&&& edi,8804df005 83e730&&&&&&&&& and&&&& edi,30h804df008 8bcf&&&&&&&&&&& mov&&&& ecx,edi804df00a 03bee0000000&&& add&&&& edi,dword ptr [esi+0E0h]804df012 25ff0f0000&&&&& and&&&& eax,0FFFh...//This is where the actual system service is determined. It gets the array of function pointers (as above, KiServiceTable or W32pServiceTable), and then indexes into it based on the call number (which has been set above).804df04f 8b3f&&&&&&&&&&& mov&&&& edi,dword ptr [edi]804df051 8b1c87&&&&&&&&& mov&&&& ebx,dword ptr [edi+eax*4]...//And here's where the actual system service is called.804df069 ffd3&&&&&&&&&&& call&&& ebx摘自:
另外,该网页也提到KiSystemServiceis called when calling kernel-mode ZwXxx functions or when user-mode application executes "int 0x2e" instruction。
windbg的u命令可参考文档:《kd&u ntdll!zwopenprocess失败的解决》
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:128779次
积分:2919
积分:2919
排名:第4432名
原创:161篇
转载:69篇
评论:25条
(1)(6)(7)(10)(6)(12)(5)(18)(1)(1)(2)(3)(15)(10)(31)(21)(7)(9)(7)(58)

我要回帖

更多关于 模式切换5模 的文章

 

随机推荐