Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- rule some_packer {
- strings:
- // strlen the xor_key
- $strlen1 = {
- FF 15 ?? ?? ?? ??
- ?? ?? ??
- 89 45 ??
- 85 C0
- 7E (4C | 6F)
- }
- // strlen the xor_key
- $strlen2 = {
- FF 15 ?? ?? ?? ??
- 89 45 ??
- 85 C0
- 7E ??
- }
- $strlen3 = {
- FF 15 ?? ?? ?? ??
- 89 45 ??
- C7 45 ?? ?? ?? ?? ??
- EB ??
- }
- $strlen4 = {
- 8B F8
- 33 (D2 | F6)
- 85 (F6 | FF)
- 7E ??
- }
- $strlen5 = {
- 8B F0
- 33 (D2 | F6)
- 85 (F6 | FF)
- 7E ??
- }
- $outer_xor_loop1 = {
- 8A 04 ??
- 34 ??
- [0-8] 8B ??
- 3B FE
- }
- $outer_xor_loop2 = {
- 8B 55 ??
- 0F B6 82 ?? ?? ?? ??
- [0-8] 88 45 ??
- 8B 4D ??
- 03 4D ??
- 89 4D ??
- 8B 55 ??
- 03 55 ??
- 89 55 ??
- }
- $inner_xor_loop1 = {
- 8A D3
- DD D8
- 2A 55 ??
- 83 C4 ??
- 80 E2 ??
- 32 55 ??
- 30 13
- 03 5D ??
- 3B DE
- 72 ??
- }
- $inner_xor_loop2 = {
- 8A (D9 | D3)
- 2A DA
- 80 E3 ??
- 32 19
- 32 D8
- 88 19
- 03 4D ??
- 3B CE
- 72 ??
- }
- $inner_xor_loop3 = {
- 83 C4 ??
- 8B 55 ??
- 0F B6 02
- 0F B6 4D ??
- 33 C1
- 8B 55 ??
- 2B 55 ??
- 0F B6 CA
- (81 | 83) E1
- [0-8] 33 C1
- 8B 55 ??
- 88 02
- }
- $xor_loop1 = {
- 8A C1
- 2A 45 ??
- [0-8 ] 24 ??
- 32 (C3 | C4)
- 30 01
- 03 CE
- 81 F9 ?? ?? ?? ??
- }
- $xor_loop2 = {
- 8A C3
- B9 ?? ?? ?? ??
- 2A C1
- 83 C4 ??
- [0-8] 24 ??
- 32 45 ??
- 30 03
- 03 DF
- 81 FB ?? ?? ?? ??
- }
- condition:
- uint16(0) == 0x5a4d
- and
- uint32(uint32(0x3c)) == 0x4550
- and
- 1 of ($strlen*)
- and
- 1 of ($inner_xor_loop*)
- and
- 1 of ($outer_xor_loop*)
- or
- 1 of ($xor_loop*)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement