View Single Post
TheDS1337
Veteran Member
Join Date: Jun 2012
Old 06-18-2013 , 13:01   Re: Orpheu: How to make signatures (of bytes)
Reply With Quote #93

Arkshine, can you explain me "replace any memory references with '?'" i didn't understand any things on the picture ;(
and this:
Quote:
51 push ecx // no memory reference.
└────── Opcode ────────┴───────┘ // 51
(fixed form)

56 push esi // no memory reference.
└────── Opcode ────────┴───────┘ // 51 56
(fixed form)

8B F1 mov esi, ecx // no memory reference.
└──┼───── Opcode ──────┘ │ │ // 51 56 8B F1
└───── ModR/M ──────────────┴────┘

8B 86 00 01 00 00 mov eax, [esi+100h] // 100h is an offset. It may change.
└──┼──┼── Opcode ──────┘ │ │ │ // 51 56 8B F1 8B 86 ? ? ? ?
└──┼── ModR/M ──────────────┴─────┘ │
└── Displacement ──────────────────┘
83 F8 01 cmp eax, 1 // no memory reference, but an hardcoded value. It may change by a plugin or something.
└──┼──┼── Opcode ──────┘ │ │ // 51 56 8B F1 8B 86 ? ? ? ? 83 F8 ?
└──┼── ModR/M ──────────────┘ │
└── Immediate ───────────────┘

89 44 24 04 mov [esp+8+var_4], eax // When you click right on it, you see 8+var_4 is equal to 4, a relative offset.
└──┼──┼──┼─ Opcode ────┘ │ │ │ │ // Anyway, it may change. I've notived also the SIB is generally different on cz.
└──┼──┼─ ModR/M ─────────────┼──┼───┼──────┘ // 51 56 8B F1 8B 86 ? ? ? ? 83 F8 ? 89 44 ? ?
└──┼─ SIB ────────────────┘ │ │
└─ Displacement ──────────┴───┘

Last edited by TheDS1337; 06-18-2013 at 13:03.
TheDS1337 is offline