Results 1 to 3 of 3

Thread: 'Sniffing' closed source Qt applications

  1. #1
    Join Date
    Sep 2009
    Location
    UK
    Posts
    2,447
    Thanks
    6
    Thanked 348 Times in 333 Posts
    Qt products
    Qt4
    Platforms
    Windows

    Default 'Sniffing' closed source Qt applications

    In a previous topic, it was talked about injecting a DLL into a Qt app to connect to it's slots and signals.

    I'm thinking of what could be possible in a more generic way - injecting into a Qt application, listing the controls on the form, show the signals and slots and being able to interact with the application.

    It seems that there IS a method that allows you to receive the array containing the signals and slots supported by an object, and we can get that list of objects by getting the parent and using children.

    Does this sound feasible?

    Who knows, it could grow into a new testing framework

  2. #2
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: 'Sniffing' closed source Qt applications

    If an application is dynamically linked then the simplest way is to substitute one of Qt libraries or Qt plugins with your own (the latter is probably easiest). Listing objects and their properties is trivial then thanks to QApplication::topLevelWindows(), QObject::findChildren() and QMetaObject. To try to compensate this the application provider can use the "build key" feature of Qt, do some signing or encryption or link statically. Then you can still probably substitute the language runtime in some cases.
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  3. #3
    Join Date
    Jan 2006
    Location
    Belgium
    Posts
    1,938
    Thanked 268 Times in 268 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows
    Wiki edits
    20

    Default Re: 'Sniffing' closed source Qt applications

    Quote Originally Posted by squidge View Post
    Who knows, it could grow into a new testing framework
    Some debuggers do work like this. They include their own code in the process being debugged. Usually it contains things like a modified version of malloc etc...

    If you take for example Squish, it also works by hooking in the process being tested.

Similar Threads

  1. Replies: 6
    Last Post: 17th September 2010, 08:15
  2. Mac OS X and closed source apps deployment?
    By 0xl33t in forum Installation and Deployment
    Replies: 3
    Last Post: 10th July 2009, 09:30
  3. Qt 4.2.2 static - *CLOSED*
    By maxpower in forum Qt Programming
    Replies: 1
    Last Post: 19th January 2007, 08:08
  4. QDomDocument - closed nodes?
    By naresh in forum Qt Programming
    Replies: 2
    Last Post: 19th April 2006, 08:10
  5. Replies: 11
    Last Post: 24th March 2006, 06:40

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.