python - 如何编程实现检测office文件中是否含有宏(macro)?
ringa_lee
ringa_lee 2017-04-17 17:58:21
0
1
747

RT,我现在做一个文件同步的项目(Python 实现),由于涉及到文件安全的问题,需要检测office文件中是否含有宏,并进行相应操作。
看到网上有一些宏病毒专杀工具,但是没有找到源码,不知道是怎么实现的。另外,我在office官网上看到,office文件有一个属性:.HasVBProject,不知道是否可以辨识宏。
hasVBproject
在某一网址上看到一个检测宏的方法,不知道是否可用Searching for Microsoft Office Files Containing Macro

ringa_lee
ringa_lee

ringa_lee

모든 응답(1)
大家讲道理

일반적인 아이디어는 프로그램 서명을 분석하여 프로그램에 어떤 종류의 악성 코드가 있는지 찾는 것입니다. 먼저 바이너리 분석 도구를 사용하여 매크로가 포함된 Office 파일을 스캔하고 서명을 추출한 다음 시도할 수 있습니다. 바이너리 코드를 분석하는 프로그램을 작성해 보세요. 이것이 일반 바이러스 백신 소프트웨어가 수행하는 작업입니다.
근데 이렇게 하는 게 더 귀찮은 것 같아요. 상대가 프리킬을 하면 어떡하죠? 그리고 다양한 매크로 바이러스를 스스로 구별할 수 있는 이렇게 큰 시그니처 라이브러리를 보유하는 것은 불가능합니다.
따라서 다른 각도에서 시작하는 것이 좋습니다. 먼저 바이러스 백신 소프트웨어가 포함된 서버에 파일을 동기화하세요(보안 요구 사항이 매우 높은 경우 NFS를 사용하여 공용 검색 영역을 만들고 여러 가상 머신이 이 NFS를 매핑할 수 있습니다). 다양한 가상 머신 서명 라이브러리를 검사하고 최대화하려면 머신에 다양한 바이러스 백신 소프트웨어를 설치하세요. 각 바이러스는 제거된 후 저장소에 들어가고 동시에 복사본이 지워집니다.


보충:
왜 기능 코드가 없나요? 방금 매크로로 Excel을 만들고 xxd로 열었습니다.

그런 다음 매크로 없이 다른 문서를 엽니다.

분명히 매크로가 저장된 Excel에는 VBA와 같은 바이너리 정보가 포함되어 있습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿