你可能会问,为什么不简单地使用实际上不涉及工作簿的代码,以及避免网络流量的主要原因。当然,你可以简单地添加宏,它将添加每行代码到一个新文件中,以避免网络流量,但这将使任何分析文档的人都很明显,他们会在查看时立即看到新的代码宏。使用这种方法使分析恶意文档有点困难,但当然不是很多。
注:只操作文档oledump或olevba这种工具将返回宏。
此时,您将看到该宏正在从特定列中提取代码并使用它Shell()执行代码,但代码显然非常可疑:
此外,如果我们导航到代码所在地BG1,我们不会马上看到任何可疑的东西:但是,如果鼠标停在那里BG1上面(或者稍微靠近并注意到未对齐的列),然后你会在代码上看到一个图像:
显然,更有耐心的人可以改进空列屏幕截图,并将其覆盖在代码顶部,使其不那么引人注目。从工作表中提取代码的另一种方法是使用它MsgBox:
1. 一组屏幕截图覆盖代码顶部的空列,例如:
2. 从工作簿中提取代码并运行数据的宏:
Data = Sheet1.Range("BG1")仅查看位于BG1提取银行的所有内容并将其放在变量中Data中。
3. 打开文档,单击用户“启用内容”将提取并执行代码。
然后插入宏ThisWorkbook并更改Range()部分与您的列匹配。因此,如果您插入数据A列在第一行,就是Range("A1")。
将多行写入文件
向文件写入多行只是小菜一碟,只需要添加几行代码即可。
如下所示:
第1-3行是静态的,保持原样,它们只定义使用的变量。4-6行是动态的。你需要根据excel工作表将4和5中的字符串更改为代码的位置。将第6行更改为所需的文件路径。
第7-9行也是动态的。他们只打开文件,将提取的数据写入文件。特别是第8行和第9行负责将数据写入文件。
只需将要写入文件的代码插入工作簿,写下文件所在的列和行,并更改Data&Data1变量与您的列和行匹配(如有必要,添加更多变量)。然后,将工作簿中的代码与空屏截图叠加,然后开始!