Jump to content
Tuts 4 You

what are those that x64dbg equivalence to ollydbg command sequences search?


Sean the hard worker

Recommended Posts

Sean the hard worker
Posted (edited)
mov r32,[r32]
cmp [r32],r32
pushfd

if i use ollydbg, i can use above syntax to find all matches. however, when using x64dbg, what should i do to find all matches of command sequences?

sean.

Edited by windowbase
  • Like 1
Posted

Hi,

there is no available option for this in x64dbg yet.

However. you can try searching for a sequence of code by pattern altogether.

Posted
3 hours ago, windowbase said:

if i use ollydbg, i can use above asyntax to find all matches. however, when using x64dbg, what should i do to find all matches of command sequences?

sean.

I see you very energized recently on forum

how about we work together and add support for Ollyplugins into Ollyx64? :)

 

Sean the hard worker
Posted (edited)
2 hours ago, jackyjask said:

how about we work together and add support for Ollyplugins into Ollyx64? :)

is there any ongoing project there? if any, let me know please. 

sean.

Edited by windowbase
  • Like 1
Posted

No there is not, ... there is only last message from Ollydebugger author - "The development is frozen. Sorry.
For those who still want to try
the incomplete 64-bit version: odbg64.zip"

see the top message here

  • 1 month later...
Posted
On 6/20/2023 at 12:30 AM, Kirbiflint said:

is no available option for this in x64dbg yet.

There are two private plugins I have written myself, which can support to search sequences for command for xDbg.

They are not yet complete and have many bugs, currently in version 0.0.0.2. They may continue to update in the future...

PS:
I am trying to solve how to be compatible ?? ?? Fuzzy matching of forms and special mnemonics, such as the problem of CONST or R32/R16 or [R32]/[R16]
Who can provide some ideas?

Search4Sequences_v0.002_x86_x64.rar

2023-08-02_093539.jpg.f85e3c890afeee0b3e71462e0d6c86a5.jpg

2023-08-02_093619.jpg.cf7551206a6b046341d80aa34fe1cb1a.jpg

2023-08-02_093705.jpg.c29523b7cbfbe75c7588e2f2629a2a91.jpg

Sean the hard worker
Posted
6 hours ago, boot said:

There are two private plugins I have written myself, which can support to search sequences for command for xDbg.

They are not yet complete and have many bugs, currently in version 0.0.0.2. They may continue to update in the future...

PS:
I am trying to solve how to be compatible ?? ?? Fuzzy matching of forms and special mnemonics, such as the problem of CONST or R32/R16 or [R32]/[R16]
Who can provide some ideas?

Search4Sequences_v0.002_x86_x64.rar 14.56 MB · 7 downloads

2023-08-02_093539.jpg.f85e3c890afeee0b3e71462e0d6c86a5.jpg

2023-08-02_093619.jpg.cf7551206a6b046341d80aa34fe1cb1a.jpg

2023-08-02_093705.jpg.c29523b7cbfbe75c7588e2f2629a2a91.jpg

@boot good for you to try.

sean.

  • Like 2
Posted (edited)
6 hours ago, boot said:

Who can provide some ideas?

Can use some of the internal commands to pattern match using DbgCmdExec (https://help.x64dbg.com/en/latest/developers/functions/debug/DbgCmdExec.html) or DbgCmdExecDirect: (https://help.x64dbg.com/en/latest/developers/functions/debug/DbgCmdExecDirect.html)

or even with the TitanEngine `MatchPattern` function directly: https://github.com/x64dbg/x64dbg/blob/e7995ffd5319ac0bbc26afd68f0cb07293a2e45f/src/dbg/TitanEngine/TitanEngine.h#L874

Edited by fearless
typo
  • Like 1
Posted

Additionally you can optionally make use of the References View tab to add the search information to - its easy to add the columns and rows of data using the following api calls:

GuiReferenceAddColumn(int width, const char* title);
GuiReferenceSetRowCount(int count);
GuiReferenceGetRowCount();
GuiReferenceDeleteAllColumns;
GuiReferenceInitialize(const char* name);
GuiReferenceSetCellContent(int row, int col, const char* str);
GuiReferenceGetCellContent(int row, int col);
GuiReferenceReloadData; 
GuiReferenceSetSingleSelection(int index, bool scroll);
GuiReferenceSetProgress(int progress);
GuiReferenceSetCurrentTaskProgress(int progress, const char* taskTitle);
GuiReferenceSetSearchStartCol(int col);

 

Also, cant seem to open your attached file, gets deleted by MS Anti Virus, is the source of the plugins on github?

  • Like 1
Posted (edited)
1 hour ago, fearless said:

Also, cant seem to open your attached file, gets deleted by MS Anti Virus, is the source of the plugins on github?

I haven't seen any similar projects on GitHub yet. So try writing it by myself and calling relevant open source engines to implement it.

The core issue lies in how to set inputs similar to

CMP R32, R32
...
JMP CONST
...
PUSH CONST

Convert to machine code?:(


These special operators/SYMBOLS are not clear, and there is no similar reference in xDbg, and there is no ready-made engine to call transformations. These features are included in OllyDbg v1.10/OllyDbg64 v2.

In addition, the addressing of some calls [0xXXXXXXXX] is different, so it is not easy to find a suitable matching method.

The original file size is 30MB+/-  MFC DLL projects

*. dp32 org size 13MB +/- UPX pack ->2.85MB +/-  |  <- MS suggests that the virus likely the cause of UPX packaging
*. dp64 org size 16MB +/- UPX pack ->3.42MB +/-  |  <- MS suggests that the virus likely the cause of UPX packaging

 

such as

 

 

Edited by boot
video
  • Like 1
Posted (edited)

Does it support fuzzy lookup of CMP instructions?

 

Edited by kuazi GA

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...