-
公开(公告)号:CN114144764A
公开(公告)日:2022-03-04
申请号:CN202080037709.2
申请日:2020-04-10
Applicant: 微软技术许可有限责任公司
Abstract: 使用调用栈和影子栈来执行程序。调用栈包括具有各自的返回地址的帧。这些帧还可以存储变量和/或参数。影子栈存储调用栈中的返回地址的副本。调用栈和影子栈通过以下方式来维护:(i)每当调用函数时,向调用栈添加相应的栈帧,并向影子栈添加相应的返回地址,以及(ii)每当退出函数时,从调用栈移除相应的帧,并从影子栈移除相应的返回地址。通过访问影子栈中的返回地址,生成程序当前调用链的回溯跟踪。输出的回溯跟踪包括来自影子栈的返回地址和/或关于从影子栈的返回地址导出的被跟踪函数的信息。
-
公开(公告)号:CN106535694A
公开(公告)日:2017-03-22
申请号:CN201580039898.6
申请日:2015-07-20
Applicant: 微软技术许可有限责任公司
IPC: A44C5/20
CPC classification number: A44C5/2071 , A44B11/2584 , A44C5/0015 , A44C5/2052
Abstract: 带扣(101)包括在带(102)的第一端(105)处的棘齿组件(104),该棘齿组件(104)包括具有定义沿着第一端(105)的长度(210)延伸的孔(204)的边框(206)的平板(208),该棘齿组件(104)进一步包括在平板(208)下方沿着第一端(105)的长度(210)延伸的轨道(302),该轨道(302)具有第一侧(304)和第二侧(306),第一侧(304)包括第一多个齿(308),第一个多个齿(308)与第二侧包括置于带(102)的与第一端(105)相对的第二端(107)处的棘爪组装件(106),该棘爪组装件(106)包括具有朝外偏斜的相对的棘爪(108),该相对的棘爪(108)被配置来通过孔204)啮合边框(206)和轨道(302)的相对的齿(308,310),以将带(102)的第一端(105)紧固到带(102)的第二端(107)。(306)的第二多个齿(310)相对。该带扣(101)还
-
公开(公告)号:CN113424149B
公开(公告)日:2025-04-04
申请号:CN201980088224.3
申请日:2019-12-31
Applicant: 微软技术许可有限责任公司
Inventor: J·林 , G·J·科隆博 , M·埃伊根 , Y·巴克 , C·P·克利恩汉斯 , S·L-E·赫夫纳格尔 , M·埃伯索尔 , A·S·卡拉德米尔 , S·M·登鲍 , K·布劳斯 , 刘文嘉
Abstract: 跨虚拟机边界传送低时延事件。基于在第一虚拟机处运行的第一进程的事件信令请求,第一虚拟机更新由第二虚拟机可访问的共享寄存器。更新共享寄存器包括更新被存储在共享寄存器中的信号。第一虚拟机通过虚拟化结构向第二虚拟机发送包括寄存器标识符的事件信号消息。第二虚拟机接收事件信令消息,并且从消息标识寄存器标识符。基于寄存器标识符,第二虚拟机读取共享寄存器,标识被存储在共享寄存器中的信号的值。至少基于信号的值包括第一值,第二虚拟机用信号通知在第二虚拟机处运行的第二进程。
-
公开(公告)号:CN115335806A
公开(公告)日:2022-11-11
申请号:CN202180024209.X
申请日:2021-01-28
Applicant: 微软技术许可有限责任公司
Abstract: 以模块粒度而不是线程或进程粒度实施影子堆栈违规。在基于调用外部模块的应用二进制的代码的线程的执行期间处理异常,该应用二进制被启用以用于影子堆栈强制。该异常是由于从线程的调用堆栈弹出的返回地址与从线程的影子堆栈弹出的返回地址之间的不匹配引起的。处理异常包括:确定异常是由外部模块中的指令的执行引起的,以及确定外部模块是否被启用以用于影子堆栈强制。至少基于这些确定,在外部模块被启用以用于影子堆栈强制时,线程的执行被终止,或者当外部模块未被启用以用于影子堆栈强制时,线程被允许继续执行。
-
公开(公告)号:CN117501244A
公开(公告)日:2024-02-02
申请号:CN202280042717.5
申请日:2022-05-12
Applicant: 微软技术许可有限责任公司
IPC: G06F9/48
Abstract: 执行针对线程在审计模式下的影子堆栈功能包括:在处理器处发起线程的执行。线程的执行包括:发起应用二进制文件的可执行代码的执行作为线程的一部分,以及在审计模式下,启用针对线程的影子堆栈功能。至少基于在审计模式下执行线程,影子堆栈的至少一部分被启用为循环堆栈。响应于确定影子堆栈的使用量已经达到所限定的阈值,影子堆栈的一个或多个当前被使用的条目被覆写,从而防止影子堆栈溢出。
-
公开(公告)号:CN116569166A
公开(公告)日:2023-08-08
申请号:CN202180067023.2
申请日:2021-06-14
Applicant: 微软技术许可有限责任公司
IPC: G06F21/52
Abstract: 能够通过利用包含在影子堆栈,诸如为防止恶意软件和计算机安全而实现的硬件保护的副本堆栈,中的信息来生成已验证堆栈跟踪。影子堆栈包含返回地址,其无需展开传统调用堆栈即可获得。这样,基于返回地址信息的分类能够更快速和更有效地执行,并且伴随地减少了处理资源的利用。此外,可以执行已验证堆栈跟踪的生成,这样的已验证堆栈跟踪包含已知正确且未损坏的返回地址。返回地址可以从传统调用堆栈中读取,或者从中导出,然后通过与来自影子堆栈的对应的返回地址相比较被验证,或者可以直接从影子堆栈中读取。
-
公开(公告)号:CN115362433A
公开(公告)日:2022-11-18
申请号:CN202180024177.3
申请日:2021-01-31
Applicant: 微软技术许可有限责任公司
Abstract: 对动态代码实施影子堆栈违规。线程在处理器处被执行,其包括生成用于由线程执行的动态代码的部分、标识动态代码的部分被加载到存储器中的存储器地址范围以及启动动态代码的部分执行。至少基于线程的执行来处理异常,该异常由从与线程对应的调用堆栈弹出的第一返回地址和从与线程对应的影子堆栈弹出的第二返回地址之间的不匹配所触发。处理异常包括(i)确定从影子堆栈弹出的第二返回地址是否在标识的地址范围内,以及(ii)基于已经确定第二返回地址在地址范围内,启动影子堆栈强制动作。
-
公开(公告)号:CN112042209B
公开(公告)日:2022-06-17
申请号:CN201980026144.5
申请日:2019-04-04
Applicant: 微软技术许可有限责任公司
IPC: H04R1/10
Abstract: 通用的可调节入耳式监听器(IEM)可能会遭受弹性耳塞的有限范围的困扰,这些弹性耳塞可能无法充分适配每个用户,并且用户可能出于不同目的而更喜欢不同的耳塞(例如,当锻炼时用户对稳固适配度的兴趣可能更高,而在用户放松时对舒适的兴趣可能更高)。当前所公开的技术针对允许用户进行调节而无需移除和更换相关联的耳塞的IEM。相反,耳塞可由用户调节以实现期望的适配,并且可针对不同的期望的适配和/或不同的用户被重复地调节。
-
公开(公告)号:CN113424149A
公开(公告)日:2021-09-21
申请号:CN201980088224.3
申请日:2019-12-31
Applicant: 微软技术许可有限责任公司
Inventor: J·林 , G·J·科隆博 , M·埃伊根 , Y·巴克 , C·P·克利恩汉斯 , S·L-E·赫夫纳格尔 , M·埃伯索尔 , A·S·卡拉德米尔 , S·M·登鲍 , K·布劳斯 , 刘文嘉
Abstract: 跨虚拟机边界传送低时延事件。基于在第一虚拟机处运行的第一进程的事件信令请求,第一虚拟机更新由第二虚拟机可访问的共享寄存器。更新共享寄存器包括更新被存储在共享寄存器中的信号。第一虚拟机通过虚拟化结构向第二虚拟机发送包括寄存器标识符的事件信号消息。第二虚拟机接收事件信令消息,并且从消息标识寄存器标识符。基于寄存器标识符,第二虚拟机读取共享寄存器,标识被存储在共享寄存器中的信号的值。至少基于信号的值包括第一值,第二虚拟机用信号通知在第二虚拟机处运行的第二进程。
-
公开(公告)号:CN112042209A
公开(公告)日:2020-12-04
申请号:CN201980026144.5
申请日:2019-04-04
Applicant: 微软技术许可有限责任公司
IPC: H04R1/10
Abstract: 通用的可调节入耳式监听器(IEM)可能会遭受弹性耳塞的有限范围的困扰,这些弹性耳塞可能无法充分适配每个用户,并且用户可能出于不同目的而更喜欢不同的耳塞(例如,当锻炼时用户对稳固适配度的兴趣可能更高,而在用户放松时对舒适的兴趣可能更高)。当前所公开的技术针对允许用户进行调节而无需移除和更换相关联的耳塞的IEM。相反,耳塞可由用户调节以实现期望的适配,并且可针对不同的期望的适配和/或不同的用户被重复地调节。
-
-
-
-
-
-
-
-
-