Recordset中 rs.Open strSQL, conn ' 将结果写入Excel工作表 Dim ws As Worksheet Set ws = ThisWorkbook.Sheets...' 创建Command对象 Dim cmd As Object Set cmd = CreateObject("ADODB.Command") ' 设置连接 cmd.ActiveConnection...("AgeParam", 3, 1, , 25) ' adInteger ' 设置查询 cmd.CommandText = strSQL ' 创建Recordset...Set rs = cmd.Execute ' 将结果写入Excel工作表 Dim ws As Worksheet Set ws = ThisWorkbook.Sheets...= Nothing Set conn = Nothing End Sub 这些示例演示了如何在Excel VBA中执行查询操作,并将结果显示在Excel工作表中。
实战研究 如果遇到启用内容后,查看VBA编辑器,弹出了要求输入密码的对话框,使用VBA_Password_Bypasser进行解密。...数据解析的比较清晰: 如果文档的VBA工程被加密,(office只提供了对VBA工程的伪加密)。...这是因为 Office文件的默认设置是支持 VBA 代码所以允许 VBA代码的代码执行。尽管最近这种方法已经很容易被杀毒软件检测到,但在经过混淆处理之后,在很多情况下仍然可以生效。...这可以帮助解决绕过一些杀毒软件,但重要的是要\确保在进行实时入侵操作之前对其进行测试。...弹出一个窗口,允许您从要插入的各种对象中进行选择。选择"MS Excel 4.0宏表"并单击"确定"。 已创建一个名为"宏1"的新工作表。
标签:VBA,AdvancedFilter方法 在处理大型数据集时,很可能需要查找并获取唯一值,特别是唯一字符串。...设置要筛选的单元格区域 AdvancedFilter方法对Range对象进行操作。接通常做法,设置单元格区域,但要注意,VBA始终将第一行视为包含标题的行。...参数Action 参数Action告诉AdvancedFilter将输出结果放置在原始数据位置(设置值为xlFilterInPlace),还是放置在新位置(设置值为xlFilterCopy)。...若要查找唯一值,将其设置为TRUE。...一旦有了唯一的记录,就可以使用自动筛选对其进行排序和进一步筛选。
研究人员近期发现了APT34利用新工具集进行的网络活动。根据此次发现的网络钓鱼文件,伊朗黑客组织将美国Westat员工或Westat提供服务的组织作为攻击目标。...TONEDEAF 2.0还隐藏API,api名称以及dll被存储为字符串,在运行时按需解码和解析。 ? C2通信 后门使用HTTP进行C2通信,具有自定义编码和通信机制。...如果C2接受了ID,将使用和后门需要执行的命令的编码消息进行回复。 ? 该恶意软件将在命令前添加“ cmd U c”来执行该命令,并使用POST回复消息将命令结果发送回C2。...表明攻击者正在过渡到HTTPS通信,提高其OPSEC功能并避免检测。 原始TONEDEAF痕迹 通过对更改和新增部分的分析,有足够证据可将TONEDEAF 2.0与TONEDEAF聚类在一起。...对恶意软件变种技术分析显示,该组织已投入大量精力来升级其工具集,逃避检测。
,并保存到不同的工作表中 将多张工作表中的数据合并到一张工作表中 将工作簿中的每张工作表都保存为单独的工作簿文件 将多个工作簿中的数据合并到同一张工作表中 为同一工作簿中的工作表建一个带链接的目录 执行程序的自动开关...属性的参数设置为一个用逗号分成多个单元格地址组成的字符串 引用多个区域的公共区域:将range属性设置成为一个用空格分割的多个单元格地址组成的字符串 引用两个区域围成的矩形区域 range("A1:C1...可设置的参数值 方法返回结果的类型 0 公式 1 数字 2 文本(字符串) 4 逻辑值(true or false) 8 单元格引用(range对象) 16 错误值 64 数值数组 Sub rngpinput...InputForm.show 或者省略show方法的参数,或者将参数设置为vModal,VBA都会讲窗口见识为模式窗体 2....无模式窗体允许进行窗体外的其他操作 要将窗体显示为无模式窗体,必须通过show方法制定参数 Inputform.show vmodeless 如果将窗体显示为无模式窗体,当窗体显示后,系统会继续执行程序余下的代码
AmsiScanBuffer() AmsiScanString() 扫描内容缓冲区和字符串以查找恶意软件,也是对 API 及其传入参数进行分析,根据结果作评分以判断是否应该查杀。...如果端点安全产品支持AMSI,并且检测到该字符串, 那么PowerShell提示符将显示错误,表明输入的命令是恶意的。 ? 很好Amsi查杀并阻止了power shell执行命令。...简单来说就是: 记录宏行为>>触发对可疑行为的扫描>>在检测到恶意宏时停止 查杀过程 记录宏行为 我们知道VBA 语言为宏提供了一组丰富的函数,可用于与操作系统交互以运行命令、访问文件系统等。...2.为低信任文档启用:如果为低信任文档启用该功能,则将为启用宏的所有文档启用该功能,除了: 在宏安全设置设置为“启用所有宏”时打开的文档 从可信位置打开的文档 作为受信任文档的文档 包含由可信发布者数字签名的...VBA 的文档 3.为所有文档启用:如果为所有文档启用该功能,则不会从行为中排除上述类别的文档。
其语法为: SaveSetting appname, section,key, setting 其中: 1.参数appname,必需,字符串类型,指定应用程序的名称。...其语法为: GetSetting(appname, section,key[,default]) 其中: 1.参数appname,必需,字符串类型,指定应用程序的名称,该应用程序有注册表项设置。...4.参数default,可选,如果注册表项设置中没有设置值,则返回该缺省值。如果省略该参数,则其值是一个零长字符串(””)。...其语法为: GetAllSetting(appname, section) 其中: 1.参数appname,必需,字符串类型,指定应用程序的名称。...其语法为: DeleteSetting appname[, section[, key]] 其中: 1.参数appname,必需,字符串类型,指定应用程序的名称。
要使用Excel VBA处理MySQL数据库中的文本和图片二进制数据,可以使用ADODB.Stream对象来读取和写入二进制数据。...' 创建Command对象 Dim cmd As Object Set cmd = CreateObject("ADODB.Command") ' 设置连接 cmd.ActiveConnection...", 1, 1, imageStream.Size, imageStream.Read) ' 设置SQL插入语句 cmd.CommandText = strSQL '...可以设置对象的属性来指定数据类型和访问模式。通常,需要设置 Type 属性为 adTypeBinary 来处理二进制数据。...将查询结果中的二进制数据写入 ADODB.Stream 对象。'
--------提取后运行 点击模式,静默模式, 全部隐藏 点击更新,设置 更新方式----解压并更新文件覆盖方式----覆盖所有文件 确定,出去可以文件名改的像一点。...具体操作就不写了,直接看结果。 1.6 捆绑文件 K8免杀系统自带捆绑器加强版V2.0.EXE 超级文件捆绑器 生成,执行之后会执行cmd.exe一样的效果,但此时后门软件也被执行了。...编写主体内容后,点击 “开发工具 — Visual Basic”,双击 “ThisDocument” ,将原有内容全部清空,然后将宏payload全部粘贴进去,保存并关闭该 VBA 编辑器 。...文档的URL 将DOCX解压后的内容再以存储模式压缩为ZIP 修改后缀名为DOCX,打开后即可实现远程注入宏文档 按照上述Word宏钓鱼方法制作,保存时保存类型为 dotm , fish.dotm, 开启...excel制作钓鱼邮件的机会,假如你要引入的web数据是入侵者事先准备好的一段payload iqy恶意代码,那结果就不言而喻了。
该木马主要通过垃圾邮件的方式传播感染目标用户,并通过脚本混淆、加密或编码方式来绕过AV检测,比如在垃圾邮件word附件中使用宏攻击, 如下图所示,这是一个从DOC文档嵌入的VBA宏代码中提取的CMD命令...圆括号表示嵌入子命令组,同样被cmd.exe参数处理器进行解释。 ? 4.双引号 。使用双引号包裹字符,相当于将字符进行连接。 ?...利用环境变量进行混淆 cmd.exe的环境变量分为系统已有的环境变量和自定义变量。利用环境变量的值中的字符或字符串,可以拼接成黑客需要的cmd命令,并逃避静态检测。...我们可以利用系统中已有的环境变量,通过对环境变量进行截取拼接出想要的cmd命令。...将assoc .cmd 的返回内容拆分后,第二列正好是cmd,最后的结果就是执行cmd。 混淆神器 基于上述的原理,安全大牛创造了专门的CMD命令混淆工具,高深的命令混淆批量生产,卖成了白菜价。
Workbook.FullName在VBA中是一个非常常用的属性,返回的是工作簿的全路径,首先查看一下帮助文件: 返回对象的名称(以字符串表示),包括其磁盘路径。String 型,只读。...再仔细一看,会发现我故意将一些字母大小写替换了,文件能正确打开,但FullName返回的字符串和原始字符串有差异了。...但是,存在这样一种场景: 对经常使用VBA的人来说,会写一些常用的功能制作为加载宏使用,使用过加载宏的应该知道,一旦加载宏被移动了位置,会出现如下提示: ?...我个人有这样一个使用习惯,由于需要使用的VBA功能较多,我将一些功能分类编写了不同的宏文件,这些文件存放在同一个文件夹里,只设置加载一个加载宏。...这个加载宏里设置了一个Ribbon的动态菜单,单击的时候自动遍历所在路径下的宏文件,并添加button菜单,这个时候显然需要过滤掉本身,使用的代码就是: Sub dymOpenAddins_getContent
结果的输出,程序的输出方式是Debug.Print,这是一种非常实用的输出函数,比Msgbox要方便的多,也是VBA调试程序必备的。...在地址的获取过程中,如果不对其进行界定,优先获取绝对地址,不如要使用相对地址,需要添加参数,如例中所示。...变量的定义,VBA中可以使用未定义的变量,但是推荐对其进行预先定义,定义的方法是Dim加变量名加As加变量类,比如在示例里面,将currentCell界定为Range。...VBA提供数组动态变动的方法,因此在变量的时候,无需对长度进行定义,比如Dim string0。...VBA的循环采用的UBound和LBound两个函数的组合来对区间进行确定,相比其他语言而言,个人觉得相对累赘了点。 单元格区域的定位方法。
最近熟悉了手头上的工作之后,开始觉得很多动作其实是没有必要的,加上慢慢时间多了起来,于是开始想办法进一步自动化目前的工作流程.我目前的工作流程是这样的:[Python自动下载数据]→[VBA工具汇总并插入数据库...]→[清除下载文件] 环节比较多,任何一个地方出错了都没办法继续下去.例如上次的文件没有清除,为了防止重复合并我设置了一个文件数限制的VBA代码,但是这样又会浪费时间来检查文件.python下载的时候也经常会下载一些空文件...,这些目前是在VBA中进行的检查,一旦发现空文件又得退出重新下载还不知道是哪个文件为空得一个个去点开看.诸如此类小事件,不胜枚举.烦不胜烦....Python+Selenium模拟操作下载数据 这里见之前的文章 安利一个超好用的网页自动操作工具 Step 2 使用Python操作Excel 只需要最少4行代码,就可以打开工作簿并运行里面的VBA...,简单快速的结合了Python与VBA 我提前写好的VBA代码是这样的,就是一个显示当前时间的VBA 运行结果如下所示 使用Python的方法是:双击文件 Step 3 删除下载文件夹下的所有文件
本课程将讲解什么是bugs、如何处理它们,并介绍一些与发布应用程序有关的因素。 调试应用程序 在发布Excel应用程序之前,对其进行充分调试很重要。...即便如此,某些bugs可能会超出测试范围而只能由用户发现并报告;因此,对于你而言重要的是要知道如何使用VBA的调试工具来进行调试去找到并修复bugs。 什么是Bugs?...而是,它导致程序产生不正确的结果。例如,将数据插入工作表错误部分的数据输入程序被视为bug。同样,如果用于某些数值计算的代码产生不正确的结果,则也将其视为bug。...如果你认为已找到该bug并希望更正代码以对其进行修复,使用“重新设置”结束该程序。 在中断模式下代码编辑 VBA使你可以在中断模式下修改代码。当你认为已发现问题并希望立即解决该问题时,此功能很有用。...2.将“上下文”下的设置保留为默认值。 3.在“监视类型”下,选择所需的监视类型。 4.单击“确定”。 你添加的任何监视都会显示在“监视”窗口中,如图24-3所示。
标签:VBA实用代码 一个单元格区域内有一组数字,这些数字中存在多个相同的数字,想要将这些数字中的唯一值提取出来并组合成一串数字文本,如下图1所示。...& Seperator & strTemp End If End If End If Next rng '返回结果字符串...ConcatenateUnique = strAnswer End Function 这个函数仅将指定单元格区域中的唯一值使用可选的格式字符串连接起来。...如果未指定格式字符串,则被视为字符串(@)。此函数在每个值之间插入分隔符字符串,默认分隔符设置为” ”。 这段代码来自strugglingtoexcel.com。...然而,这段代码另辟蹊径,使用了VBA中的InStr函数,在连接之前检查是否已将值添加到结果中,如果没有则添加。巧妙的实现方法!
示例:数据保存在B列,其格式为规格1*数量1 + 规格2*数量2 + ...。现在需要统计数量总和,如C列所示。...例如,单元格B3中,包装明细为100*3+115*1,对应的包装个数就是3+1。...Cells(Rows.Count, "B").End(xlUp)) strTxt = objRegEx.Replace(Trim(obj.Value2), "") '将匹配成功的字符串替换为空...延伸阅读 (1)Evaluate用法 Evaluate函数可以执行一些字符串表达式,并返回表达式的值。可以将Evaluate函数用于以下场景: 在字符串中执行简单的数学运算。...示例:计算2 + 2 * 3,将结果存储在result变量中。
恶意软件将每个找到的文档移动到AppData文件夹,使用Microsoft.Office.Interop对象将恶意 Word 或 Excel 宏插入其中,然后将文档移回其原始文件夹。...模块的字符串存储在其 .data 部分中,使用简单的 XOR 密钥进行加密。它还能够从其 C&C 服务器下载和执行任意代码。 C# 这是 C/C++ 版本的 C# 重新实现。...主要区别在于它还会每分钟对受感染的计算机进行屏幕截图。如图 8 所示,我们分析的版本有五个不同的线程,名字令人回味。 image.png 图 8....网络基础设施 Gamaredon 组为其 C&C 服务器使用许多不同的域,包括免费和付费。...他们不断更改其工具使用的域,但主要是在少数 ASN 上。仔细分析表明,他们为一小群受害者使用单独的域。请查看ESET 的 GitHub 帐户以获取 Gamaredon 组使用的广泛域列表。
然而,VBA功能有限,使用xlwings,我们可以在Python中创建自己的用户定义函数。我们所需要的只是一个Python脚本,并在Excel中进行一些设置来实现。...我们似乎在使用Excel函数,但其实在后台,Python正在进行所有计算,然后通过Excel向用户显示结果。这意味着,由于Python的强大功能,我们可以创建非常复杂的函数。...要说明的是,在某些情况下,可能会弹出“Automatio error 440”错误消息提示,则需要进行一些设置。...首先,到“信任中心”的“宏设置”选项卡中,选取“信任对VBA工程对象模型的访问(V)”前的复选框,如下图13所示。...图13 然后,到VBA编辑器中,设置对“xlwings”的引用,如上文中图10所示。 调试 刚开始可能会遇到的两个常见错误是: 1.“Automatio error 440”(自动化错误404)。
代码 olevba脚本已经帮我们分析出了此vba代码的主要功能,从解码的Base64字符串我们大致可以判断此vba脚本使用powershell从C2下载了payload并写入本地文件夹执行。...DecodeBase64函数进行解码 我们将Base64字符串解码后优化代码再查看逻辑更清晰,主要逻辑就是红框中的命令行,使用cmd.exe将powershell命令行写入%temp%\util.bat...遍历完进程后将调用github_com_p3tr0v_chacal_utils_PList函数进行对比 先对比进程黑名单列表字符串长度,如果长度相同则调用runtime_memequal函数进行字符串对比...调用downloadFile函数从C2下载NerbianRAT 如果首次从C2下载失败,还会调用cmd使用curl从C2下载 从C2下载完成后都会读取文件并检测文件头两个字节是否为4D5A(MZSignature...将MD5转为十六进制 之后将0x40字节大小的全局变量和bios信息MD5值和字符串windows进行格式化,随后直接使用Base64对这些数据进行了编码。
例如,有一个数字是:12345.67892,我们想显示成:12,345.69,这有两种做法: 第一种方法,将原有值改写成字符串,那么结果是这个字符串; 第二种方法,将原有值改变显示样式,那么结果还是原来的值...这里的数字 -21 的颜色并非设置所致,而是自定义数字格式,如下: ? 可以看出,自定义数字格式,有强大的能力,其本质在于: 不改变值的结果下,设置其显示的样式。...如果将这里设置为:【0.0】,那么有: ? 如果将这里设置为:【#,#0.0】,那么有: ? 如果将这里设置为:【#,#0.0;(#,#0.0);】,当 [KPI] = 0 时,有: ?...那么,Power BI 的自定义数字格式是与 Excel 以及 VBA 的设置一样的。但在功能方面,是 Excel 功能的有限子集。...的区别在哪里,本文已经给出答案,用自定义数字格式的好处有两个: 保持值不变,仅仅改变显示样式,表格数据导出为 .csv 文件后,可以在 Excel 中继续以数字进行计算处理,而非文本; 这种做法相比于
领取专属 10元无门槛券
手把手带您无忧上云