首页
学习
活动
专区
圈层
工具
发布

新型PPT钓鱼攻击分析(含gootkit木马详细分析)

我们在slide1.xml.rels 中找到这段powershell脚本,我们可以看到Id为rId2, 我们在对应的slide1.xml 中id为rId2 对应的动作位为,当鼠标覆盖时,就触发这个外部事件...我们来看看这个样本中的sub_41E160中的无效指令 ? 之后一个大的sleep来对抗沙箱,因为很多沙箱是有时间范围的 ?...之后在解密出一段shellcode进行执行,这段shellcode的主要作用就是解密出一个pe文件然后加载运行,解密出的PE文件 ?...将这个PE文件dump出来,看以下基本信息 89509761e2636e2b8a1c6f7ec8823b8f 样本首先会获取当前样本名称和mstsc.exe比较,如果不相同,则进入注入模块 ?...之后在比较当前进程不是IE和不是任务进程后,打开BIOS注册表,查找是否在虚拟机中 ? 并从系统信息中找到沙箱的蛛丝马迹这个是寻找Sandbox ? 查找BOCHS ?

1.5K40

级联阴影:一种逃避检测并复杂化分析的攻击链方法

JSE 文件中的脚本未经混淆,因为此攻击链依赖于多层方法,而非重度混淆。...正如前几个阶段所见,攻击者的重点仍然在于多层攻击链,而不是复杂的混淆技术。 .NET 编译可执行文件 .NET 文件包含下一阶段的有效载荷,该载荷使用 AES 或 Triple DES 加密。...可执行文件中的 AutoIt 脚本包含一个加密的有效载荷,用于加载恶意软件最终阶段的 Shellcode。...唯一的引用出现在构建查找表的函数中。 分析此函数表明,指向DLLCALLADDRESS字符串的指针被移动到内存地址0x493684,而函数指针被移动到0x493684+0xC,如下图所示。...它首先将加密的有效载荷加载到内存中,解密后最终将其注入 RegSvcs 进程。

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

    Spring IoC 总结

    Spring框架中的IoC(控制反转)是指对象的创建和管理都由Spring容器来完成,而不是由应用程序代码来完成。...在IoC模式下,应用程序只需要声明需要的对象和依赖关系,而Spring容器负责将对象创建、关联和管理。这使得应用程序的代码更加简洁、模块化,同时也降低了代码的耦合性和维护成本。...(如ClassPathXmlApplicationContext,FileSystemXmlApplicationContext等) 加载Bean的定义信息 获取Bean的定义信息(名称、类路径、依赖关系等...IoC 容器通过将应用程序解耦,让程序员专注于编写业务逻辑,而不是过多关注底层实现。...四、Spring IoC的使用 如何在项目中应用Spring IoC Java项目中,开发人员一般按如下三步骤来使用Spring IoC 定义配置文件(配置 Bean 元数据) 使用 Spring IoC

    37620

    UI自动化问题汇总

    代码举例(根据元素坐标拖拽): JavascriptExecutor jse= (JavascriptExecutor)driver; jse.executeScript("window.scrollBy...如果登录过程中遇到手机号码或者验证码你是怎么绕过的呢, 或说一下是怎么处理 答: (1)去掉验证码(测试环境) 这是最简单的方法,对于开发人员来说,只是把验证码的相关代码注释掉即可,线上环境取消注释验证码模块...自动化测试脚本编写规范 答: (1)基本信息 在每个脚本模块的最上面,必须写上脚本运行的软件和硬件环境(如IE版本、QTP版本、数据库版本等)、外包项目名称、脚本编写人(使用英文名或中文拼音缩写)、脚本创建时间...使用Public而不是早期版本的global来声明变量。 另外,对常量的声明必须带上类型,如前面的As String。 (3)变量命名规范 变量命名应该简单,应尽量使用缩写。...缩写为em,ProcedureManager缩写为pm;如果名称由一个单词组成,则对单词进行分段取首字母,如Entity缩写为et。

    3.9K61

    不得不看的Flutter与Android混合开发

    flutter create -t module flutter_module 上面的flutter_module就是我们创建的flutter模块名称。...2、native项目加载flutter页面 经过前面的一些操作,我们就在Native项目中成功依赖了flutter模块,那么下面学习如何在Native项目中加载flutter页面。...通过查看flutter模块代码可以发现,该模块提供了以下两种方式来加载flutter页面。...那么我们能不能在混合项目中做到flutter模块的热重载尼?其实也是可以的,但需要经过一些步骤。 1. 首先,关闭当前应用,注意:是要杀死当前应用所在进程,而不是退出应用。 2....3.2、flutter模块的调试 其实混合项目的flutter模块调试与flutter项目的的唯一却别就是如何在Android Studio与设备之间建立socket连接。

    5.7K41

    深入了解rollup(三)插件机制

    插件允许你通过例如在打包之前进行转译代码或在node_modules文件夹中查找第三方模块来自定义 Rollup 的行为。属性name: 插件的名称,用于在警告和错误消息中标识插件。...first:如果有多个插件实现此钩子,则钩子按顺序运行,直到钩子返回一个不是 null 或 undefined 的值。...parallel:如果有多个插件实现此钩子,则所有这些钩子将按指定的插件顺序运行。如果钩子是 async,则此类后续钩子将并行运行,而不是等待当前钩子。除了函数之外,钩子也可以是对象。...调用load钩子加载模块内容,resolveId中的路径一般为相对路径,load中的路径为处理之后的绝对路径。...开发者可以根据自己的需求编写自定义插件,并将其添加到Rollup配置中。通过使用插件机制,可以实现各种功能扩展,例如修改配置选项、解析模块路径、加载模块内容、转换模块代码等。

    60830

    《前端那些事》如何更好管理 Api 接口

    3.拦截器(拦截请求和返回) 应用场景:当一个项目中,多个接口需要前端通过header传用户ID、校验token等等时,我们可以统一添加,同理,当接口出现异常的状态码,如401(登录过期)需要重定向到登录页面时...2.API 管理 2.1 方式一:按模块封装方法 通过swagger文档定义的功能模块,来定义不同模块的service,封装接口增删改查等方法 按swagger接口文档的模块创建目录 ?...为了让这些模块在Vue中更好地直接使用,我们将导出的模块通过“挂在”Vue.prototype的形式注入到Vue组件中,以此来为Vue对象添加了一个原型属性,而不是一个全局变量。...最后在main.js中通过全局方法 Vue.use() 使用插件如向下所示? ? 如何在项目中调用 因为已经挂载在vue对象的原型上,可以使用this.$api去调模块 ?...按模块编写api ?

    3.6K30

    《前端那些事》如何更好管理 Api 接口

    这篇文章旨在梳理如何在前端项目中更好的去管理跟后端“对接”的接口 ❞ 聊接口管理,离不开请求库,vue技术栈中请求库谈及最多的,非axios莫属,先让我们重新梳理下axios 1.axios ❝ axios...2.API 管理 2.1 方式一:按模块封装方法 ❝ 通过swagger文档定义的功能模块,来定义不同模块的service,封装接口增删改查等方法 ❞ 按swagger接口文档的模块创建目录 image.png...,如下所示 image.png 为了让这些模块在Vue中更好地直接使用,我们将导出的模块通过“挂在”Vue.prototype的形式注入到Vue组件中,以此来为Vue对象添加了一个原型属性,而不是一个全局变量...,下面举user模块这个例子说明 ❞ image.png 按模块编写api image.png 导出所有编写好的api配置 ❝ 跟上一节导出模块一样,都是使用require.context,然后再结合...prop要定义或修改的属性的名称。

    3.2K31

    ReactNative 原理解析-通信

    “JavaScript 线程” 的概念,实际上,它表示的是 Objective-C 创建了一个单独的线程,这个线程只用于执行 JavaScript 代码,而且 JavaScript 代码只会在这个线程中执行...的方法需要用 RCT_EXPORT_METHOD 这个宏来标记,简单来说,它为函数名加上了 rct_export 前缀,再通过 runtime 获取类的函数列表,找出其中带有指定前缀的方法并放入数组中:...( id jse, RCTJavaScriptCompleteBlock errorBlock, std::shared_ptr jsThread, std::shared_ptr delegate) : m_jse(jse), m_errorBlock(errorBlock...而在React Native里,这些事件发生时OC都会调用JS相应的模块方法去处理,处理完这些事件后再执行JS想让OC执行的方法,而没有事件发生的时候,是不会执行任何代码的,这跟native开发里事件响应机制是一致的

    1.6K20

    python面试题--1

    比如说按创建日期排序的所有用户名,如["Seth", "Ema", "Eli"]。 元组表示的是结构。可以用来存储不同数据类型的元素。...比如内存中的数据库记录,如(2, "Ema", "2020–04–16")(#id, 名称,创建日期)。 9)参数如何通过值或引用传递?...在Python中,引入的每个名称都有一个存在的地方,可以被连接起来。这称为命名空间。它就像一个框,其中变量名称映射到放置的对象。每当搜索到变量时,将搜索此框以获取相应的对象。...20)Python中的docstring是什么? Python文档字符串称为docstring,它是一种记录Python函数,模块和类的方法。 21)如何在Python中复制对象?...这使得开发人员可以更专注于业务逻辑而不是底层的实现细节。 ORM支持:Django的对象关系映射(ORM)层允许开发人员使用Python代码而不是SQL语句来操作数据库。

    2.4K10

    自动化测试最新面试题和答案

    // 样例 Selenium.prototype.doFunctionName = function(){ } 函数名称前面的“do”告诉Selenium这个函数可以被调用为一个步骤命令,而不是作为内部函数或私有函数被调用...问题10:如何在页面加载成功后验证元素的存在? 它可以通过下面的代码行来实现。...XPath是一种在HTML / XML文档中定位的方法,可用于识别网页中的元素。如果没有与页面上的元素相关联的名称/ ID,或者名称/ ID的一部分是常量,则必须使用XPath。...,如ID、名称、XPath、CSS定位器,我应该使用哪一个?...在关键字驱动的测试中,被测试的应用程序的功能记录在一个表格中,以及每个测试的分步说明。 问题31:解释使用TestNG而不是JUnit框架的好处?

    6.9K20

    高效地将 TailwindCSS 与 Nuxt 结合使用

    在这篇文章中,我们将了解如何在 TailwindCSS 的官方 Nuxt 模块的帮助下有效地将 TailwindCSS 与 Nuxt 应用程序结合使用。...我们还将了解如何将 SVG 图标与 TailwindCSS 一起使用,而不是直接使用图像或 SVG 图标,以及如何基于给定图像为 TailwinCSS 构建自定义调色板。...TailwindCSS 的 Nuxt 模块会自动添加所需的代码,以便在生产过程中清除 CSS 代码,后面是按名称引用任何使用的 CSS 样式的文件列表,如下例所示: purge: { //enable...接下来,我们需要将内置的 TailwindCSS 样式加载到我们的应用程序中。 加载 TailwindCSS 样式 默认情况下,Nuxt TailwindCSS 模块将从....接下来,让我们看看如何利用 TaiwindCSS 在应用程序中构建和使用图标,而不是直接使用图像或 SVG 图标的经典方式。

    1.8K20

    为 WordPress 增加按分类搜索功能并自定义外观

    本文就是讲解如何在自己网站上增加一个像下图一样的分类搜索功能: 增加分类搜索功能 强大的 WordPress 的搜索模块,通过一定的参数来实现按照分类搜索。...那么思路比较明确,我们在评论模块表单中,增加一个 select 下拉选项,然后输出网站的分类目录让用户可以选择,之后提交给 index.php 就可以了。...注意:一定要把这个函数插入到搜索模块表单(form)里面,否则点击搜索按钮之后这个选项不会被提交出去。 这样,我们的按分类搜索模块已经完成了。...然后在下拉菜单里面,使用一段 php 来调用输出对应的 分类目录名称 和对应的 目录id 。具体代码可以参考下面这段,可以根据自己的结构进行合理的修改。 id_parent.'>' . $cat_name_parent .' '; } ?> 这样就输出了一堆 li 并且把对应的分类目录名称和 id 添加进去了。

    1.8K10

    模拟隐蔽操作 - 动态调用(避免 PInvoke 和 API 挂钩)

    您可以使用动态调用(我称之为 DInvoke)在运行时加载 DLL 并使用指向其在内存中位置的指针调用函数,而不是使用 PInvoke 静态导入 API 调用。...通过利用此动态加载 API 而不是位于 PInvoke 后面的静态加载 API,您可以避免将可疑 API 调用直接导入您的 .NET 程序集。...这可以用来直接执行系统调用 此外,我们提供了几种从内存而不是磁盘加载模块的方法。...ntdll.dll5)从ntdll.dll我们之前找到的基地址开始,使用GetExportAddress在内存中的模块中按名称查找导出。 为什么调用?...由于该文件是随机选择的(并且不会是已经加载的文件),因此它可能不是进程正常加载的模块,因此是异常的。

    2.4K00

    django 1.8 官方文档翻译: 1-2-3 编写你的第一个Django应用,第3部分

    最后有个性能上的提示:这些正则表达式在 URLconf 模块第一次加载时会被编译。 因此它们速度超快 ( 像上面提到的那样只要查找的不是太复杂 )。...%s." % poll_id) 将新视图按如下所示的 url() 方法添加到 polls.urls 模块中去:: from django.conf.urls import patterns, url...Pid> 将会定义名称用于标识匹配的内容; 而 \d+ 是一个用于匹配数字序列(即一个数字)的正则表达式。 因为 URL 模式是正则表达式,所以你可以毫无限制地使用它们。...Django 将会选择第一个找到的按名称匹配的模板, 如果你在 不同 应用中有相同的名称的模板,Django 将无法区分它们。...哲理 为什么我们要使用一个 get_object_or_404() 辅助函数 而不是在更高级别自动捕获 ObjectDoesNotExist 异常, 或者由模型 API 抛出 Http404 异常而不是

    2.4K50

    理解 Spring Cloud Config:配置文件发现与命名规范

    在现代企业的工作场景中,假设你是一家电商公司的开发工程师,负责开发一个订单处理微服务模块 order-service,用于管理用户订单的创建、查询和支付。...这个模块需要在不同的环境(如开发、测试、生产)中运行,并依赖集中式的配置管理来设置数据库连接、支付网关 API 地址等参数。...你还将了解配置如何在 Spring Boot 应用中合并和应用,助力你在实际开发中灵活配置 order-service 等模块。...配置服务器是一个集中式服务,负责根据客户端的应用名称和请求的配置文件提供配置。...应用专属文件(如 order-service-dev.yml)的属性优先于共享文件(如 application-dev.yml)的冲突属性,而配置文件专属文件(如 order-service-dev.yml

    18800

    linux常见面试题

    硬链接直接指向磁盘上的物理文件,而不指向路径名。这意味着如果重命名或移动原始文件,链接将不会中断,因为链接是针对文件本身的,而不是文件所在的路径。 26)Linux下文件名的最大长度是多少?...你可以简单地在虚拟桌面之间进行随机播放,而不是在每个程序中保持完整的程序,而不是最小化/恢复所有这些程序。 29)如何在Linux下跨不同的虚拟桌面共享程序?...然后在登录屏幕上,键入你的登录ID和密码,并选择要加载的会话类型。在你将其更改为其他选项之前,此选项将保持默认状态。 34)Linux下的权限有哪些?...例如,要列出目录中的所有文件,应键入命令ls,而不是LS。如果没有存在该确切名称的程序,则键入LS将导致错误消息,或者如果存在名为LS的程序执行另一个功能,则可能产生不同的输出。...系统中的每个进程都由唯一的进程ID或pid标识。使用kill命令后跟pid来终止该进程。 要立即终止所有进程,请使用kill 0。 44)如何在命令行提示符中插入注释?

    3.3K10

    50个有价值的CSS编写规则,让你写出更好的CSS

    [disabled] -不够具体且昂贵 #sample-最具体,最有效的选择器 * -全球和超级昂贵(最慢) 作为过于具体的,有时是需要,但把它看作一个例外,而不是普遍的做法。...了解 Stylelint 以及如何在你喜欢的 IDE 中设置样式 linting 以及如何设置你的配置文件。...43 、避免颜色名称 更喜欢用十六进制和颜色函数指定颜色值,而不是说红色、紫色、青色。有数百万个十六进制颜色值,而不是所有这些值的名称。为了保持一致性,找到一种添加颜色的方法并坚持下去。...首先,编写 HTML 时要考虑内容,而不是样式。比添加 CSS 并在出于样式原因更改 HTML 之前尽力而为。 47 、连字符还是下划线?...类名和 id 名称最常见的分隔符是连字符,但无论你选择什么,都要坚持使用。

    2.8K20
    领券