首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

11.反恶意软件扫描接口 (AMSI)

AmsiScanBuffer() AmsiScanString() 扫描内容缓冲区和字符串以查找恶意软件,也是对 API 及其传入参数进行分析,根据结果作评分以判断是否应该查杀。...其实不难理解,首先我们要知道我们恶意脚本是如何注入内存执行 bypass 杀毒软件我们脚本一定是模糊处理,但是无论我们什么样模糊处理到注入内存执行时候一定是纯净,清晰代码,不然脚本引擎无法理解和执行我们恶意脚本...我们可以调用powershell来执行我们恶意代码来更好理解Amsi AMSI一个简单测试是在PowerShell提示符–中键入AMSI旁路中常用字符串amsiutils。...6.杀毒软件拿到数据后判断宏是否为恶意。 6.如果行为是无恶意,那么宏可以执行。否则,关闭宏会话并发出响应警报和处理恶意文件。...AMSI对这些接口进行检测,可以捕获行为,并将所有相关信息(包括函数名称及其参数)记录在循环缓冲区中。

4.3K20

Excel编程周末速成班第26课:处理运行时错误

只要数组索引可能超出范围,在尝试给数组赋值或从数组中读取数据之前,使用LBound和UBound检查索引值。 总是验证用户输入数据。错误常见原因是用户输入不正确数据,例如在需要数字输入字符串。...提示:由于VBA过程内容彼此独立,因此可以在多个过程中为错误处理代码使用相同标签。...如果一个过程未启用错误捕获,则在执行过程中发生任何错误将传递给调用它过程。因此,如果Proc1调用Proc2,并且Proc2没有错误陷阱,则Proc2中错误将传递给Proc1并在那里进行处理。...每当执行退出过程,Err对象也会被清除。 延迟错误处理 另一种错误处理技术是延迟对错误处理。换句话说,VBA不会捕获错误,而是将其忽略。然后,你代码可以检查Err对象,以查看是否发生错误类型。...无法准确定义属于此类别的错误,严重错误必须在一个程序中捕获,而在另一个程序中可能会被接受。同样,程序员有责任熟悉可能发生错误,以及它们如何与特定程序相关联。

6.7K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    最完整VBA字符串知识介绍

    标签:VBA专题 引言:本文学习整理自functionx.com,可能是我见过最完整VBA字符串相关知识介绍,有兴趣朋友可以参阅。 字符串简介 字符串一个多个字符组合。...可以将其用作普通函数,也可以检索它返回值,并根据需要使用。...字符串左子字符串 如果有一个现有字符串,但希望使用字符串左侧字符中多个字符创建一个字符串,则可以使用Microsoft Excel LEFT函数或VBALeft函数。...图5 字符串右子字符串 要使用现有字符串右侧一个多个字符创建新字符串,调用MicrosoftExcelRIGHT函数或VBARight函数。...如果String1包含多个String2实例,则该函数将(仅)返回第一个实例位置,任何其他后续实例都将被忽略。如果要跳过第一个实例或希望解释器从左侧字符以外位置开始检查,使用第二个版本。

    2.7K20

    Python从入门到精通,这篇文章为你列出了25个关键技术点(附代码)

    如果你想在多个模块间共享一个全局变量,那么你需要创建一个共享模块文件。如 configuration.py,并在文件中找到你所需变量。最后导入共享模块。...PYTHONHOME 是一个用于搜索该路径模块。 如何导入模块 如果你有一个文件:MyFirstPythonFile 包含很多个函数,变量和对象,然后你可以将这些功能导入到其他类中,如下所示。 ?...可以通过如下方式创建一个字典。 ? 打印字典内容,如下所示。 ? 字典值可以是任意类型数据,包括字符串,数值,布尔型,列表甚至是字典,如下所示。 ?...__str__ 当调用 print ,返回一个对象字符串结果,如下所示。 ? 因此,当执行 print 语句,__str__ 将会被执行。...通过封装包/装一个类/函数,然后在调用函数执行特定代码。 此外,还可以通过实现通用逻辑来记录,进行安全检查等,然后使用 property 标记方法属性。

    2.9K20

    iOS os.log 模块

    如果不进行配置更改,则不会将它们移动到数据存储区,并在内存缓冲区填充清除它们。但是,当发生错误或错误时,它们会在数据存储中捕获。...debug 调试级别的消息只在通过配置更改启用调试日志记录在内存中捕获根据配置持久性设置清除它们。此级别记录消息包含在开发期间或排除特定问题可能有用信息。...但是,在macOS中调试,可以使用log命令行工具configargument在以root身份登录为子系统启用不同日志级别。参见清单5,它显示了如何为子系统启用调试级日志记录。...使用表示子系统标识符字符串(反向DNS表示法)命名文件。例如,com.your_company.your_subsystem_name.plist。接下来,将一个多个设置字典添加到文件顶层。...,并在子系统中配置了一个服务器连接类别来执行调试级日志记录。

    1.1K10

    绕过基于签名 AV

    我遇到过仅仅因为 Will Schroeder Twitter 句柄@harmj0y出现在 PowerShell 脚本中而发出警报 AV 产品。...请注意,这是一个超级笨拙黑客攻击,在尝试从远程计算机转储可能会导致问题。 编译源代码后,我使用 DefenderCheck 来查看二进制文件是否被检测为恶意。...dha.DefenderCheck 返回导致 Defender 在有效负载上发出警报字节十六进制转储,所以检测到它。在下面的屏幕截图中,我们可以看到检测发生在二进制文件中包含错误消息字符串中。...我有根据地猜测是mimikatz字符串存在导致了检测,所以我执行了搜索和替换以替换所有实例mimikatz并mimidogz重新编译二进制文件。这些类型字符串不再有问题!...以下是正在发生事情:一个库 (DLL) 可能会导出一个多个可供其他程序使用函数。

    1.5K40

    CTF取证方法大汇总,建议收藏!

    初始分析         在搜索文件中所有纯文本字符串要用到一些有用命令字符串,比如,grep是用来搜索特定字符串,bgrep是用来搜索非文本数据模式和hexdump。         ...这就是所谓二进制到文本编码。当对上述文件进行字符串分析,你可能会发现编码为文本字符串二进制数据。         ...Gimp还有助于确认是否真的是一个图像文件,例如,当你从内存转储或其他地方显示缓冲区恢复图像数据,但是缺少指定像素格式图像文件头,图像高度和宽度等,Gimp会将你数据作为原始图像数据打开,并尝试使用不同设置...但恶意VBA宏不会很复杂,因为VBA通常只是作为一个跳出平台来引导代码执行。         如果宏被模糊化并且具有解压缩程序,则不需要拥有Office许可证来进行调试。...你可以设置断点并创建观察变量,并在解压后捕获其值,但在执行任何有效负载行为之前,可以从命令行启动特定文档宏:         $ soffice path/to/test.docx macro://.

    3.2K31

    Cynet:全方位一体化安全防护工具

    1999年,布鲁斯·施奈尔曾说过:“复杂性是安全最大敌人。”彼时还是19年前,而现在,网络安全已然变得更加繁杂。 近日我在网上冲浪过程中发现了这么一个平台性质软件,看似具有相当强防护能力。...在该程序安装时会对漏洞管理和系统合规性提供一些建议,主要包括以下四个方面: 1.操作系统更新:Cynet会对已安装系统补丁做出检查并在系统需要下载、安装补丁发出提示,同时会对已安装补丁进行归纳,...2.未经授权应用程序:Cynet具备可自定义应用程序列表黑名单,如果发现任何未经授权应用,则会立即发出警报。 ?...这些功能能够对各类威胁都做出相应警报:恶意行为、勒索软件、横向提权、暴力破解、用户登陆异常、凭证盗窃等等,多个检测层存在确保了系统安全。...获取内存字符串/内存转储:收集作为进程运行文件内存字符串,以便分析识别内存中存在恶意操作。 移动文件:将被扫描文件从网络内移动到Cynet服务器,该选项为可选,类似于改进计划。 响应: ?

    92620

    QBot恶意软件深度解析

    近期在野捕获Office Word文档中发现QBot变体,但未发现其传播方式。本文将分析它在受害者机器上工作方式及其使用技术。...当由PowerShell启动不提供任何参数,它会转到非参数分支,该分支首先使用命令行参数“ /C”生成自身子进程。 ? “/C”功能用于检查它是否在分析环境中运行。...5、除上述方法外,它还通过调用ASM指令cpuid来检查CPU信息。 当它检测到QBot在分析设备中运行时不会立即退出,它会转到另一个代码分支,在其中执行一些无关操作。...主文件夹名称是随机生成,然后它将file1.exe复制到主文件夹中,并将其重命名为“ mavrihvu.exe”,文件名是根据受害者用户名生成。 ?...在此代码分支中,它将继续从当前进程中加载名为“307”资源,这是QBot核心模块。如果它检测到存在于分析设备中,“307”将解密失败,并不会发出错误警报

    1.7K30

    Oracle 自动故障诊断

    首次故障自动捕获诊断数据   对于严重错误,首次故障捕获错误信息能力大大增加了快速解决问题并减少停机时间机会。...当检测到问题,会生成警报并激活故障诊断基础架构以捕获和存储诊断数据。数据存储在数据库外部存储库中(因此数据库关闭可用),并且可以通过命令行实用程序和企业管理器轻松访问。...以及可以单独地健康检查如查找数据块损坏,撤消和重做损坏,数据字典损坏等。作为DBA,您可以定期或根据需要手动调用这些运行状况检查。...它有一个统一目录结构,可跨多个实例和多个产品,存储在任何数据库外部。因此,即使数据库关闭,已产生诊断文件可用于问题诊断。...一个永远在线内存中跟踪功能使数据库组件能够在第一捕获诊断数据首次出现严重错误。并将其相关信息存储到Automatic Diagnostic Repository。

    2K20

    吐血总结,Python Requests库使用指南

    在本教程中,你将学习如何: 使用常见HTTP方法发送请求 定制你请求头和数据,使用查询字符串和消息体 检查请求和响应数据 发送带身份验证请求 配置你请求来避免阻塞或减慢你应用程序 虽然我试图包含尽可能多信息来理解本文中包含功能和示例...你发出了你一个请求。接下来让我们更深入地了解该请求响应。 ---- 响应 Response 是检查请求结果强有力对象。...但是,当你发出GET请求,你很少只关心响应状态码。通常,你希望看到更多。接下来,你将看到如何查看服务器在响应正文中返回实际数据。...这些函数是你发出请求所发生事情抽象。为了你不必担心它们,它们隐藏了实现细节,例如如何管理连接。 在这些抽象之下是一个名为 Session 类。...你现在能够: 使用各种不同HTTP方法发出请求,例如GET,POST和PUT 通过修改请求头,身份验证,查询字符串和消息体来自定义你请求 检查发送到服务器数据以及服务器发回给你数据 使用SSL证书验证

    8.7K31

    听GPT 讲Alertmanager源代码--dispatchsilenceinhibit等

    route: 这是一个代表路由配置结构体。它包含了一组路由规则,这些规则定义了如何警报基于它们标签分组和路由到不同接收器。...NewRoutes是一个函数,根据给定参数创建一个Routes对象,该对象包含多个Route。 Match是一个方法,用于判断路由规则是否匹配给定Alert。...变量typeMap是一个字典,用于将字符串转换为对应匹配器类型。它作用是在解析标签字符串为每个标签匹配器识别正确类型。...timefs结构体表示一个基于时间设置文件系统,它继承了http.FileSystem接口,并在file元素上增加了ModTime字段。它作用是在文件打开提供文件修改时间。...Inhibitor结构体表示一个抑制器,用于检查和管理警报抑制规则。抑制器会根据抑制规则对接收到警报进行抑制处理。

    26610

    VBA: 正则表达式(10) -非捕获组(?:Expression)

    文章背景: 最近在看同事写VBA正则表达式,发现其中用到了非捕获组(?:Expression)。因此,本文对非捕获用法做了一些研究。...例如,正则表达式(foo)\d+会匹配以foo开头,后面跟着一个多个数字字符串。其中(foo)是一个捕获组,表示我们要匹配和提取是以foo开头部分。...这个正则表达式会匹配以foo开头,后面跟着一个多个数字字符串,但不会创建一个捕获组。在VBA中,我们无法访问或处理非捕获组。...代码运行结果: 3 非捕获应用场景 (1) 不需要保留分组内容 当你需要对正则表达式进行分组,但不需要在后续代码中访问或引用这些分组内容,非捕获组是一个选择。...(3) 避免混淆 在某些情况下,正则表达式中可能存在多个嵌套捕获组,如果你只关心其中一些组,而不想引入额外捕获组,可以使用非捕获组来避免混淆。

    45910

    带你认识 flask 后台作业

    下图展示了一个典型实现: ? Python中最流行任务类别是Celery。这是一个相当复杂重叠,它有很多选项并支持多个消息示例。...microblog-tasks如果您想启动多个worker来扩展量子,您只需要运行rq worker来生成更多连接到同一个模型进程,就可以使用Worker进程现在连接到了Redis,并在称为上面上查看可能分配给它任何作业...根本没有,current_app表达式会返回一个错误。 然后我开始考虑如何在这个函数运行时报告进度。另外通过job.meta字典传递进度信息之外,我还想将通知推送给客户端,刹车自动动态更新完成百分比。...只要使用app.logger,我也可以得到这些错误信息 接下来,我将编写实际起始代码,它只需发出一个数据库查询并在循环中遍历结果,随之而来累积在字典中: app / tasks.py:从数据库读取用户动态...在浏览Bootstrap组件选项,我决定在导航栏下方使用一个Alert组件。横条。我用蓝色警报框来渲染闪现消息。现在我要添加一个绿色警报框来显示任务进度。

    2.9K10

    27 个问题,告诉你Python为什么这么设计

    这不仅仅是由于缺少开始/结束括号 -- 缺少声明和高级数据类型也是其中原因 -- 但缩进基于语法肯定有帮助。 为什么简单算术运算得到奇怪结果? 请看下一个问题。 为什么浮点计算不准确?...一个是性能:知道字符串是不可变,意味着我们可以在创建为它分配空间,并且存储需求是固定不变。这也是元组和列表之间区别的原因之一。 另一个优点是,Python 中字符串被视为与数字一样“基本”。...join() 是字符串方法,因为在使用该方法,您告诉分隔符字符串去迭代一个字符串序列,并在相邻元素之间插入自身。此方法参数可以是任何遵循序列规则对象,包括您自己定义任何新类。...并采用了一些巧妙方法来提高重复添加项性能; 当数组必须增长,会分配一些额外空间,以便在接下来几次中不需要实际调整大小。 字典如何在CPython中实现?...hash代码根据键和每个进程种子而变化很大;例如,"Python" hash值为-539294296,而"python"(一个按位不同字符串)hash值为1142331976。

    6.7K11

    飞速搞定数据分析与处理-day2-Python入门

    字符串中包含变量,通常可以使用 f 字符串(f-string,格式化字符串字面量,formatted string literal 缩写)来处理。...In [33]: # 注意Python如何在一行中为多个变量赋予多个值 first_adjective, second_adjective = "free", "open source" f"Python...在字典前加上两个星号就可以进行解包。如果第二个字典包含第一个字典键,那么第一个字典中对应值会被覆盖。...我们会在第 11 章中看到,编写跨越多行 SQL 查询,文档字符串也很好用。 ➋ 所有的导入语句都应该放在文件顶部,一行一个导入。从标准库导入内容放在前面,然后是第三方包,最后是自己编写模块。...如果同时使用了优先级不同运算符,则应当考虑在优先级最低运算符前后添加空格 PEP 8和VS Code 在使用 VS Code ,确保代码严格遵循 PEP 8 最简单方法是使用代码检查器(linter

    20030

    【Python 入门第十七讲】异常处理

    IndexError:当索引超出列表、元组或其他序列类型范围,将引发此异常。KeyError:当在字典中找不到键,会引发此异常。...ValueError:当使用无效参数或输入调用函数或方法,例如,当字符串不表示有效整数,尝试将字符串转换为整数,则会引发此异常。...第二个 print 语句尝试访问列表中不存在第四个元素,这会引发异常,然后except 语句捕获此异常。捕获特定异常try 语句可以有多个 except 子句,用于指定不同异常处理程序。...(s)示例:在 Python 中捕获特定异常该代码定义了一个函数 fun(a),该函数根据输入a进行b计算。...异常处理缺点:性能开销:异常处理可能比使用条件语句检查错误要慢,因为解释器必须执行额外工作来捕获和处理异常。

    31011

    Python官方二十七问,你知道个啥?

    这不仅仅是由于缺少开始/结束括号 -- 缺少声明和高级数据类型也是其中原因 -- 但缩进基于语法肯定有帮助。 02. 为什么简单算术运算得到奇怪结果? 请看下一个问题。 03....一个是性能:知道字符串是不可变,意味着我们可以在创建为它分配空间,并且存储需求是固定不变。这也是元组和列表之间区别的原因之一。 另一个优点是,Python 中字符串被视为与数字一样“基本”。...join() 是字符串方法,因为在使用该方法,您告诉分隔符字符串去迭代一个字符串序列,并在相邻元素之间插入自身。此方法参数可以是任何遵循序列规则对象,包括您自己定义任何新类。...并采用了一些巧妙方法来提高重复添加项性能; 当数组必须增长,会分配一些额外空间,以便在接下来几次中不需要实际调整大小。 19. 字典如何在 CPython 中实现?...hash 代码根据键和每个进程种子而变化很大;例如,"Python" hash 值为-539294296,而"python"(一个按位不同字符串) hash 值为 1142331976。

    2.5K20

    27 个问题,告诉你Python为什么这么设计?

    这不仅仅是由于缺少开始/结束括号 -- 缺少声明和高级数据类型也是其中原因 -- 但缩进基于语法肯定有帮助。 为什么简单算术运算得到奇怪结果? 请看下一个问题。 为什么浮点计算不准确?...一个是性能:知道字符串是不可变,意味着我们可以在创建为它分配空间,并且存储需求是固定不变。这也是元组和列表之间区别的原因之一。 另一个优点是,Python 中字符串被视为与数字一样“基本”。...join() 是字符串方法,因为在使用该方法,您告诉分隔符字符串去迭代一个字符串序列,并在相邻元素之间插入自身。此方法参数可以是任何遵循序列规则对象,包括您自己定义任何新类。...并采用了一些巧妙方法来提高重复添加项性能; 当数组必须增长,会分配一些额外空间,以便在接下来几次中不需要实际调整大小。 字典如何在CPython中实现?...hash代码根据键和每个进程种子而变化很大;例如,"Python" hash值为-539294296,而"python"(一个按位不同字符串)hash值为1142331976。

    3.1K20

    干货 | 27 个问题,告诉你 Python 为什么如此设计?

    这不仅仅是由于缺少开始/结束括号 -- 缺少声明和高级数据类型也是其中原因 -- 但缩进基于语法肯定有帮助。 02. 为什么简单算术运算得到奇怪结果? 请看下一个问题。 03....一个是性能:知道字符串是不可变,意味着我们可以在创建为它分配空间,并且存储需求是固定不变。这也是元组和列表之间区别的原因之一。 另一个优点是,Python 中字符串被视为与数字一样“基本”。...join() 是字符串方法,因为在使用该方法,您告诉分隔符字符串去迭代一个字符串序列,并在相邻元素之间插入自身。此方法参数可以是任何遵循序列规则对象,包括您自己定义任何新类。...并采用了一些巧妙方法来提高重复添加项性能; 当数组必须增长,会分配一些额外空间,以便在接下来几次中不需要实际调整大小。 19. 字典如何在 CPython 中实现?...hash 代码根据键和每个进程种子而变化很大;例如,"Python" hash 值为-539294296,而"python"(一个按位不同字符串) hash 值为 1142331976。

    2.6K20
    领券