focht
February 14th, 2004, 05:11
Greetings,
while working on my OllydbgScript COM wrapper i came across "search command sequence".
Usually one uses "CTRL+S" to find sequence of commands.
The current functionality of ollydbg allows for "imprecise pattern search" - a nifty feature.
I'd like to see this functionality exposed in plugin API.
like: "int Findcommandsequence( ulong startAddr, const char* sequence);"
Command sequences itself should be delimeted by predefined char (like "|"
.
Currently my wrapper implements this functionality at basic level using a combination of
Assemble, Findmemory, Disassembleforward, binary search with imprecise opcode mask which allows "popad | jnz offset" searches.
(*g* yes i looked at the ollyscript scripts floating around to get some ideas).
Another problem when using imprecise syntax is operand size for conditionals: short/long jumps.
Currently "jnz OFFSET" assembles to short jump.
If the opcode sequence uses long jump no avail ;-(
Please add operand for "short/long" differentiation...
Of course there would be no problem at all if "search for command sequence" is exposed via plugin API so i dont need to reimplement this.
Regards,
A. Focht
while working on my OllydbgScript COM wrapper i came across "search command sequence".
Usually one uses "CTRL+S" to find sequence of commands.
The current functionality of ollydbg allows for "imprecise pattern search" - a nifty feature.
I'd like to see this functionality exposed in plugin API.
like: "int Findcommandsequence( ulong startAddr, const char* sequence);"
Command sequences itself should be delimeted by predefined char (like "|"

Currently my wrapper implements this functionality at basic level using a combination of
Assemble, Findmemory, Disassembleforward, binary search with imprecise opcode mask which allows "popad | jnz offset" searches.
(*g* yes i looked at the ollyscript scripts floating around to get some ideas).
Another problem when using imprecise syntax is operand size for conditionals: short/long jumps.
Currently "jnz OFFSET" assembles to short jump.
If the opcode sequence uses long jump no avail ;-(
Please add operand for "short/long" differentiation...
Of course there would be no problem at all if "search for command sequence" is exposed via plugin API so i dont need to reimplement this.

Regards,
A. Focht