Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Decompile FILENAME_qml.cpp



  • Hi all!

    I've had a problem with my svn repository and I lost a bunch of qml components. All I still have are the precompiled <qml_componentfilename>_qml.cpp files in my build folder.

    They have the following format:

    // /Marker.qml
    namespace QmlCacheGeneratedCode {
    namespace _0x5f__Marker_qml {
    extern const unsigned char qmlData alignas(16) [] = {
    
    0x71,0x76,0x34,0x63,0x64,0x61,0x74,0x61,
    0x19,0x0,0x0,0x0,0x0,0xc,0x5,0x0,
    0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x0,0xa,0x0,0x0,0x36,0x34,0x65,0x65,
    0x34,0x39,0x36,0x38,0x62,0x34,0x36,0x30,
    0x31,0x39,0x62,0x38,0x65,0x34,0x63,0x62, etc.
    

    My question, is there a way to get my qml source code back from this format?
    I tried to convert the hex numbers into characters, but this gives me the following

    qv4cdata
    

    folowed by some unprintable characters and again some readable qml properties etc. But I have no clue how to convert that back into qml source code.

    Thanks a lot to anyone who might have an idea!
    best regards
    Manfred



  • Do you have the executable? You might be able to get the files out of there if they are attached as a resource.



  • @wink said in Decompile FILENAME_qml.cpp:

    folowed by some unprintable characters and again some readable qml properties

    Maybe provide the data for an entire file. That way other people here can crack it.
    I am not sure this is enough that you have posted of the character data:
    extern const unsigned char qmlData alignas(16)

    A single complete file would be helpful.



  • Hi and thank you for your reply!

    So here we go, this is the complete content of the file "Marker_qml.cpp". The original component file was named "Marker.qml"

    // /Marker.qml
    namespace QmlCacheGeneratedCode {
    namespace _0x5f__Marker_qml {
    extern const unsigned char qmlData alignas(16) [] = {
    
    0x71,0x76,0x34,0x63,0x64,0x61,0x74,0x61,
    0x19,0x0,0x0,0x0,0x0,0xc,0x5,0x0,
    0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x0,0xa,0x0,0x0,0x36,0x34,0x65,0x65,
    0x34,0x39,0x36,0x38,0x62,0x34,0x36,0x30,
    0x31,0x39,0x62,0x38,0x65,0x34,0x63,0x62,
    0x37,0x35,0x32,0x33,0x61,0x36,0x65,0x34,
    0x31,0x38,0x33,0x33,0x66,0x63,0x34,0x63,
    0x66,0x36,0x36,0x35,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x23,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0xf8,0x1,0x0,0x0,
    0x3,0x0,0x0,0x0,0xf0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0xfc,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0xfc,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0xfc,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0xfc,0x0,0x0,0x0,
    0x4,0x0,0x0,0x0,0x0,0x1,0x0,0x0,
    0x0,0x0,0x0,0x0,0x20,0x1,0x0,0x0,
    0x0,0x0,0x0,0x0,0x20,0x1,0x0,0x0,
    0x0,0x0,0x0,0x0,0x20,0x1,0x0,0x0,
    0x0,0x0,0x0,0x0,0x20,0x1,0x0,0x0,
    0x0,0x0,0x0,0x0,0x20,0x1,0x0,0x0,
    0x0,0x0,0x0,0x0,0x20,0x1,0x0,0x0,
    0x0,0x0,0x0,0x0,0x20,0x1,0x0,0x0,
    0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x68,0x6,0x0,0x0,
    0x20,0x1,0x0,0x0,0x68,0x1,0x0,0x0,
    0xb0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x0,0x0,0x1c,0xc0,
    0x0,0x0,0x0,0x0,0x0,0x0,0xd8,0xbf,
    0x0,0x0,0x0,0x0,0x0,0x0,0xe8,0xbf,
    0x0,0x0,0x0,0x0,0x0,0x0,0xde,0xbf,
    0x40,0x0,0x0,0x0,0x5,0x0,0x0,0x0,
    0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x38,0x0,0x0,0x0,0x38,0x0,0x0,0x0,
    0x0,0x0,0x1,0x0,0xff,0xff,0xff,0xff,
    0x0,0x0,0x7,0x0,0x0,0x0,0x9,0x0,
    0x6,0x0,0x50,0x0,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x6,0x0,0x0,0x0,
    0x2a,0x17,0x18,0x6,0x2,0x0,0x0,0x0,
    0x40,0x0,0x0,0x0,0x7,0x0,0x0,0x0,
    0x13,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x38,0x0,0x0,0x0,0x38,0x0,0x0,0x0,
    0x0,0x0,0x1,0x0,0xff,0xff,0xff,0xff,
    0x0,0x0,0x7,0x0,0x0,0x0,0x9,0x0,
    0xf,0x0,0x90,0x0,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0xf,0x0,0x0,0x0,
    0x2a,0x3,0x36,0x4,0x18,0x6,0x2,0x0,
    0x40,0x0,0x0,0x0,0x5,0x0,0x0,0x0,
    0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x38,0x0,0x0,0x0,0x38,0x0,0x0,0x0,
    0x0,0x0,0x1,0x0,0xff,0xff,0xff,0xff,
    0x0,0x0,0x7,0x0,0x0,0x0,0x9,0x0,
    0xe,0x0,0x90,0x0,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0xe,0x0,0x0,0x0,
    0x2a,0x17,0x18,0x6,0x2,0x0,0x0,0x0,
    0x58,0x2,0x0,0x0,0x78,0x2,0x0,0x0,
    0xa0,0x2,0x0,0x0,0xd0,0x2,0x0,0x0,
    0x0,0x3,0x0,0x0,0x28,0x3,0x0,0x0,
    0x50,0x3,0x0,0x0,0x78,0x3,0x0,0x0,
    0xa0,0x3,0x0,0x0,0xe0,0x3,0x0,0x0,
    0x8,0x4,0x0,0x0,0x38,0x4,0x0,0x0,
    0x60,0x4,0x0,0x0,0x80,0x4,0x0,0x0,
    0xa8,0x4,0x0,0x0,0xd0,0x4,0x0,0x0,
    0xf8,0x4,0x0,0x0,0x28,0x5,0x0,0x0,
    0x58,0x5,0x0,0x0,0x80,0x5,0x0,0x0,
    0xc0,0x5,0x0,0x0,0xe8,0x5,0x0,0x0,
    0x18,0x6,0x0,0x0,0x40,0x6,0x0,0x0,
    0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0xff,0xff,0xff,0xff,0x7,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x51,0x0,0x74,0x0,0x51,0x0,0x75,0x0,
    0x69,0x0,0x63,0x0,0x6b,0x0,0x0,0x0,
    0xff,0xff,0xff,0xff,0x9,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x52,0x0,0x65,0x0,0x63,0x0,0x74,0x0,
    0x61,0x0,0x6e,0x0,0x67,0x0,0x6c,0x0,
    0x65,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0xff,0xff,0xff,0xff,0xa,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x6d,0x0,0x61,0x0,0x72,0x0,0x6b,0x0,
    0x65,0x0,0x72,0x0,0x52,0x0,0x6f,0x0,
    0x6f,0x0,0x74,0x0,0x0,0x0,0x0,0x0,
    0xff,0xff,0xff,0xff,0x4,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x6e,0x0,0x61,0x0,0x6d,0x0,0x65,0x0,
    0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0xff,0xff,0xff,0xff,0x6,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x4d,0x0,0x61,0x0,0x72,0x0,0x6b,0x0,
    0x65,0x0,0x72,0x0,0x0,0x0,0x0,0x0,
    0xff,0xff,0xff,0xff,0x7,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x61,0x0,0x6e,0x0,0x63,0x0,0x68,0x0,
    0x6f,0x0,0x72,0x0,0x73,0x0,0x0,0x0,
    0xff,0xff,0xff,0xff,0x4,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x66,0x0,0x69,0x0,0x6c,0x0,0x6c,0x0,
    0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0xff,0xff,0xff,0xff,0x13,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x65,0x0,0x78,0x0,0x70,0x0,0x72,0x0,
    0x65,0x0,0x73,0x0,0x73,0x0,0x69,0x0,
    0x6f,0x0,0x6e,0x0,0x20,0x0,0x66,0x0,
    0x6f,0x0,0x72,0x0,0x20,0x0,0x66,0x0,
    0x69,0x0,0x6c,0x0,0x6c,0x0,0x0,0x0,
    0xff,0xff,0xff,0xff,0x5,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x63,0x0,0x6f,0x0,0x6c,0x0,0x6f,0x0,
    0x72,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0xff,0xff,0xff,0xff,0xb,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x6c,0x0,0x69,0x0,0x67,0x0,0x68,0x0,
    0x74,0x0,0x79,0x0,0x65,0x0,0x6c,0x0,
    0x6c,0x0,0x6f,0x0,0x77,0x0,0x0,0x0,
    0xff,0xff,0xff,0xff,0x6,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x62,0x0,0x6f,0x0,0x72,0x0,0x64,0x0,
    0x65,0x0,0x72,0x0,0x0,0x0,0x0,0x0,
    0xff,0xff,0xff,0xff,0x3,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x72,0x0,0x65,0x0,0x64,0x0,0x0,0x0,
    0xff,0xff,0xff,0xff,0x7,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x6f,0x0,0x70,0x0,0x61,0x0,0x63,0x0,
    0x69,0x0,0x74,0x0,0x79,0x0,0x0,0x0,
    0xff,0xff,0xff,0xff,0x6,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x72,0x0,0x61,0x0,0x64,0x0,0x69,0x0,
    0x75,0x0,0x73,0x0,0x0,0x0,0x0,0x0,
    0xff,0xff,0xff,0xff,0x4,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x54,0x0,0x65,0x0,0x78,0x0,0x74,0x0,
    0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0xff,0xff,0xff,0xff,0xa,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x6c,0x0,0x65,0x0,0x66,0x0,0x74,0x0,
    0x4d,0x0,0x61,0x0,0x72,0x0,0x67,0x0,
    0x69,0x0,0x6e,0x0,0x0,0x0,0x0,0x0,
    0xff,0xff,0xff,0xff,0x9,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x74,0x0,0x6f,0x0,0x70,0x0,0x4d,0x0,
    0x61,0x0,0x72,0x0,0x67,0x0,0x69,0x0,
    0x6e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0xff,0xff,0xff,0xff,0x4,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x74,0x0,0x65,0x0,0x78,0x0,0x74,0x0,
    0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0xff,0xff,0xff,0xff,0x13,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x65,0x0,0x78,0x0,0x70,0x0,0x72,0x0,
    0x65,0x0,0x73,0x0,0x73,0x0,0x69,0x0,
    0x6f,0x0,0x6e,0x0,0x20,0x0,0x66,0x0,
    0x6f,0x0,0x72,0x0,0x20,0x0,0x74,0x0,
    0x65,0x0,0x78,0x0,0x74,0x0,0x0,0x0,
    0xff,0xff,0xff,0xff,0x4,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x66,0x0,0x6f,0x0,0x6e,0x0,0x74,0x0,
    0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0xff,0xff,0xff,0xff,0x9,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x70,0x0,0x69,0x0,0x78,0x0,0x65,0x0,
    0x6c,0x0,0x53,0x0,0x69,0x0,0x7a,0x0,
    0x65,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0xff,0xff,0xff,0xff,0x5,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x62,0x0,0x6c,0x0,0x61,0x0,0x63,0x0,
    0x6b,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0xff,0xff,0xff,0xff,0x6,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x18,0x0,0x0,0x0,
    0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x70,0x0,0x61,0x0,0x72,0x0,0x65,0x0,
    0x6e,0x0,0x74,0x0,0x0,0x0,0x0,0x0,
    0x1,0x0,0x0,0x0,0x10,0x0,0x0,0x0,
    0x6,0x0,0x0,0x0,0x28,0x0,0x0,0x0,
    0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,
    0x4,0x0,0x0,0x0,0x1,0x0,0x10,0x0,
    0x40,0x0,0x0,0x0,0x40,0x1,0x0,0x0,
    0xa0,0x1,0x0,0x0,0x0,0x2,0x0,0x0,
    0xa8,0x2,0x0,0x0,0x38,0x3,0x0,0x0,
    0x2,0x0,0x0,0x0,0x3,0x0,0x0,0x0,
    0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,
    0x0,0x0,0x1,0x0,0x44,0x0,0x0,0x0,
    0x44,0x0,0x0,0x0,0x54,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x54,0x0,0x0,0x0,
    0x54,0x0,0x0,0x0,0x0,0x0,0x7,0x0,
    0x54,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0xfc,0x0,0x0,0x0,0x3,0x0,0x10,0x0,
    0x4,0x0,0x50,0x0,0x4,0x0,0x0,0x0,
    0x5,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x5,0x0,0x50,0x0,0xe,0x0,0x0,0x0,
    0x0,0x0,0x2,0x0,0x1,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0xa,0x0,0x50,0x0,
    0xa,0x0,0xd0,0x0,0xd,0x0,0x0,0x0,
    0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x9,0x0,0x50,0x0,
    0x9,0x0,0xe0,0x0,0x9,0x0,0x0,0x0,
    0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,
    0xa,0x0,0x0,0x0,0x7,0x0,0x50,0x0,
    0x7,0x0,0xc0,0x0,0x4,0x0,0x0,0x0,
    0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,
    0x5,0x0,0x0,0x0,0x5,0x0,0x50,0x1,
    0x5,0x0,0xb0,0x1,0x0,0x0,0x0,0x0,
    0x0,0x0,0x7,0x0,0x3,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0xb,0x0,0x50,0x0,
    0xb,0x0,0x50,0x0,0xb,0x0,0x0,0x0,
    0x0,0x0,0x9,0x0,0x2,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x8,0x0,0x50,0x0,
    0x8,0x0,0xc0,0x0,0x6,0x0,0x0,0x0,
    0x0,0x0,0x9,0x0,0x1,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x6,0x0,0x50,0x0,
    0x6,0x0,0xd0,0x0,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,
    0x0,0x0,0x0,0x0,0x44,0x0,0x0,0x0,
    0x44,0x0,0x0,0x0,0x44,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x44,0x0,0x0,0x0,
    0x44,0x0,0x0,0x0,0x0,0x0,0x1,0x0,
    0x44,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x5c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x7,0x0,0x0,0x0,
    0x0,0x0,0x6,0x0,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x6,0x0,0xd0,0x0,
    0x6,0x0,0x30,0x1,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,
    0x0,0x0,0x0,0x0,0x44,0x0,0x0,0x0,
    0x44,0x0,0x0,0x0,0x44,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x44,0x0,0x0,0x0,
    0x44,0x0,0x0,0x0,0x0,0x0,0x1,0x0,
    0x44,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x5c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x9,0x0,0x0,0x0,
    0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,
    0xc,0x0,0x0,0x0,0x8,0x0,0xc0,0x0,
    0x8,0x0,0x30,0x1,0x0,0x0,0x0,0x0,
    0xf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,
    0x0,0x0,0x0,0x0,0x44,0x0,0x0,0x0,
    0x44,0x0,0x0,0x0,0x44,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x44,0x0,0x0,0x0,
    0x44,0x0,0x0,0x0,0x0,0x0,0x4,0x0,
    0x44,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0xa4,0x0,0x0,0x0,0xb,0x0,0x50,0x0,
    0x0,0x0,0x0,0x0,0x9,0x0,0x0,0x0,
    0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,
    0x16,0x0,0x0,0x0,0x11,0x0,0x90,0x0,
    0x11,0x0,0x0,0x1,0x12,0x0,0x0,0x0,
    0x0,0x0,0x6,0x0,0x1,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0xf,0x0,0x90,0x0,
    0xf,0x0,0xf0,0x0,0x14,0x0,0x0,0x0,
    0x0,0x0,0x9,0x0,0x5,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x10,0x0,0x90,0x0,
    0x10,0x0,0xe0,0x0,0x6,0x0,0x0,0x0,
    0x0,0x0,0x9,0x0,0x4,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0xc,0x0,0x90,0x0,
    0xc,0x0,0x10,0x1,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,
    0x0,0x0,0x0,0x0,0x44,0x0,0x0,0x0,
    0x44,0x0,0x0,0x0,0x44,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x44,0x0,0x0,0x0,
    0x44,0x0,0x0,0x0,0x0,0x0,0x3,0x0,
    0x44,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x8c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x7,0x0,0x0,0x0,
    0x0,0x0,0x6,0x0,0x2,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0xe,0x0,0x10,0x1,
    0xe,0x0,0x70,0x1,0x11,0x0,0x0,0x0,
    0x0,0x0,0x2,0x0,0x2,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0xd,0x0,0x10,0x1,
    0xd,0x0,0xc0,0x1,0x10,0x0,0x0,0x0,
    0x0,0x0,0x2,0x0,0x2,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0xc,0x0,0x10,0x1,
    0xc,0x0,0xd0,0x1,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x0,0x0,0xff,0xff,0xff,0xff,0xff,0xff,
    0x0,0x0,0x0,0x0,0x44,0x0,0x0,0x0,
    0x44,0x0,0x0,0x0,0x44,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x44,0x0,0x0,0x0,
    0x44,0x0,0x0,0x0,0x0,0x0,0x1,0x0,
    0x44,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x5c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x15,0x0,0x0,0x0,
    0x0,0x0,0x2,0x0,0x3,0x0,0x0,0x0,
    0x0,0x0,0x0,0x0,0x10,0x0,0xe0,0x0,
    0x10,0x0,0x90,0x1,0x0,0x0,0x0,0x0
    };
    }
    }
    
    

    As for your suggestion with the executable, I still have it but I do not see the qml code either. Unfortunately I cannot show the exe as it contains company sensitive data.



  • @wink said in Decompile FILENAME_qml.cpp:

    this is the complete content of the file "Marker_qml.cpp"

    Okay, this is not text data. This is probably bytecode of converting QML to a compiled form. I don't know how to reverse that.

    As for the exe. Get a hex editor and look through the exe and see if the qml files are attached. Someone posted a while back about this. So there may be examples in the forum on how to do this. The post was worried about disclosing code because it was attaching qml to the exe even though it was compiling the qml. I cannot remember if this was a bug or not.



  • I am looking at our exe and I am not seeing human readable qml. What version of qml are you using? They may have fixed not including source in newer versions of qt. We are using 5.15.1.



  • Yeah, I have read that post.
    As long as you just put your qml files into the qrc, they are indeed visible as pure text inside the executable.

    The problem is that I compiled the project with the statement

    CONFIG += qtquickcompiler
    

    which leads to the qml files being "compiled" to the *_qml.cpp files as the one I listed above. The C++ compiler/linker then puts them into the binary.

    I can see some traces of them in the binary, but it's not realy readable and it does not allow me to regenerate my original qml file.



  • @fcarney I'm using Qt 5.15.2



  • There was an interesting thread about this recently.

    Take a look over here: https://forum.qt.io/topic/121561/compiled-qml-sources-visible-inside-executable

    There are python snippets showing how to paste the hex into a python script and get back human-readable text. (search for "bytearray" in at least 3 places)

    If your bytes have also been compressed, then you will also need the zlib-flate -uncompress ... stuff at the end.

    Feel free to post back questions here on this current thread after you look that over.



  • Apologies, I just noticed that you mentioned you already read that thread.

    Looking at your hex, I realize that yours does not seem to have the 78 9C marker that would indicate that zlib is relevant.

    Hmmm...



  • @wink said in Decompile FILENAME_qml.cpp:

    Qt 5.15.2

    The tag for qtdeclarative sub-project at 5.15.2 seems to be 104eae5

    Therefore, using 104eae5 in the URLs (below), the relevant Qt code that would have (I think?) generated that hex is the code in:

    I have not yet skimmed the code, but maybe it contains more clues...



  • @KH-219Design Hi and thanks for your input! I'm not familiar with the files that you linked to. Are you suggesting that they might contain the "key" to decompile my files?

    I'll be away for one week and unfortunately not be able to connect to the forum, but I'll get back to you when I come back.

    cheers
    Wink!


Log in to reply