8 votes

Patching an exe with NOPs

The problem is: you are smashing the stack. Lets look at the function you want to patch: As you can see, it pushes four parameters to the stack and calls USER32!MessageBoxA. A quick look at its ...
Nordwald's user avatar
  • 2,906
6 votes

C++ Unary equals (unary operator=)

It is rather C++ question, but nonetheless: what you see is an assignment operator for the class QString. It enables you to write things like a = b, where a, b are of QString type. The reason why it ...
bart1e's user avatar
  • 3,389
4 votes

Find code executed on button press in Qt5 Linux application

I recommend to use IDA for this task but you can try something other. There are dozens of disassemblers. Open your app in the disassebmler, locate something like that: Scroll up and find XRef with '...
progopis's user avatar
  • 176
3 votes

How to generate IDA FLIRT signatures for Qt 5.5.1

You need to build Qt 5.5.1 using MinGw 4.9.2. and guess all the build options that the developer used originally. Then use FLAIR for you IDA version to generate pat files from .a libraries. Then ...
Anton Kukoba's user avatar
  • 1,840
3 votes

Programmatically reverse-engineering a dynamic dispatch method

Wow, I actually figured out enough of angr to do it. Consider this C program (an extremely simplified scale model of qt_metacall): #include <stdio.h> int foo(void) { return puts("foo"); } ...
Michele Cicciotti's user avatar
2 votes
Accepted

Viewing QT String Object Data under Windbg

the function toString Returns a Qstring in rax doing db poi(@rax) should show you the string after you step over the function a small automated breakpoint setting a conditional breakpoint that ...
blabb's user avatar
  • 16.4k
1 vote
Accepted

Python or C for a Qt application and security against reverse engineering

Code written in either language can be reversed, I think the bigger issue here is that the key checking is all performed locally. If someone can RE the algorithm, then they can create a keygen for ...
Mega Tonnage's user avatar
1 vote

C++ Unary equals (unary operator=)

The default assignment operator for primitives returns a value, and the standard convention for operator overloading is to not deviate from the behavior of the operator you are overloading. This is ...
Tyzoid's user avatar
  • 111
1 vote

Reversing Qt application

Did you try printqs5static $rdi? Assuming that call goes to the function with the prototype QDebug & QDebug::operator<<(const QString & s), then it's rdi that should contain the QString, ...
Gdogg's user avatar
  • 191
1 vote

Where can I find the QRC and QML files used for a QT gui application when reverse engineering?

Qt resources are stored in a pseudo-filesystem in the program itself as binary blobs of data. I'm not aware of any ready-made project to extract them from a compiled binary but you can exploit the ...
Igor Skochinsky's user avatar
  • 36.6k

Only top scored, non community-wiki answers of a minimum length are eligible