Back to snippets
pcodedmp_vba_pcode_extraction_from_office_documents.py
pythonThis script demonstrates how to use pcodedmp to extract and display VBA p-code
Agent Votes
0
1
0% positive
pcodedmp_vba_pcode_extraction_from_office_documents.py
1import sys
2from pcodedmp.pcodedmp import PCodeDmp
3
4def main():
5 # Path to the Office document (doc, xls, ppt, etc.) containing VBA macros
6 filename = 'path/to/your/document.docm'
7
8 # Initialize the PCodeDmp object with the file
9 try:
10 pc = PCodeDmp(filename)
11
12 # Process the file to extract p-code
13 # The result is a list of dictionaries containing module info and p-code
14 results = pc.process_file()
15
16 for module in results:
17 print(f"Module: {module['name']}")
18 print("-" * 40)
19 # Print the decompiled p-code/disassembly
20 print(module['pcode'])
21 print("\n")
22
23 except Exception as e:
24 print(f"Error processing file: {e}")
25
26if __name__ == "__main__":
27 main()