精华内容
下载资源
问答
  •    相信来看本博文的朋友,肯定是已经玩过linux好段时间了,才能深刻理解我此番话语。... 这是windows下的用户接口  就是它,explorer.ext,可以去尝试。把这个进程,结束,最后得到的是 ...

     

     

      相信来看本博文的朋友,肯定是已经玩过linux好段时间了,才能深刻理解我此番话语。

     

      这是在Windows下的命令行接口

     

     

      这是windows下的用户接口

      就是它,explorer.ext,可以去尝试。把这个进程,结束,最后得到的是

    展开全文
  • 另外,OEM也保留WMI接口用于设置BIOS,同样,WMI接口也对用户透明。虽然OEM企图瞒天过海,但并不意味着我们无法获取WMI接口。本文基于ThinkPad T460P提出一种获得WMI接口的方式。另外,据了解,WMI接口可能存在安全...

        Bios由于需要保证运行时的透明性,它只向提供该BIOS的OEM厂商开放部分接口。用户只能通过OEM提供的App/Driver读取和设置OEM Bios。另外,OEM也保留WMI接口用于设置BIOS,同样,WMI接口也对用户透明。虽然OEM企图瞒天过海,但并不意味着我们无法获取WMI接口。本文基于ThinkPad T460P提出一种获得WMI接口的方式。另外,据了解,WMI接口可能存在安全风险,所以,这可能给渗透测试者提供了新的利用BIOS方式。

        Bios\Windows通过WMI相互通信需要借助MOF(经过编译后为BMF)文件,MOF描述了BIOS导出的WMI接口名字。按Windows Instrumentation: WMI and ACPI的描述,MOF可能存在于2处:

    a.由HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WmiAcpi的MofImagePath指定;不过我在ThinkPad和某OEM的机器上没有找到这样的设定,所以这种方式不做讨论。

    b.作为Buffer资源,将MOF资源嵌入到ACPI命名空间下;ThinkPad和某OEM都是用这种方式实现,当然这也是本文的切入点。

    读到这,你可能想到用RW获得这个ACPI对象,但是联想好像特意做了驱动,不让用户读取ACPI相关内存,如下图:

    但是历史规律告诉我们:真正的隔壁老王是堵不住!虽然Windows下看不到ACPI,但是,我可以U盘进入Ubuntu用pm-tools系列工具获得需要的ACPI对象:

    #acpidump > acpi.out ; dump所有的ACPI表,生成ASCII文件
    #acpixtract -a acpi.out ; 将acpidump输出的ASCII文件转化为二进制.dat文件(文件中包含AML机器码)
    #iasl -d *.dat ;反编译.dat文件(AML),生成.dsl文件(文件中包含可读的ASL源码)

    下图是进过上述步骤,ThinkPad 460P的ACPI源码文件(ASL source code):

    如《Windows Instrumentation: WMI and ACPI》所述,BIOS在ASL source code中需要向WMI mapper声明设备:PNP0c14和_WDG对象。另外,OEM厂商或者IBV会在声明_WDG对象时,顺带声明嵌入式MOF对象。ACPI spec没有规定嵌入式MOF对象的名字,所以各家OEM会有不同的对象名。但是这并不是问题,它是有迹可循的:

    a.嵌入式MOF对象位于_WDG对象附近,并且具有形如"Name (WQxy, Buffer()){"的ACPI对象定义(定义一个包含MOF资源的Buffer,并将该Buffer命名为WQxy。前缀WQ代表这是WMI查询接口,xy是2个16进制数值,用于标识WMI查询接口);

    b.最重要的,该ACPI对象定义中包含了大量的16进制Byte,并且开头4Byte是一个魔术字:FOMB,如下:

                Name (WQBA, Buffer (0x089D)
                {
                    /* 0000 */  0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,  // FOMB....

     

    现在离获得BIOS提供的WMI接口还有一步之遥,在继续之前,需要交代一下MOF描述文件生成MOF资源的过程。

    #摘自:[原创]BIOS知识点滴Follow Bini系列之---WMI ACPI, 作者:bini
    #http://www.ufoit.com/thread-420-1-1.html
    #demowmi.mof
    
    [WMI,
    Dynamic,
    Provider("WmiProv"),
    Locale("MS\\0x409"),
    Description("Events"),
    guid("{39142400-C6A3-40fa-BADB-8A2652834100}")
    ]
    class DemoWMIData
    {
        [key, read]
         string InstanceName;
        [read] boolean Active;
    
        [WmiDataId(1),
         read, write,
         Description("description")
        ] uint32 Data;
    };

    上面是一个MOF描述文件,经过mofcomp编译生成二进制MOF资源文件。OEM提取MOF资源文件中的字节流,嵌入到ACPI命名对象中。另外,DDK工具集中还提供wmimofck工具,以MOF资源文件为输入,生成MOF所描述的WMI接口的测试脚本。下面两行命令将依次生成bmf文件(即MOF资源文件)和vbs测试脚本:

    mofcomp -B:demowmi.bmf demowmi.mof
    wmimofck -tdemowmi.vbs demowmi.bmf

    VBS脚本中高亮处就是BIOS通过MOF导出的WMI接口。通过这段插曲,我是想说只要有MOF资源文件,就有机会解析出其中的WMI接口。另外,我们又知道ACPI表中包含MOF资源文件,所以剩下的事就是生成MOF资源文件和WMI测试脚本。剩下的篇幅我来谈谈怎么生成MOF资源文件。

    1.将MOF资源中的字节流转换到二进制文件中。我们看到的是保存在ASL source code中的字符串,需要进过一系列转换才能被wmimofck当做MOF资源文件读取,转换过程其实和编写shellcode相似。

    a.用notepad++对字符串进行文本处理(如按住Alt选取要删除的列),左图是ASL source code,右图是转换后的Opcode:

     --> 

    b.为Opcode定义字符串数组,并生成可执行程序:

    unsigned char arry[] = {"\x46\x4F\x4D\x42\x01\x00\x00\x00\
    \x28\x05\x00\x00\xAE\x18\x00\x00\
    \x44\x53\x00\x01\x1A\x7D\xDA\x54\
    ...
    \x40\x2C\x27\x88\x80\xFC\xFF\x07"};
    
    unsigned char arryEnd[] = {"\xaa\x55\xaa\x55"};
    
    int main()
    {
        printf("%s", arry);
        return 0;
    }

    c.IDA加载生成的可执行程序,搜索并导出数组arry:

    选中arry后,Edit--Export data--勾选raw bytes--Export,导出后的文件即可作为MOF资源文件。

    有了bmf文件,我们就可以用wmimofck生成vbs脚本,最后来看下ThinkPad T460P的WMI接口:

    On Error Resume Next
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set a = fso.CreateTextFile("lenvon.log", True)
    Set Service = GetObject("winmgmts:{impersonationLevel=impersonate}!root/wmi")
    Rem Lenovo_PreloadLanguage - Preload Language
    Set enumSet = Service.InstancesOf ("Lenovo_PreloadLanguage")
    a.WriteLine("Lenovo_PreloadLanguage")
    for each instance in enumSet
        a.WriteLine("    InstanceName=" & instance.InstanceName)
        a.WriteLine("        instance.CurrentSetting=" & instance.CurrentSetting)
    next 'instance
    
    Rem Lenovo_SetPreloadLanguage - Set Preload Language
    Set enumSet = Service.InstancesOf ("Lenovo_SetPreloadLanguage")
    a.WriteLine("Lenovo_SetPreloadLanguage")
    for each instance in enumSet
        a.WriteLine("    InstanceName=" & instance.InstanceName)
    next 'instance
    
    Rem Lenovo_PlatformSetting - Platform Setting
    Set enumSet = Service.InstancesOf ("Lenovo_PlatformSetting")
    a.WriteLine("Lenovo_PlatformSetting")
    for each instance in enumSet
        a.WriteLine("    InstanceName=" & instance.InstanceName)
        a.WriteLine("        instance.CurrentSetting=" & instance.CurrentSetting)
    next 'instance
    
    Rem Lenovo_SetPlatformSetting - Set Platform Setting
    Set enumSet = Service.InstancesOf ("Lenovo_SetPlatformSetting")
    a.WriteLine("Lenovo_SetPlatformSetting")
    for each instance in enumSet
        a.WriteLine("    InstanceName=" & instance.InstanceName)
    next 'instance
    
    a.Close
    Wscript.Echo "lenvon Test Completed, see lenvon.log for details"

    我们可以以管理员运行WMICodeCreator.exe,来验证和执行这些WMI接口:Namespace选择root\WMI,Classes可以选择Lenovo_PlatformSetting\Lenovo_SetPlatformSetting等。

     参考:

    1.BIOS知识点滴Follow Bini系列之---WMI ACPI

    2.Windows Instrumentation: WMI and ACPI

    展开全文
  • windows API简介--用户接口(系列2) (转)[@more@]USER INTERFACE(用户接口程序) 用户接口用户接口函数可以应用软件创建和管理一个用户界面的功能.你可以通过这些函数来控制屏幕的显示输出...
    windows API简介--用户接口(系列2) (转)[@more@]

    USER INTERFACE(用户接口程序)

     

    用户接口:
    用户接口函数可以应用软件创建和管理一个用户界面的功能.
    你可以通过这些函数来控制屏幕的显示输出,提示软件用户输入
    数据,还可以调用其它程序来用及时的交互响应用户的要求。
    现在大多数的应用程序已经不单单是单个窗口作业了。

    应用软件通过窗口类和相应的处理程序定义了它们一些基本
    的行为和外观.窗口类确定了一些默认的窗口性质诸如:鼠标
    的点击,菜单的响应等等.而一些相应的处理程序代码则是来响
    应程序的窗口行为,调用外部请求作业,和处理用户的输入等。


    应用程序通过使用api中的GDI(图形设备接口)功能函数在屏幕中
    输出信息,因为所有的窗口共用一个显示屏幕,应用程序不可
    能拥用整个屏幕的access(控制权).系统只能将要所有要显示输
    出的列队显示在相应的窗口中。应用程序在得到处理消息时可以
    在窗口中作出相应的输出,当窗口的位置,大小发生改变时,系
    统会向应用程序发出消息,从而重新刷新或是重置应用程序的窗
    口。

    应用程序以消息的形式来接收鼠标和键盘的事件,操作系统
    鼠标的移动,点击和键盘的按键转换成相应的消息送到应用程
    序的消息队列中去。(系统会给每个应用程序提供一个队列来
    存放这些消息).然后,应用程序再调用相应的消息处理函数来
    从消息队列中提取出这些消息,并将它们分派到相应的windows
    处理程序中。

    应用程序可以直接处理鼠标和键盘的消息或是让系统通过菜单
    快捷键列表来将它放到低级命令中。你可以通过菜单显示一
    列命令给用户,通过用户的选择系统作出相应的行为。快捷键
    表则是将按键消息与按键一一对应起来,通过它可以和相应的
    菜单选择产生同样的消息。

    应用程序经常会用对话框的形式来提示用户输入一些附加的住
    处,一个对话框可以算作是显示信息或提示输入的一个临时的
    窗口,它其中包括的一些常见控件有:按扭(buttons),以及接
    收用户输入的文本输入框(Edit text),下拉框(combo box),
    滚动条...等等。对话框通过处理这些控件的输入,并转化成
    用用的消息送给应用程序,帮助应用程序完成一些命令。

    你还可以通过加入一些数据"resources"文件或是一些DLL(动
    态链接库文件)来共享一些有用的资源,如位图,图标,字体
    和字符串等,应用程序通过资源函数来将这些有用的资源调
    入并放到内存中去。

    用户接口中还有一些其它的Windows功能函数,通过它们,你
    可以对符号,剪贴板,光标,钩子,图标,菜单等等Windows
    对象进行方便的设置与使用。

    (2,未完)


    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-993093/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/10752043/viewspace-993093/

    展开全文
  • Windows:图形化用户界面 Unix、Linux:独立的环境。 转载于:https://www.cnblogs.com/luo841997665/p/4662539.html

    Windows:图形化用户界面

    Unix、Linux:独立的环境。

    转载于:https://www.cnblogs.com/luo841997665/p/4662539.html

    展开全文
  • Windows图形设备接口Windows绘图

    千次阅读 2017-05-10 15:54:49
    Windows图形设备及接口(GDI)是为与设备无关的图形设计的。设备无关 所谓设备的无关性,就是操作系统屏蔽了硬件设备的差异。因而设备无关性能够使用户编程时候,不必要考虑特殊的硬件设置。 比如说,你打印一个文档...
  • 一、使用命令行接口 在所有的操作系统中都支持SQL*Plus命令行接口。...更多信息,可参考Oracle9i Net Services Administrator's Guide 和Oracle9i Database Administrator's Guide for Windows。 ...
  • delphi Windows服务器UAC用户账户控制CPU等参数获取及接口TGUID 备忘查询路径:D:\PulledupO2O\WinPro\WinUtilsTests unit Main; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System...
  • windows API简介--用户接口(系列2)

    千次阅读 2003-02-13 10:01:00
    USER INTERFACE(用户接口程序) 用户接口用户接口函数可以应用软件创建和管理一个用户界面的功能.你可以通过这些函数来控制屏幕的显示输出,提示软件用户输入数据,还可以调用其它程序来用及时的交互响应用户的要求...
  • Windows图形设备接口(GDI)是为与设备无关的图形设计的。所谓设备的无关性,就是操作系统屏蔽了硬件设备的差异,因而设备无关性能使用户编程时无需考虑特殊的硬件设置
  • 图形设备接口是为设备无关的图形设计的。 负责系统与用户或绘图程序之间的信息交换,并控制在输出设备上显示图形或文字。 设备描述表 设备环境的属性的集合 是应用程序与输出设备之间的桥梁 应用程序通过设备...
  • Windows Interface Guide (Windows 接口指南) A description of the Phar Lap WinPipe Application Program Interface (API) and a tutorial on using this API to build a Windows 3.1 graphical user interface ...
  • AIX图形用户接口

    2020-06-17 09:30:28
    小结 AIXwindows 是AIX的视窗系统,它包括了X Windows,Motif, ...CDE为用户桌面环境提供了一个公用用户界面 习题 1、如何停止X server允许所有其他主机的连接? xhost - 2、如何启动X Windows环境? startx 3、如何将本
  • Windows操作系统通过两种接口对外提供服务:普通用户操作接口服务和程序员接口服务。其中用户操作接口服务是通过最终用户的操作来完成的,而程序员接口服务是提供一系列底层的实现操作系统最基本的函数(接口)供程
  • 设计任务: (1) 为Windows操作系统建立兼容的DOS命令接口,文件与目录命令 (2) 具体命令:DIR,RD,CD,MD,DEL,MOVE,REN,XCOPY,命令格式可参考Windows的CMD.EXE或MS-DOS提供的命令格式 (3) 设计命令的名称,...
  • Windows DPAPI 数据加密保护接口详解

    千次阅读 2018-03-13 21:31:13
    1 什么是DPAPI DPAPI是Windows系统级对数据进行加解密的一种接口,无需自实现加解密代码,微软已经提供了经过验证的高质量加解密算法,提供了用户态的接口,对密钥的推导,存储,数据加解密实现透明,并提供较高的...
  • Windows图形设备接口(GDI) 图形设备接口(GDI)是为与设备无关的图形设计的。 设备:一般指打印机,绘图仪等输出设备。 win系统提供了应用程序与具体设备分离的功能,由os将应用程序的图形输入转变为设备的输出。GUI...
  • Windows下的接口调用方法设备驱动方法和 COM?程技术 信息学院微机原理与接口技术 自主学习报告 报告名称 :Windows 下的接口调用方法 设备驱动方 法和COM?程技术姓名 学号: 专业 班级 时间2010 年6月 15日星期二 摘要...
  • 图形设备接口(GDI)是...GDI负责Windows的所有图形输出,包括屏幕上输出像素、在打印机上输出硬拷贝以及绘制Windows用户界面。 应用程序可以使用GDI创建三种类型的图形输出:矢量输出、光栅图形输出和文本输出。 ...
  • windows下磁盘相关接口调用实例 1、windows下获取磁盘空间接口调用实例 //windows下获取磁盘空间接口调用 void GetDiskSpaceTest(void) { /* qwFreeBytesToCaller:表示用户可用的剩余空间 qwTotalBytes:表示...
  • 转载:nosec 作者:iso60001近期,微软公开了Windows图形设备接口(Graphics Device Interface)中的远程代码执行(RCE)漏洞。0patch平台(着重打造微软平台补丁,有时比官方还快)已针对Windows 7和Server 2008 R2平台的...
  • 二代身份证接口添加了身份鉴权操作,只有当鉴权通过的用户才可以使用公司提供的解码服务器进行身份证解码。 护照及EID功能开通需要单独申请。 可兼容目前市场大多数读卡器。 用本SDK读证件需要配套我公司专用证件...
  • Web管理接口(Web Management Interface)在Windows Server 2003中是一项非常值得网络用户使用的功能,这项功能主要的目的就是为了向一些有权限的网络用户在无法进行本机维护时,提供远程的Web...
  • Windows 8 桌面还是作为 Windows 应用商店的应用,所用的接口都一样吗
  • 第2部分(第4章~第17章)按照程序设计的各个方面进行划分,包括文件系统、内存管理、进程与线程、用户界面、sheII程序开发、WindowsGDI、Socket网络通信驱动程序开发、安全机制等内容;第3部分(第18章)作为全书的总结...
  • 用户接口设计一 设备驱动

    千次阅读 2013-01-02 17:26:44
     许多用户接口程序员通常以他们所使用的图形环境作为范例,譬如Microsoft Windows ,X,或者MS-DOS中的众多图形包的一个。这些工具包通常提供有一个主事件循环,由应用程序员去填充不同的回调函数。对应用程序员而...
  • Windows的图形引擎也是在Windows子系统中提供的,它有两方面特点:首先,它提供了一套与设备无关的编程接口,即GDI,这使得应用程序可以适应各种底层显示设备的差异;其次,应用程序与图形设备驱动之间的通信足够...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,225
精华内容 1,690
关键字:

windows用户接口