MALICIOUS
388
Risk Score
Malware Insights
MITRE ATT&CK
T1203 Exploitation for Client Execution
T1059.005 Visual Basic
The file is an Excel document containing both VBA and Excel 4.0 macros, and critically, an embedded PE executable. Heuristics indicate exploitation of CVE-2011-0105, a known Excel vulnerability, and references to LoadLibrary and GetProcAddress APIs suggest dynamic loading of malicious code. The embedded executable is the primary payload, likely dropped and executed by the macros.
Heuristics 10
-
CVE-2011-0105 — Excel EXTSST record overflow critical CVE exact CVE_2011_0105Workbook BIFF stream contains an EXTSST (Extended Shared String Table) record declaring 128 ISSTINF entries — far more than the shared string table's cstUnique/Dsst warrants (expected 1) — together with shellcode / a heap-spray in the same stream. This SST/EXTSST inconsistency is the documented CVE-2011-0105 (MS11-021) data-initialization primitive: Excel copies the over-declared entry array — attacker-controlled bytes that double as the heap-spray / pointer table — past the destination buffer, leading to memory corruption and code execution from a crafted .xls.
-
ClamAV: Win.Trojan.ShellcodeFindKernel32-1 critical CLAMAV_DETECTIONClamAV detected this file as malware: Win.Trojan.ShellcodeFindKernel32-1
-
Embedded PE executable critical OLE_EMBEDDED_EXEMZ/PE header found inside document — possible embedded executable
-
NOP sled detected high SC_NOP_SLEDFound 20+ consecutive 0x90 bytes
Disassembly
Attempted x86 opcode disassembly00000C66 90 nop 00000C67 90 nop 00000C68 90 nop 00000C69 90 nop 00000C6A 90 nop 00000C6B 90 nop 00000C6C 90 nop 00000C6D 90 nop 00000C6E 90 nop 00000C6F 90 nop 00000C70 90 nop 00000C71 90 nop 00000C72 90 nop 00000C73 90 nop 00000C74 90 nop 00000C75 90 nop 00000C76 90 nop 00000C77 90 nop 00000C78 90 nop 00000C79 90 nop 00000C7A 90 nop 00000C7B 90 nop 00000C7C 90 nop 00000C7D 90 nop 00000C7E 90 nop 00000C7F 90 nop 00000C80 90 nop 00000C81 90 nop 00000C82 90 nop 00000C83 90 nop 00000C84 90 nop 00000C85 90 nop 00000C86 90 nop 00000C87 90 nop 00000C88 90 nop 00000C89 90 nop 00000C8A 90 nop 00000C8B 90 nop 00000C8C 90 nop 00000C8D 90 nop 00000C8E 90 nop 00000C8F 90 nop 00000C90 90 nop 00000C91 90 nop 00000C92 90 nop 00000C93 90 nop 00000C94 90 nop 00000C95 90 nop 00000C96 90 nop 00000C97 90 nop 00000C98 90 nop 00000C99 90 nop 00000C9A 90 nop 00000C9B 90 nop 00000C9C 90 nop 00000C9D 90 nop 00000C9E 90 nop 00000C9F 90 nop 00000CA0 90 nop 00000CA1 90 nop 00000CA2 90 nop 00000CA3 90 nop 00000CA4 90 nop 00000CA5 90 nop 00000CA6 90 nop 00000CA7 90 nop 00000CA8 90 nop 00000CA9 90 nop 00000CAA 90 nop 00000CAB 90 nop 00000CAC 90 nop 00000CAD 90 nop 00000CAE 90 nop 00000CAF 90 nop 00000CB0 90 nop 00000CB1 90 nop 00000CB2 90 nop 00000CB3 90 nop 00000CB4 90 nop 00000CB5 90 nop 00000CB6 90 nop 00000CB7 90 nop 00000CB8 90 nop 00000CB9 90 nop 00000CBA 90 nop 00000CBB 90 nop 00000CBC 90 nop 00000CBD 90 nop 00000CBE 90 nop 00000CBF 90 nop 00000CC0 90 nop 00000CC1 90 nop 00000CC2 90 nop 00000CC3 90 nop 00000CC4 90 nop 00000CC5 90 nop
-
Reference to LoadLibrary API high SC_STR_LOADLIBRARYReference to LoadLibrary API
-
Reference to GetProcAddress API high SC_STR_GETPROCADDRESSReference to GetProcAddress API
-
OLE document has large unaccounted-for region high OLE_SLACK_ANOMALYOLE file is 401,408 bytes but its declared streams total only 184,311 bytes — 217,097 bytes (54%) live in unallocated sector slack. This is the canonical hiding place for pre-macro-era Office exploit payloads (XOR-encoded shellcode reached via a parser pointer-corruption bug in the document structure).
-
Excel 4.0 (XLM) macro sheet present medium OLE_XLM_AUTOOPENWorkbook contains an Excel 4.0 macro sheet sub-stream — XLM is rarely seen in modern legitimate workbooks and was a major Office malware vector during 2020-2022.
-
VBA macros detected medium 1 related finding OLE_VBA_MACROSDocument contains VBA macro code
-
Workbook_Open macro low OLE_VBA_WBOPENWorkbook_Open macroMatched line in script
Private Sub Workbook_Open()
Extracted artifacts 3
Files carved from inside the sample during analysis.
| Filename | Kind | Source | Size |
|---|---|---|---|
xlm_macros.txt |
xlm-macro | oletools.olevba.extract_all_macros (XLM macro listing) | 17509 bytes |
SHA-256: c2d076a6e609a8b33579240c4c97ddb741702fb224c691665176231441d0ac2f |
|||
Preview scriptFirst 1,000 lines of the extracted script
' 0085 11 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible - LV ' 0085 11 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible - LV ' 0085 11 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible - LV ' 0085 11 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible - LV ' 0085 11 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible - LV ' 0085 11 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible - LV ' 0085 11 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible - LV ' 0085 11 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible - LV ' 0085 11 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, hidden - ms ' 0085 11 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, hidden - ms ' 0085 11 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, hidden - ms ' 0085 11 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, hidden - ms ' 0085 11 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, hidden - ms ' 0085 11 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, hidden - ms ' 0085 11 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, hidden - ms ' 0085 11 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, hidden - ms ' 002a 2 PRINTHEADERS : Print Row/Column Labels ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 002a 2 PRINTHEADERS : Print Row/Column Labels ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 002a 2 PRINTHEADERS : Print Row/Column Labels ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 002a 2 PRINTHEADERS : Print Row/Column Labels ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 002a 2 PRINTHEADERS : Print Row/Column Labels ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 002a 2 PRINTHEADERS : Print Row/Column Labels ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 002a 2 PRINTHEADERS : Print Row/Column Labels ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 002a 2 PRINTHEADERS : Print Row/Column Labels ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 00fd 10 LABELSST : Cell Value, String Constant/ SST ' 002a 2 PRINTHEADERS : Print Row/Column Labels ' 002a 2 PRINTHEADERS : Print Row/Column Labels ' 002a 2 PRINTHEADERS : Print Row/Column Labels ' 002a 2 PRINTHEADERS : Print Row/Column Labels ' 002a 2 PRINTHEADERS : Print Row/Column Labels ' 002a 2 PRINTHEADERS : Print Row/Column Labels ' 002a 2 PRINTHEADERS : Print Row/Column Labels ' 002a 2 PRINTHEADERS : Print Row/Column Labels ' Sheet,Reference,Formula,Value ' LV,O1,"",0.00000000000000000000 ' LV,O2,"",1.00000000000000000000 ' LV,M3,"",1.00000000000000000000 ' LV,O3,"",2.00000000000000000000 ' LV,O4,"",3.00000000000000000000 ' LV,O5,"",4.00000000000000000000 ' LV,A6,"",2.00000000000000000000 ' LV,O6,"",5.00000000000000000000 ' LV,B7,"",4.00000000000000000000 ' LV,H2,"",4.00000000000000000000 ' LV,A4,"",1.00000000000000000000 ' LV,H7,"",3.00000000000000000000 ' LV,H3,"",3.00000000000000000000 ' LV,H6,"",3.00000000000000000000 ' LV,H7,"",3.00000000000000000000 ' LV,A2,"",1.00000000000000000000 ' LV,G2,"",7.00000000000000000000 ' LV,A8,"",1.00000000000000000000 ' LV,H1,"",4.00000000000000000000 ' LV,H3,"",4.00000000000000000000 ' LV,H4,"",3.00000000000000000000 ' LV,H1,"",4.00000000000000000000 ' LV,A2,"",1.00000000000000000000 ' LV,H2,"",5.00000000000000000000 ' LV,A4,"",1.00000000000000000000 ' LV,E5,"",6.00000000000000000000 ' LV,F4,"",5.00000000000000000000 ' LV,H4,"",3.00000000000000000000 ' LV,H7,"",1.00000000000000000000 ' LV,B4,"",3.00000000000000000000 ' LV,A5,"",2.00000000000000000000 ' ms,A1,[],"" ' ms,B1,[],"" ' ms,C1,[],"" ' ms,D1,[],"" ' ms,E1,[],"" ' ms,F1,[],"" ' ms,G1,[],"" ' ms,H1,[],"" ' ms,A2,[],"" ' ms,B2,[],"" ' ms,C2,[],"" ' ms,D2,[],"" ' ms,E2,[],"" ' ms,F2,[],"" ' ms,G2,[],"" ' ms,H2,[],"" ' ms,A3,[],"" ' ms,B3,[],"" ' ms,C3,[],"" ' ms,D3,[],"" ' ms,E3,[],"" ' ms,F3,[],"" ' ms,G3,[],"" ' ms,H3,[],"" ' ms,A4,[],"" ' ms,B4,[],"" ' ms,C4,[],"" ' ms,D4,[],"" ' ms,E4,[],"" ' ms,F4,[],"" ' ms,G4,[],"" ' ms,H4,[],"" ' ms,A5,[],"" ' ms,B5,[],"" ' ms,C5,[],"" ' ms,D5,[],"" ' ms,E5,[],"" ' ms,F5,[],"" ' ms,G5,[],"" ' ms,H5,[],"" ' ms,A6,[],"" ' ms,B6,[],"" ' ms,C6,[],"" ' ms,D6,[],"" ' ms,E6,[],"" ' ms,F6,[],"" ' ms,G6,[],"" ' ms,H6,[],"" ' ms,A7,[],"" ' ms,B7,[],"" ' ms,C7,[],"" ' ms,D7,[],"" ' ms,E7,[],"" ' ms,F7,[],"" ' ms,G7,[],"" ' ms,H7,[],"" ' ms,A8,[],"" ' ms,B8,[],"" ' ms,C8,[],"" ' ms,D8,[],"" ' ms,E8,[],"" ' ms,F8,[],"" ' ms,G8,[],"" ' ms,H8,[],"" ' ms,A1,[],"" ' ms,B1,[],"" ' ms,C1,[],"" ' ms,D1,[],"" ' ms,E1,[],"" ' ms,F1,[],"" ' ms,G1,[],"" ' ms,H1,[],"" ' ms,A2,[],"" ' ms,B2,[],"" ' ms,C2,[],"" ' ms,D2,[],"" ' ms,E2,[],"" ' ms,F2,[],"" ' ms,G2,[],"" ' ms,H2,[],"" ' ms,A3,[],"" ' ms,B3,[],"" ' ms,C3,[],"" ' ms,D3,[],"" ' ms,E3,[],"" ' ms,F3,[],"" ' ms,G3,[],"" ' ms,H3,[],"" ' ms,A4,[],"" ' ms,B4,[],"" ' ms,C4,[],"" ' ms,D4,[],"" ' ms,E4,[],"" ' ms,F4,[],"" ' ms,G4,[],"" ' ms,H4,[],"" ' ms,A5,[],"" ' ms,B5,[],"" ' ms,C5,[],"" ' ms,D5,[],"" ' ms,E5,[],"" ' ms,F5,[],"" ' ms,G5,[],"" ' ms,H5,[],"" ' ms,A6,[],"" ' ms,B6,[],"" ' ms,C6,[],"" ' ms,D6,[],"" ' ms,E6,[],"" ' ms,F6,[],"" ' ms,G6,[],"" ' ms,H6,[],"" ' ms,A7,[],"" ' ms,B7,[],"" ' ms,C7,[],"" ' ms,D7,[],"" ' ms,E7,[],"" ' ms,F7,[],"" ' ms,G7,[],"" ' ms,H7,[],"" ' ms,A8,[],"" ' ms,B8,[],"" ' ms,C8,[],"" ' ms,D8,[],"" ' ms,E8,[],"" ' ms,F8,[],"" ' ms,G8,[],"" ' ms,H8,[],"" ' ms,A1,[],"" ' ms,B1,[],"" ' ms,C1,[],"" ' ms,D1,[],"" ' ms,E1,[],"" ' ms,F1,[],"" ' ms,G1,[],"" ' ms,H1,[],"" ' ms,A2,[],"" ' ms,B2,[],"" ' ms,C2,[],"" ' ms,D2,[],"" ' ms,E2,[],"" ' ms,F2,[],"" ' ms,G2,[],"" ' ms,H2,[],"" ' ms,A3,[],"" ' ms,B3,[],"" ' ms,C3,[],"" ' ms,D3,[],"" ' ms,E3,[],"" ' ms,F3,[],"" ' ms,G3,[],"" ' ms,H3,[],"" ' ms,A4,[],"" ' ms,B4,[],"" ' ms,C4,[],"" ' ms,D4,[],"" ' ms,E4,[],"" ' ms,F4,[],"" ' ms,G4,[],"" ' ms,H4,[],"" ' ms,A5,[],"" ' ms,B5,[],"" ' ms,C5,[],"" ' ms,D5,[],"" ' ms,E5,[],"" ' ms,F5,[],"" ' ms,G5,[],"" ' ms,H5,[],"" ' ms,A6,[],"" ' ms,B6,[],"" ' ms,C6,[],"" ' ms,D6,[],"" ' ms,E6,[],"" ' ms,F6,[],"" ' ms,G6,[],"" ' ms,H6,[],"" ' ms,A7,[],"" ' ms,B7,[],"" ' ms,C7,[],"" ' ms,D7,[],"" ' ms,E7,[],"" ' ms,F7,[],"" ' ms,G7,[],"" ' ms,H7,[],"" ' ms,A8,[],"" ' ms,B8,[],"" ' ms,C8,[],"" ' ms,D8,[],"" ' ms,E8,[],"" ' ms,F8,[],"" ' ms,G8,[],"" ' ms,H8,[],"" ' ms,A1,[],"" ' ms,B1,[],"" ' ms,C1,[],"" ' ms,D1,[],"" ' ms,E1,[],"" ' ms,F1,[],"" ' ms,G1,[],"" ' ms,H1,[],"" ' ms,A2,[],"" ' ms,B2,[],"" ' ms,C2,[],"" ' ms,D2,[],"" ' ms,E2,[],"" ' ms,F2,[],"" ' ms,G2,[],"" ' ms,H2,[],"" ' ms,A3,[],"" ' ms,B3,[],"" ' ms,C3,[],"" ' ms,D3,[],"" ' ms,E3,[],"" ' ms,F3,[],"" ' ms,G3,[],"" ' ms,H3,[],"" ' ms,A4,[],"" ' ms,B4,[],"" ' ms,C4,[],"" ' ms,D4,[],"" ' ms,E4,[],"" ' ms,F4,[],"" ' ms,G4,[],"" ' ms,H4,[],"" ' ms,A5,[],"" ' ms,B5,[],"" ' ms,C5,[],"" ' ms,D5,[],"" ' ms,E5,[],"" ' ms,F5,[],"" ' ms,G5,[],"" ' ms,H5,[],"" ' ms,A6,[],"" ' ms,B6,[],"" ' ms,C6,[],"" ' ms,D6,[],"" ' ms,E6,[],"" ' ms,F6,[],"" ' ms,G6,[],"" ' ms,H6,[],"" ' ms,A7,[],"" ' ms,B7,[],"" ' ms,C7,[],"" ' ms,D7,[],"" ' ms,E7,[],"" ' ms,F7,[],"" ' ms,G7,[],"" ' ms,H7,[],"" ' ms,A8,[],"" ' ms,B8,[],"" ' ms,C8,[],"" ' ms,D8,[],"" ' ms,E8,[],"" ' ms,F8,[],"" ' ms,G8,[],"" ' ms,H8,[],"" ' ms,A1,[],"" ' ms,B1,[],"" ' ms,C1,[],"" ' ms,D1,[],"" ' ms,E1,[],"" ' ms,F1,[],"" ' ms,G1,[],"" ' ms,H1,[],"" ' ms,A2,[],"" ' ms,B2,[],"" ' ms,C2,[],"" ' ms,D2,[],"" ' ms,E2,[],"" ' ms,F2,[],"" ' ms,G2,[],"" ' ms,H2,[],"" ' ms,A3,[],"" ' ms,B3,[],"" ' ms,C3,[],"" ' ms,D3,[],"" ' ms,E3,[],"" ' ms,F3,[],"" ' ms,G3,[],"" ' ms,H3,[],"" ' ms,A4,[],"" ' ms,B4,[],"" ' ms,C4,[],"" ' ms,D4,[],"" ' ms,E4,[],"" ' ms,F4,[],"" ' ms,G4,[],"" ' ms,H4,[],"" ' ms,A5,[],"" ' ms,B5,[],"" ' ms,C5,[],"" ' ms,D5,[],"" ' ms,E5,[],"" ' ms,F5,[],"" ' ms,G5,[],"" ' ms,H5,[],"" ' ms,A6,[],"" ' ms,B6,[],"" ' ms,C6,[],"" ' ms,D6,[],"" ' ms,E6,[],"" ' ms,F6,[],"" ' ms,G6,[],"" ' ms,H6,[],"" ' ms,A7,[],"" ' ms,B7,[],"" ' ms,C7,[],"" ' ms,D7,[],"" ' ms,E7,[],"" ' ms,F7,[],"" ' ms,G7,[],"" ' ms,H7,[],"" ' ms,A8,[],"" ' ms,B8,[],"" ' ms,C8,[],"" ' ms,D8,[],"" ' ms,E8,[],"" ' ms,F8,[],"" ' ms,G8,[],"" ' ms,H8,[],"" ' ms,A1,[],"" ' ms,B1,[],"" ' ms,C1,[],"" ' ms,D1,[],"" ' ms,E1,[],"" ' ms,F1,[],"" ' ms,G1,[],"" ' ms,H1,[],"" ' ms,A2,[],"" ' ms,B2,[],"" ' ms,C2,[],"" ' ms,D2,[],"" ' ms,E2,[],"" ' ms,F2,[],"" ' ms,G2,[],"" ' ms,H2,[],"" ' ms,A3,[],"" ' ms,B3,[],"" ' ms,C3,[],"" ' ms,D3,[],"" ' ms,E3,[],"" ' ms,F3,[],"" ' ms,G3,[],"" ' ms,H3,[],"" ' ms,A4,[],"" ' ms,B4,[],"" ' ms,C4,[],"" ' ms,D4,[],"" ' ms,E4,[],"" ' ms,F4,[],"" ' ms,G4,[],"" ' ms,H4,[],"" ' ms,A5,[],"" ' ms,B5,[],"" ' ms,C5,[],"" ' ms,D5,[],"" ' ms,E5,[],"" ' ms,F5,[],"" ' ms,G5,[],"" ' ms,H5,[],"" ' ms,A6,[],"" ' ms,B6,[],"" ' ms,C6,[],"" ' ms,D6,[],"" ' ms,E6,[],"" ' ms,F6,[],"" ' ms,G6,[],"" ' ms,H6,[],"" ' ms,A7,[],"" ' ms,B7,[],"" ' ms,C7,[],"" ' ms,D7,[],"" ' ms,E7,[],"" ' ms,F7,[],"" ' ms,G7,[],"" ' ms,H7,[],"" ' ms,A8,[],"" ' ms,B8,[],"" ' ms,C8,[],"" ' ms,D8,[],"" ' ms,E8,[],"" ' ms,F8,[],"" ' ms,G8,[],"" ' ms,H8,[],"" ' ms,A1,[],"" ' ms,B1,[],"" ' ms,C1,[],"" ' ms,D1,[],"" ' ms,E1,[],"" ' ms,F1,[],"" ' ms,G1,[],"" ' ms,H1,[],"" ' ms,A2,[],"" ' ms,B2,[],"" ' ms,C2,[],"" ' ms,D2,[],"" ' ms,E2,[],"" ' ms,F2,[],"" ' ms,G2,[],"" ' ms,H2,[],"" ' ms,A3,[],"" ' ms,B3,[],"" ' ms,C3,[],"" ' ms,D3,[],"" ' ms,E3,[],"" ' ms,F3,[],"" ' ms,G3,[],"" ' ms,H3,[],"" ' ms,A4,[],"" ' ms,B4,[],"" ' ms,C4,[],"" ' ms,D4,[],"" ' ms,E4,[],"" ' ms,F4,[],"" ' ms,G4,[],"" ' ms,H4,[],"" ' ms,A5,[],"" ' ms,B5,[],"" ' ms,C5,[],"" ' ms,D5,[],"" ' ms,E5,[],"" ' ms,F5,[],"" ' ms,G5,[],"" ' ms,H5,[],"" ' ms,A6,[],"" ' ms,B6,[],"" ' ms,C6,[],"" ' ms,D6,[],"" ' ms,E6,[],"" ' ms,F6,[],"" ' ms,G6,[],"" ' ms,H6,[],"" ' ms,A7,[],"" ' ms,B7,[],"" ' ms,C7,[],"" ' ms,D7,[],"" ' ms,E7,[],"" ' ms,F7,[],"" ' ms,G7,[],"" ' ms,H7,[],"" ' ms,A8,[],"" ' ms,B8,[],"" ' ms,C8,[],"" ' ms,D8,[],"" ' ms,E8,[],"" ' ms,F8,[],"" ' ms,G8,[],"" ' ms,H8,[],"" ' ms,A1,[],"" ' ms,B1,[],"" ' ms,C1,[],"" ' ms,D1,[],"" ' ms,E1,[],"" ' ms,F1,[],"" ' ms,G1,[],"" ' ms,H1,[],"" ' ms,A2,[],"" ' ms,B2,[],"" ' ms,C2,[],"" ' ms,D2,[],"" ' ms,E2,[],"" ' ms,F2,[],"" ' ms,G2,[],"" ' ms,H2,[],"" ' ms,A3,[],"" ' ms,B3,[],"" ' ms,C3,[],"" ' ms,D3,[],"" ' ms,E3,[],"" ' ms,F3,[],"" ' ms,G3,[],"" ' ms,H3,[],"" ' ms,A4,[],"" ' ms,B4,[],"" ' ms,C4,[],"" ' ms,D4,[],"" ' ms,E4,[],"" ' ms,F4,[],"" ' ms,G4,[],"" ' ms,H4,[],"" ' ms,A5,[],"" ' ms,B5,[],"" ' ms,C5,[],"" ' ms,D5,[],"" ' ms,E5,[],"" ' ms,F5,[],"" ' ms,G5,[],"" ' ms,H5,[],"" ' ms,A6,[],"" ' ms,B6,[],"" ' ms,C6,[],"" ' ms,D6,[],"" ' ms,E6,[],"" ' ms,F6,[],"" ' ms,G6,[],"" ' ms,H6,[],"" ' ms,A7,[],"" ' ms,B7,[],"" ' ms,C7,[],"" ' ms,D7,[],"" ' ms,E7,[],"" ' ms,F7,[],"" ' ms,G7,[],"" ' ms,H7,[],"" ' ms,A8,[],"" ' ms,B8,[],"" ' ms,C8,[],"" ' ms,D8,[],"" ' ms,E8,[],"" ' ms,F8,[],"" ' ms,G8,[],"" ' ms,H8,[],"" |
|||
macros.bas |
vba-macro | oletools.olevba.extract_macros (decoded VBA source) | 27370 bytes |
SHA-256: 1993a1b6bbc40f8189298cad226848361cd8af404b47e5aeade11ddd4fa803da |
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "ThisWorkbook"
Attribute VB_Base = "0{00020819-0000-0000-C000-000000000046}"
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Dim bCount As Integer
Private Sub Workbook_Open()
ShotCount
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
On Error GoTo TheReset
If ShotCount Then
TheLevel = Worksheets("lv1").Range("m3").Value + 1
TheScore = 1000 - (TheLevel * 3 * bCount)
MsgBox "The game is over! Your score is " & TheScore & " out of 1000.", , "Congratulations!"
Exit Sub
End If
With Target
If .Address = Range("m1").Address Then
Application.ScreenUpdating = False
Application.EnableEvents = False
If .Value = "Mark Bomb Position" Then
For y = 1 To 8
Set lvSheet = Worksheets("lv" & y)
With lvSheet
.Unprotect
.Range("m1").Value = "Bomb Marking OFF"
.Protect
End With
Next
Else
For z = 1 To 8
Set lvSheet = Worksheets("lv" & z)
With lvSheet
.Unprotect
.Range("m1").Value = "Mark Bomb Position"
.Protect
End With
Next
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
Exit Sub
End If
If ShotCount Then Exit Sub
If ActiveCell.Address <> .Address Then Exit Sub 'if it is not a single cell selection
If Intersect(Range(strRange), Target) Is Nothing Then Exit Sub 'if the selection is not on the board
If .Interior.PatternColorIndex = xlNone Then Exit Sub 'if the cell is already unhidden
ActiveSheet.Unprotect
If Range("m1").Value = "Mark Bomb Position" Then
If .NumberFormat = """?"" ;""?"";""?"" ;""?""" Then
.NumberFormat = """"" ;"""";"""" ;"""""
.Font.ColorIndex = 15
.Font.FontStyle = "Normal"
If .Value = "M" Then
.Font.Name = "Wingdings"
End If
ActiveSheet.Protect
Exit Sub
Else
.NumberFormat = "General"
.Interior.PatternColorIndex = xlNone
.Font.ColorIndex = xlAutomatic
End If
If .Value = "M" Then
ShotCount
If bCount > 1 Then
bString = " bombs"
Else
bString = " bomb"
End If
MsgBox "KABOOM!", , "You have hit " & bCount & bString & " so far!"
End If
Else
If .NumberFormat = """?"" ;""?"";""?"" ;""?""" Then Exit Sub
If .Interior.PatternColorIndex = xlNone Then Exit Sub
.NumberFormat = """?"" ;""?"";""?"" ;""?"""
With .Font
.Name = "Arial"
.FontStyle = "Bold"
.ColorIndex = 3
End With
End If
End With
ActiveSheet.Protect
TheReset:
ActiveSheet.Protect
Application.EnableEvents = True
End Sub
Function ShotCount() As Boolean
ShotCount = False
sCount = 0
bCount = 0
For s = 1 To 8
For Each sCell In Worksheets("lv" & s).Range(strRange)
If sCell.Font.ColorIndex = xlAutomatic Then
sCount = sCount + 1
End If
If sCell.Font.Name = "Wingdings" And sCell.Font.ColorIndex = xlAutomatic Then
bCount = bCount + 1
End If
Next
Next
fCount = sCount - bCount
If fCount = 448 Then
ShotCount = True
End If
End Function
Attribute VB_Name = "Sheet1"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Attribute VB_Control = "cbut1, 7, 0, MSForms, CommandButton"
Attribute VB_Control = "cbut2, 76, 1, MSForms, CommandButton"
Attribute VB_Control = "cbut3, 78, 2, MSForms, CommandButton"
Private Sub cbut1_Click()
ResetGameBoard
End Sub
Private Sub cbut2_Click()
TheInstructions
End Sub
Private Sub cbut3_Click()
AboutThisGame
End Sub
Attribute VB_Name = "Sheet2"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Attribute VB_Name = "Sheet211"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Attribute VB_Name = "Sheet11"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Attribute VB_Name = "Sheet21"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Attribute VB_Name = "Sheet12"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Attribute VB_Name = "Sheet22"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Attribute VB_Name = "Sheet111"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Attribute VB_Name = "modMain"
Public Const strRange = "a1:h8"
Sub ResetGameBoard()
Application.ScreenUpdating = False
With Application
calcVar = .Calculation
bIter = .Iteration
vMaxIter = .MaxIterations
.Calculation = xlManual
.Iteration = True
.MaxIterations = 1000
End With
For c = 1 To 8
Set mSht = Sheets("ms" & c)
Set bSht = Sheets("lv" & c)
With bSht
.Unprotect
.Range("m1").Value = "Mark Bomb Position"
mSht.Range(strRange).Copy Destination:=.Range(strRange)
Randomize
n = 0
Do Until n > 7
x = Int((8 * Rnd))
y = Int((8 * Rnd))
With .Range(strRange).Offset(x, y).Resize(1, 1)
If .Formula <> "M" Then
.Formula = "M"
.Font.Name = "Wingdings"
n = n + 1
End If
End With
Loop
End With
Next
Calculate
For f = 1 To 8
Set fSht = Sheets("lv" & f)
With fSht
.Activate
.Range(strRange).Copy
.Range(strRange).PasteSpecial xlValues
.Range("j2").Select
For Each uCell In .Range(strRange)
With uCell
If .Value < Worksheets("lv1").Range("m3").Value Then
.Interior.PatternColorIndex = xlNone
.NumberFormat = "General"
.Font.ColorIndex = xlAutomatic
End If
End With
Next
.Protect
End With
Next
Application.CutCopyMode = False
Worksheets("lv1").Activate
With Application
.Calculation = calcVar
.Iteration = bIter
.MaxIterations = vMaxIter
End With
Application.ScreenUpdating = True
End Sub
Sub TheInstructions()
msgStr = "Click New Game to start. Setup is determined by the selected game option." & Chr(10)
msgStr = msgStr & "The Unhide Cells <1 option produces a board with cells displayed that have " & Chr(10)
msgStr = msgStr & "no adjacent bombs. As an example, if cell E2 on sheet lv2 contains a zero," & Chr(10)
msgStr = msgStr & "then the range D1:F3 on sheets lv1, lv2 and lv3 contains no bombs. The" & Chr(10)
msgStr = msgStr & "Unhide Cells <4 option displays cells with 0-3 adjacent bombs and this is the" & Chr(10)
msgStr = msgStr & "easiest game option. Click on a cell to unhide it." & Chr(10) & Chr(13) & Chr(13)
msgStrA = "To mark a cell as a suspected bomb, select the cell with the label Mark Bomb" & Chr(10)
msgStrA = msgStrA & "Position on any sheet. The text in this cell will change to Bomb Marking OFF." & Chr(10)
msgStrA = msgStrA & "A question mark will be added to any hidden cell when clicked. Select the " & Chr(10)
msgStrA = msgStrA & "cell with the label Bomb Marking OFF to turn off this feature." & Chr(10) & Chr(13) & Chr(13)
msgStrB = "The game is complete when all of the cells not containing bombs have been " & Chr(10)
msgStrB = msgStrB & "uncovered. Your score is determined by the # of bombs you hit and the option" & Chr(10)
msgStrB = msgStrB & "that you selected. The highest possible score is 1000. Since this is a long " & Chr(10)
msgStrB = msgStrB & "game (minimum of 448 moves), it was made to be saved at any stage." & Chr(10)
MsgBox msgStr & msgStrA & msgStrB, , "Mine3D Game Instructions"
End Sub
Sub AboutThisGame()
msgStr = "The inspiration for this game came from someone who thought that a " & Chr(10)
msgStr = msgStr & "previous game that I had made was similar to a minesweeper-style" & Chr(10)
msgStr = msgStr & "game. I overcame several technical challenges in the making of this" & Chr(10)
msgStr = msgStr & "game, not the least of which was dealing with how Excel handles " & Chr(10)
msgStr = msgStr & "circular references. Feel free to dig into the guts of the game to find" & Chr(10)
msgStr = msgStr & "out how I did this. All of the code is unprotected. You can use any parts" & Chr(10)
msgStr = msgStr & "of it in your own projects, but do not modify the code in this workbook" & Chr(10)
msgStr = msgStr & "in any way. I hope that you enjoy this game!" & Chr(10) & Chr(13) & Chr(13)
msgStrA = "Contact David Hager at dchager@compuserve.com for Excel " & Chr(10)
msgStrA = msgStrA & "consulting work." & Chr(10)
MsgBox msgStr & msgStrA, , "About Mine3D..."
End Sub
' Processing file: /opt/analyzer/scan_staging/323145ca9624446eb9185c8c7200831d.bin
' ===============================================================================
' Module streams:
' _VBA_PROJECT_CUR/VBA/ThisWorkbook - 24437 bytes
' Line #0:
' Line #1:
' Line #2:
' Dim
' VarDefn bCount (As Integer)
' Line #3:
' Line #4:
' FuncDefn (Private Sub Workbook_Open())
' Line #5:
' ArgsCall ShotCount 0x0000
' Line #6:
' EndSub
' Line #7:
' Line #8:
' FuncDefn (Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As ))
' Line #9:
' Line #10:
' OnError TheReset
' Line #11:
' Line #12:
' Ld ShotCount
' IfBlock
' Line #13:
' LitStr 0x0002 "m3"
' LitStr 0x0003 "lv1"
' ArgsLd Worksheets 0x0001
' ArgsMemLd Range 0x0001
' MemLd Value
' LitDI2 0x0001
' Add
' St TheLevel
' Line #14:
' LitDI2 0x03E8
' Ld TheLevel
' LitDI2 0x0003
' Mul
' Ld bCount
' Mul
' Paren
' Sub
' St TheScore
' Line #15:
' LitStr 0x0020 "The game is over! Your score is "
' Ld TheScore
' Concat
' LitStr 0x000D " out of 1000."
' Concat
' ParamOmitted
' LitStr 0x0010 "Congratulations!"
' ArgsCall MsgBox 0x0003
' Line #16:
' ExitSub
' Line #17:
' EndIfBlock
' Line #18:
' Line #19:
' StartWithExpr
' Ld Target
' With
' Line #20:
' Line #21:
' MemLdWith Address
' LitStr 0x0002 "m1"
' ArgsLd Range 0x0001
' MemLd Address
' Eq
' IfBlock
' Line #22:
' Line #23:
' LitVarSpecial (False)
' Ld Application
' MemSt ScreenUpdating
' Line #24:
' Line #25:
' LitVarSpecial (False)
' Ld Application
' MemSt EnableEvents
' Line #26:
' Line #27:
' MemLdWith Value
' LitStr 0x0012 "Mark Bomb Position"
' Eq
' IfBlock
' Line #28:
' Line #29:
' StartForVariable
' Ld y
' EndForVariable
' LitDI2 0x0001
' LitDI2 0x0008
' For
' Line #30:
' SetStmt
' LitStr 0x0002 "lv"
' Ld y
' Concat
' ArgsLd Worksheets 0x0001
' Set lvSheet
' Line #31:
' StartWithExpr
' Ld lvSheet
' With
' Line #32:
' ArgsMemCallWith Unprotect 0x0000
' Line #33:
' LitStr 0x0010 "Bomb Marking OFF"
' LitStr 0x0002 "m1"
' ArgsMemLdWith Range 0x0001
' MemSt Value
' Line #34:
' ArgsMemCallWith Protect 0x0000
' Line #35:
' EndWith
' Line #36:
' StartForVariable
' Next
' Line #37:
' Line #38:
' ElseBlock
' Line #39:
' Line #40:
' StartForVariable
' Ld z
' EndForVariable
' LitDI2 0x0001
' LitDI2 0x0008
' For
' Line #41:
' SetStmt
' LitStr 0x0002 "lv"
' Ld z
' Concat
' ArgsLd Worksheets 0x0001
' Set lvSheet
' Line #42:
' StartWithExpr
' Ld lvSheet
' With
' Line #43:
' ArgsMemCallWith Unprotect 0x0000
' Line #44:
' LitStr 0x0012 "Mark Bomb Position"
' LitStr 0x0002 "m1"
' ArgsMemLdWith Range 0x0001
' MemSt Value
' Line #45:
' ArgsMemCallWith Protect 0x0000
' Line #46:
' EndWith
' Line #47:
' StartForVariable
' Next
' Line #48:
' Line #49:
' EndIfBlock
' Line #50:
' Line #51:
' LitVarSpecial (True)
' Ld Application
' MemSt EnableEvents
' Line #52:
' Line #53:
' LitVarSpecial (True)
' Ld Application
' MemSt ScreenUpdating
' Line #54:
' Line #55:
' ExitSub
' Line #56:
' Line #57:
' EndIfBlock
' Line #58:
' Line #59:
' Ld ShotCount
' If
' BoSImplicit
' ExitSub
' EndIf
' Line #60:
' Line #61:
' Ld ActiveCell
' MemLd Address
' MemLdWith Address
' Ne
' If
' BoSImplicit
' ExitSub
' EndIf
' QuoteRem 0x0036 0x0024 "if it is not a single cell selection"
' Line #62:
' Line #63:
' Line #64:
' Ld strRange
' ArgsLd Range 0x0001
' Ld Target
' ArgsLd Intersect 0x0002
' LitNothing
' Is
' If
' BoSImplicit
' ExitSub
' EndIf
' QuoteRem 0x0045 0x0024 "if the selection is not on the board"
' Line #65:
' Line #66:
' MemLdWith Interior
' MemLd PatternColorIndex
' Ld xlNone
' Eq
' If
' BoSImplicit
' ExitSub
' EndIf
' QuoteRem 0x003D 0x001F "if the cell is already unhidden"
' Line #67:
' Line #68:
' Ld ActiveSheet
' ArgsMemCall Unprotect 0x0000
' Line #69:
' Line #70:
' LitStr 0x0002 "m1"
' ArgsLd Range 0x0001
' MemLd Value
' LitStr 0x0012 "Mark Bomb Position"
' Eq
' IfBlock
' Line #71:
' Line #72:
' Line #73:
' MemLdWith NumberFormat
' LitStr 0x0011 ""?" ;"?";"?" ;"?""
' Eq
' IfBlock
' Line #74:
' Line #75:
' LitStr 0x000D """ ;"";"" ;"""
' MemStWith NumberFormat
' Line #76:
' LitDI2 0x000F
' MemLdWith Font
' MemSt ColorIndex
' Line #77:
' LitStr 0x0006 "Normal"
' MemLdWith Font
' MemSt FontStyle
' Line #78:
' MemLdWith Value
' LitStr 0x0001 "M"
' Eq
' IfBlock
' Line #79:
' LitStr 0x0009 "Wingdings"
' MemLdWith Font
' MemSt New
' Line #80:
' EndIfBlock
' Line #81:
' Ld ActiveSheet
' ArgsMemCall Protect 0x0000
' Line #82:
' ExitSub
' Line #83:
' Line #84:
' ElseBlock
' Line #85:
' Line #86:
' LitStr 0x0007 "General"
' MemStWith NumberFormat
' Line #87:
' Ld xlNone
' MemLdWith Interior
' MemSt PatternColorIndex
' Line #88:
' Ld xlAutomatic
' MemLdWith Font
' MemSt ColorIndex
' Line #89:
' Line #90:
' EndIfBlock
' Line #91:
' Line #92:
' MemLdWith Value
' LitStr 0x0001 "M"
' Eq
' IfBlock
' Line #93:
' ArgsCall ShotCount 0x0000
' Line #94:
' Ld bCount
' LitDI2 0x0001
' Gt
' IfBlock
' Line #95:
' LitStr 0x0006 " bombs"
' St bString
' Line #96:
' ElseBlock
' Line #97:
' LitStr 0x0005 " bomb"
' St bString
' Line #98:
' EndIfBlock
' Line #99:
' LitStr 0x0007 "KABOOM!"
' ParamOmitted
' LitStr 0x000D "You have hit "
' Ld bCount
' Concat
' Ld bString
' Concat
' LitStr 0x0008 " so far!"
' Concat
' ArgsCall MsgBox 0x0003
' Line #100:
' EndIfBlock
' Line #101:
' Line #102:
' ElseBlock
' Line #103:
' Line #104:
' Line #105:
' MemLdWith NumberFormat
' LitStr 0x0011 ""?" ;"?";"?" ;"?""
' Eq
' If
' BoSImplicit
' ExitSub
' EndIf
' Line #106:
' MemLdWith Interior
' MemLd PatternColorIndex
' Ld xlNone
' Eq
' If
' BoSImplicit
' ExitSub
' EndIf
' Line #107:
' LitStr 0x0011 ""?" ;"?";"?" ;"?""
' MemStWith NumberFormat
' Line #108:
' StartWithExpr
' MemLdWith Font
' With
' Line #109:
' LitStr 0x0005 "Arial"
' MemStWith New
' Line #110:
' LitStr 0x0004 "Bold"
' MemStWith FontStyle
' Line #111:
' LitDI2 0x0003
' MemStWith ColorIndex
' Line #112:
' EndWith
' Line #113:
' Line #114:
' EndIfBlock
' Line #115:
' Line #116:
' EndWith
' Line #117:
' Line #118:
' Ld ActiveSheet
' ArgsMemCall Protect 0x0000
' Line #119:
' Line #120:
' Label TheReset
' Line #121:
' Ld ActiveSheet
' ArgsMemCall Protect 0x0000
' Line #122:
' LitVarSpecial (True)
' Ld Application
' MemSt EnableEvents
' Line #123:
' EndSub
' Line #124:
' Line #125:
' FuncDefn (Function ShotCount(id_FFFE As Boolean) As Boolean)
' Line #126:
' LitVarSpecial (False)
' St ShotCount
' Line #127:
' LitDI2 0x0000
' St sCount
' Line #128:
' LitDI2 0x0000
' St bCount
' Line #129:
' StartForVariable
' Ld s
' EndForVariable
' LitDI2 0x0001
' LitDI2 0x0008
' For
' Line #130:
' StartForVariable
' Ld sCell
' EndForVariable
' Ld strRange
' LitStr 0x0002 "lv"
' Ld s
' Concat
' ArgsLd Worksheets 0x0001
' ArgsMemLd Range 0x0001
' ForEach
' Line #131:
' Ld sCell
' MemLd Font
' MemLd ColorIndex
' Ld xlAutomatic
' Eq
' IfBlock
' Line #132:
' Ld sCount
' LitDI2 0x0001
' Add
' St sCount
' Line #133:
' EndIfBlock
' Line #134:
' Ld sCell
' MemLd Font
' MemLd New
' LitStr 0x0009 "Wingdings"
' Eq
' Ld sCell
' MemLd Font
' MemLd ColorIndex
' Ld xlAutomatic
' Eq
' And
' IfBlock
' Line #135:
' Ld bCount
' LitDI2 0x0001
' Add
' St bCount
' Line #136:
' EndIfBlock
' Line #137:
' StartForVariable
' Next
' Line #138:
' StartForVariable
' Next
' Line #139:
' Ld sCount
' Ld bCount
' Sub
' St fCount
' Line #140:
' Ld fCount
' LitDI2 0x01C0
' Eq
' IfBlock
' Line #141:
' LitVarSpecial (True)
' St ShotCount
' Line #142:
' EndIfBlock
' Line #143:
' EndFunc
' _VBA_PROJECT_CUR/VBA/Sheet1 - 4848 bytes
' Error: unpack_from requires a buffer of at least 2387629 bytes for unpacking 2 bytes at offset 2387627 (actual buffer size is 4848).
' _VBA_PROJECT_CUR/VBA/Sheet2 - 1934 bytes
' Line #0:
' _VBA_PROJECT_CUR/VBA/Sheet211 - 1682 bytes
' _VBA_PROJECT_CUR/VBA/Sheet11 - 1681 bytes
' _VBA_PROJECT_CUR/VBA/Sheet21 - 2199 bytes
' Line #0:
' _VBA_PROJECT_CUR/VBA/Sheet12 - 1681 bytes
' _VBA_PROJECT_CUR/VBA/Sheet22 - 1681 bytes
' _VBA_PROJECT_CUR/VBA/Sheet111 - 1682 bytes
' _VBA_PROJECT_CUR/VBA/modMain - 24306 bytes
' Line #0:
' Dim (Public Const)
' LitStr 0x0005 "a1:h8"
' VarDefn strRange
' Line #1:
' Line #2:
' Line #3:
' FuncDefn (Sub ResetGameBoard())
' Line #4:
' Line #5:
' LitVarSpecial (False)
' Ld Application
' MemSt ScreenUpdating
' Line #6:
' Line #7:
' StartWithExpr
' Ld Application
' With
' Line #8:
' MemLdWith Calculation
' St calcVar
' Line #9:
' MemLdWith Iteration
' St bIter
' Line #10:
' MemLdWith MaxIterations
' St vMaxIter
' Line #11:
' Ld xlManual
' MemStWith Calculation
' Line #12:
' LitVarSpecial (True)
' MemStWith Iteration
' Line #13:
' LitDI2 0x03E8
' MemStWith MaxIterations
' Line #14:
' EndWith
' Line #15:
' Line #16:
' StartForVariable
' Ld c
' EndForVariable
' LitDI2 0x0001
' LitDI2 0x0008
' For
' Line #17:
' Line #18:
' SetStmt
' LitStr 0x0002 "ms"
' Ld c
' Concat
' ArgsLd Sheets 0x0001
' Set mSht
' Line #19:
' SetStmt
' LitStr 0x0002 "lv"
' Ld c
' Concat
' ArgsLd Sheets 0x0001
' Set bSht
' Line #20:
' Line #21:
' StartWithExpr
' Ld bSht
' With
' Line #22:
' ArgsMemCallWith Unprotect 0x0000
' Line #23:
' LitStr 0x0012 "Mark Bomb Position"
' LitStr 0x0002 "m1"
' ArgsMemLdWith Range 0x0001
' MemSt Value
' Line #24:
' Ld strRange
' ArgsMemLdWith Range 0x0001
' ParamNamed Destination
' Ld strRange
' Ld mSht
' ArgsMemLd Range 0x0001
' ArgsMemCall Copy 0x0001
' Line #25:
' Line #26:
' ArgsCall Read 0x0000
' Line #27:
' Line #28:
' LitDI2 0x0000
' St n
' Line #29:
' Line #30:
' Ld n
' LitDI2 0x0007
' Gt
' DoUnitil
' Line #31:
' LitDI2 0x0008
' Ld Rnd
' Mul
' Paren
' FnInt
' St x
' Line #32:
' LitDI2 0x0008
' Ld Rnd
' Mul
' Paren
' FnInt
' St y
' Line #33:
' StartWithExpr
' LitDI2 0x0001
' LitDI2 0x0001
' Ld x
' Ld y
' Ld strRange
' ArgsMemLdWith Range 0x0001
' ArgsMemLd Offset 0x0002
' ArgsMemLd Resize 0x0002
' With
' Line #34:
' MemLdWith Formula
' LitStr 0x0001 "M"
' Ne
' IfBlock
' Line #35:
' LitStr 0x0001 "M"
' MemStWith Formula
' Line #36:
' LitStr 0x0009 "Wingdings"
' MemLdWith Font
' MemSt New
' Line #37:
' Ld n
' LitDI2 0x0001
' Add
' St n
' Line #38:
' EndIfBlock
' Line #39:
' EndWith
' Line #40:
' Loop
' Line #41:
' Line #42:
' EndWith
' Line #43:
' Line #44:
' StartForVariable
' Next
' Line #45:
' Line #46:
' ArgsCall Calculate 0x0000
' Line #47:
' Line #48:
' StartForVariable
' Ld False
' EndForVariable
…
|
|||
embedded_office_0002fff0.exe |
embedded-pe | Office MZ+PE at offset 0x2FFF0 | 204816 bytes |
SHA-256: 3a7c9a99a033ba891cff085754552250ac10fca29cb4ee20b3b0f6dd3d27f724 |
|||
Open this report in the interactive analyzer, or submit your own file for analysis.