gpt4 book ai didi

excel - *.xlsx 文件何时以及为何包含 *.bin 文件?

转载 作者:行者123 更新时间:2023-12-04 16:21:46 32 4
gpt4 key购买 nike

我目前正在进行一个项目,以评估上传的 *.xlsx 文件是否真的只是一个 *.xlsx 文件,而不是一个 *.xlsm 更改了扩展名。

由于 *.xlsx 文件或多或少是 *.zip 文件,我提取了内容并注意到一些文件包含 *.bin 文件,而其他人则没有。尽管 excel 文件可能是合法文件,但没有任何尝试通过欺骗用户重命名来注入(inject)另一个扩展名。

因此我的问题是:xlsx 文件何时包含 *.bin 文件?这种方法是否适合检测xlsx文件是否包含宏?

我还在检查 [content_types].xml 文件的内容以包含以下任一字符串:application/vnd.ms-office.vbaprojectapplication/vnd.ms-excel.sheet.macroenabled.

最佳答案

When does a xlsx file contain a *.bin file?

好吧,bin 文件不仅是为具有宏的工作簿创建的,而且是为其中嵌入了 OLE 对象的工作簿创建的。

试试这个。创建一个新工作簿并单击 Developer Tab |插入 ActiveX 控件 - 说命令按钮。将文件保存并关闭为 .xlsx。重命名为 .Zip 并检查 zip 文件

enter image description here

编辑:

是的,有时也会存储打印机设置。快速搜索并找到了 THIS链接

从上面的链接中提取,以防链接失效。

除了 VBA 项目和嵌入的 OLE 对象,我们在 Excel 2007 .XLSB 文件中发现 BIN 部分的原因如下:

  1. 工作簿部分workbook.bin(MIME类型:application/vnd.ms-excel.workbook)
  2. 样式字典部分styles.bin(MIME类型:application/vnd.ms-excel.styles)
  3. 对于每个工作表,

    a.一个索引部分worksheets/binaryIndexxx.bin(MIME类型:application/vnd.ms-excel.binIndexWs)

    b.工作表部分worksheets/sheetxxx.bin(MIME类型:application/vnd.ms-excel.worksheet)

    c. 一个可选的打印机设置部分 printerSettings/printerSettingsxxx.bin(MIME 类型:application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings)

  4. 可选的计算链部分calcChain.bin(MIME类型:application/vnd.ms-excel.calcChain)

  5. 可选评论部分 commentsxxx.bin(MIME 类型:application/vnd.ms-office.legacyDrawing)
  6. 可选表部分 tables/tablexxx.bin(MIME 类型:application/vnd.ms-excel.table)
  7. 可选连接部分 connections.bin(MIME 类型:application/vnd.ms-excel.connections)
  8. 可选图表表、对话框表、宏表部分(chartsheets/sheetxxx.bin、dialogsheets/sheetxxx.bin、macrosheets/sheetxxx.bin)(MIME 类型:application/vnd.ms-excel.chartsheet、application/vnd.ms-excel .dialogsheet, application/vnd.ms-excel.macrosheet)
  9. 可选数据透视表部分 (pivotTables/pivotTablexxx.bin)(MIME 类型:application/vnd.ms-excel.pivotTable)
  10. 可选的数据透视表缓存定义和记录部分(pivotCache/pivotCacheDefinitionxxx.bin、pivotCache/pivotCacheRecordsxxx.bin)(MIME 类型:application/vnd.ms-excel.pivotCacheDefinition、application/vnd.ms-excel.pivotCacheRecords)<
  11. 可选查询表 (queryTables/queryTablexxx.bin)(MIME 类型:application/vnd.ms-excel.queryTable)

关于excel - *.xlsx 文件何时以及为何包含 *.bin 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60866047/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com