├── README.md ├── MultiSearch ├── multisearch.cmake └── multisearch.pri ├── XAbstractWidgets ├── abstractwidgets.cmake ├── xabstractwidgets.cmake ├── xstructwidget.pri ├── xstructwidget.cmake ├── dialogxstructchooser.cpp ├── dialogxstructchooser.h ├── dialogxstruct.cpp ├── dialogxstruct.h ├── xmainwidget.h ├── dialogxstruct.ui ├── xgetdatarecordsprocess.h ├── xgenerictablewidget.h ├── xgenericabstractwidget.cpp ├── xgenericabstractwidget.h ├── xgetdatarecordsprocess.cpp └── dialogxstructchooser.ui ├── PDF ├── pdfwidget.cmake ├── pdfwidget.pri ├── dialogpdf.ui ├── pdf_defs.cpp ├── dialogpdf.h ├── pdf_defs.h ├── dialogpdf.cpp └── pdfwidget.h ├── MACHOFAT ├── machofatwidget.pri ├── machofatwidget.cmake ├── dialogmachofat.ui ├── machofatwidget.ui ├── dialogmachofat.h ├── dialogmachofat.cpp └── machofatwidget.h ├── MSDOS ├── msdoswidget.pri ├── msdoswidget.cmake ├── dialogmsdos.ui ├── dialogmsdos.h ├── dialogmsdos.cpp └── msdos_defs.h ├── Binary ├── binarywidget.pri ├── binarywidget.cmake ├── dialogbinary.ui ├── binary_defs.cpp ├── binary_defs.h ├── dialogbinary.h └── dialogbinary.cpp ├── LE ├── lewidget.pri ├── lewidget.cmake ├── dialogle.ui ├── leprocessdata.h ├── dialogle.h └── dialogle.cpp ├── NE ├── newidget.pri ├── newidget.cmake ├── dialogne.ui ├── neprocessdata.h ├── dialogne.h └── dialogne.cpp ├── MACH ├── machwidget.pri ├── machwidget.cmake ├── dialogmach.ui ├── machprocessdata.h ├── dialogmach.h └── dialogmach.cpp ├── SearchValues ├── searchvalueswidget.cmake ├── searchvalueswidget.pri ├── dialogsearchvalues.ui └── dialogsearchvalues.h ├── DEX ├── dexwidget.pri ├── dexwidget.cmake ├── dialogdex.ui ├── dexprocessdata.h ├── dialogdex.h └── dialogdex.cpp ├── ELF ├── elfwidget.pri ├── elfwidget.cmake ├── dialogelf.ui ├── dialogelf.h ├── elfprocessdata.h └── dialogelf.cpp ├── PE ├── pewidget.pri ├── dialogpe.ui ├── pewidget.cmake ├── dialogpe.h ├── dialogpe.cpp └── peprocessdata.h ├── dialogsectionheader.ui ├── SearchStrings ├── searchstringswidget.pri ├── searchstringswidget.cmake ├── dialogsearchstrings.ui └── dialogsearchstrings.h ├── allformatwidgets.cmake ├── SearchSignatures ├── searchsignatureswidget.pri ├── searchsignatureswidget.cmake ├── dialogsearchsignatures.ui ├── dialogsearchsignatures.h └── searchsignaturesoptionswidget.h ├── formatwidgets.cmake ├── LICENSE ├── AbstractWidgets ├── Structs │ ├── generic_defs.cpp │ ├── xformats_defs.cpp │ ├── xformats_def.h │ ├── xformats_defs.h │ ├── generic_defs.h │ ├── xarchives_defs.h │ ├── xsevenzip_defs.h │ ├── xne_defs.h │ ├── xmsdos_defs.h │ └── xarchives_defs.cpp ├── abstractwidgets.cmake ├── dialogxmainwidget.ui ├── dialogxmainwidget.cpp ├── xdialogprocessdata.h ├── dialogxmainwidget.h ├── xgenericdisasmwidget.h ├── abstractwidgets.pri ├── xgenerichexwidget.h ├── xgenerictablehexwidget.h ├── dialogsetgenericwidget.h ├── xgenerichexwidget.ui ├── xgenerictablehexwidget.ui ├── xgenericheaderwidget.h ├── xprocessdata.h ├── xdialogprocessdata.cpp ├── xmainwidgetadvanced.h ├── dialogsetgenericwidget.cpp ├── xgenericdisasmwidget.ui └── xgenerictablewidget.h ├── allformatwidgets.pri ├── dialogprocessdata.h ├── dialogmodelinfo.ui ├── formatwidgets.pri ├── dialogprocessdata.cpp ├── dialogmodelinfo.h └── dialogsectionheader.h /README.md: -------------------------------------------------------------------------------- 1 | # FormatWidgets -------------------------------------------------------------------------------- /MultiSearch/multisearch.cmake: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_LIST_DIR}) 2 | 3 | set(MULTISEARCH_SOURCES 4 | ${CMAKE_CURRENT_LIST_DIR}/multisearch.cpp 5 | ${CMAKE_CURRENT_LIST_DIR}/multisearch.h 6 | ) 7 | -------------------------------------------------------------------------------- /XAbstractWidgets/abstractwidgets.cmake: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_LIST_DIR}) 2 | 3 | set(ABSTRACTWIDGETS_SOURCES 4 | ${ABSTRACTWIDGETS_SOURCES} 5 | ${CMAKE_CURRENT_LIST_DIR}/xmainwidget.cpp 6 | ${CMAKE_CURRENT_LIST_DIR}/xmainwidget.h 7 | ${CMAKE_CURRENT_LIST_DIR}/xmainwidget.ui 8 | ) 9 | -------------------------------------------------------------------------------- /PDF/pdfwidget.cmake: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_LIST_DIR}) 2 | 3 | include(${CMAKE_CURRENT_LIST_DIR}/../formatwidget.cmake) 4 | 5 | set(PDFWIDGET_SOURCES 6 | ${FORMATWIDGET_SOURCES} 7 | ${CMAKE_CURRENT_LIST_DIR}/pdfwidget.ui 8 | ${CMAKE_CURRENT_LIST_DIR}/dialogpdf.ui 9 | ${CMAKE_CURRENT_LIST_DIR}/pdfwidget.cpp 10 | ${CMAKE_CURRENT_LIST_DIR}/pdf_defs.cpp 11 | ${CMAKE_CURRENT_LIST_DIR}/dialogpdf.cpp 12 | ) 13 | -------------------------------------------------------------------------------- /MACHOFAT/machofatwidget.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD 2 | DEPENDPATH += $$PWD 3 | 4 | HEADERS += \ 5 | $$PWD/dialogmachofat.h \ 6 | $$PWD/machofatwidget.h 7 | 8 | SOURCES += \ 9 | $$PWD/dialogmachofat.cpp \ 10 | $$PWD/machofatwidget.cpp 11 | 12 | FORMS += \ 13 | $$PWD/dialogmachofat.ui \ 14 | $$PWD/machofatwidget.ui 15 | 16 | !contains(XCONFIG, formatwidget) { 17 | XCONFIG += formatwidget 18 | include($$PWD/../formatwidget.pri) 19 | } 20 | -------------------------------------------------------------------------------- /XAbstractWidgets/xabstractwidgets.cmake: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_LIST_DIR}) 2 | 3 | if (NOT DEFINED XSTRUCTWIDGET_SOURCES) 4 | include(${CMAKE_CURRENT_LIST_DIR}/xstructwidget.cmake) 5 | set(XABSTRACTWIDGETS_SOURCES ${XABSTRACTWIDGETS_SOURCES} ${XSTRUCTWIDGET_SOURCES}) 6 | endif() 7 | 8 | set(XABSTRACTWIDGETS_SOURCES 9 | ${XABSTRACTWIDGETS_SOURCES} 10 | ${CMAKE_CURRENT_LIST_DIR}/xmainwidget.cpp 11 | ${CMAKE_CURRENT_LIST_DIR}/xmainwidget.h 12 | ) 13 | -------------------------------------------------------------------------------- /PDF/pdfwidget.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD 2 | DEPENDPATH += $$PWD 3 | 4 | FORMS += \ 5 | $$PWD/pdfwidget.ui \ 6 | $$PWD/dialogpdf.ui 7 | 8 | HEADERS += \ 9 | $$PWD/pdfwidget.h \ 10 | $$PWD/pdf_defs.h \ 11 | $$PWD/dialogpdf.h 12 | 13 | SOURCES += \ 14 | $$PWD/pdfwidget.cpp \ 15 | $$PWD/pdf_defs.cpp \ 16 | $$PWD/dialogpdf.cpp 17 | 18 | !contains(XCONFIG, formatwidget) { 19 | XCONFIG += formatwidget 20 | include($$PWD/../formatwidget.pri) 21 | } 22 | -------------------------------------------------------------------------------- /MSDOS/msdoswidget.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD 2 | DEPENDPATH += $$PWD 3 | 4 | HEADERS += \ 5 | $$PWD/msdoswidget.h \ 6 | $$PWD/msdos_defs.h \ 7 | $$PWD/dialogmsdos.h 8 | 9 | SOURCES += \ 10 | $$PWD/msdoswidget.cpp \ 11 | $$PWD/msdos_defs.cpp \ 12 | $$PWD/dialogmsdos.cpp 13 | 14 | FORMS += \ 15 | $$PWD/msdoswidget.ui \ 16 | $$PWD/dialogmsdos.ui 17 | 18 | !contains(XCONFIG, formatwidget) { 19 | XCONFIG += formatwidget 20 | include($$PWD/../formatwidget.pri) 21 | } 22 | -------------------------------------------------------------------------------- /MACHOFAT/machofatwidget.cmake: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_LIST_DIR}) 2 | 3 | include(${CMAKE_CURRENT_LIST_DIR}/../formatwidget.cmake) 4 | 5 | set(MACHOFATWIDGET_SOURCES 6 | ${FORMATWIDGET_SOURCES} 7 | ${CMAKE_CURRENT_LIST_DIR}/dialogmachofat.cpp 8 | ${CMAKE_CURRENT_LIST_DIR}/dialogmachofat.h 9 | ${CMAKE_CURRENT_LIST_DIR}/dialogmachofat.ui 10 | ${CMAKE_CURRENT_LIST_DIR}/machofatwidget.cpp 11 | ${CMAKE_CURRENT_LIST_DIR}/machofatwidget.h 12 | ${CMAKE_CURRENT_LIST_DIR}/machofatwidget.ui 13 | ) 14 | -------------------------------------------------------------------------------- /Binary/binarywidget.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD 2 | DEPENDPATH += $$PWD 3 | 4 | HEADERS += \ 5 | $$PWD/binarywidget.h \ 6 | $$PWD/binary_defs.h \ 7 | $$PWD/dialogbinary.h 8 | 9 | SOURCES += \ 10 | $$PWD/binarywidget.cpp \ 11 | $$PWD/binary_defs.cpp \ 12 | $$PWD/dialogbinary.cpp 13 | 14 | FORMS += \ 15 | $$PWD/binarywidget.ui \ 16 | $$PWD/dialogbinary.ui 17 | 18 | !contains(XCONFIG, formatwidget) { 19 | XCONFIG += formatwidget 20 | include($$PWD/../formatwidget.pri) 21 | } 22 | 23 | DISTFILES += \ 24 | $$PWD/binarywidget.cmake 25 | -------------------------------------------------------------------------------- /MSDOS/msdoswidget.cmake: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_LIST_DIR}) 2 | 3 | include(${CMAKE_CURRENT_LIST_DIR}/../formatwidget.cmake) 4 | 5 | set(MSDOSWIDGET_SOURCES 6 | ${FORMATWIDGET_SOURCES} 7 | ${CMAKE_CURRENT_LIST_DIR}/dialogmsdos.cpp 8 | ${CMAKE_CURRENT_LIST_DIR}/dialogmsdos.h 9 | ${CMAKE_CURRENT_LIST_DIR}/dialogmsdos.ui 10 | ${CMAKE_CURRENT_LIST_DIR}/msdos_defs.cpp 11 | ${CMAKE_CURRENT_LIST_DIR}/msdos_defs.h 12 | ${CMAKE_CURRENT_LIST_DIR}/msdoswidget.cpp 13 | ${CMAKE_CURRENT_LIST_DIR}/msdoswidget.h 14 | ${CMAKE_CURRENT_LIST_DIR}/msdoswidget.ui 15 | ) 16 | -------------------------------------------------------------------------------- /Binary/binarywidget.cmake: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_LIST_DIR}) 2 | 3 | include(${CMAKE_CURRENT_LIST_DIR}/../formatwidget.cmake) 4 | 5 | set(BINARYWIDGET_SOURCES 6 | ${FORMATWIDGET_SOURCES} 7 | ${CMAKE_CURRENT_LIST_DIR}/binary_defs.cpp 8 | ${CMAKE_CURRENT_LIST_DIR}/binary_defs.h 9 | ${CMAKE_CURRENT_LIST_DIR}/binarywidget.cpp 10 | ${CMAKE_CURRENT_LIST_DIR}/binarywidget.h 11 | ${CMAKE_CURRENT_LIST_DIR}/binarywidget.ui 12 | ${CMAKE_CURRENT_LIST_DIR}/dialogbinary.cpp 13 | ${CMAKE_CURRENT_LIST_DIR}/dialogbinary.h 14 | ${CMAKE_CURRENT_LIST_DIR}/dialogbinary.ui 15 | ) 16 | -------------------------------------------------------------------------------- /LE/lewidget.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD 2 | DEPENDPATH += $$PWD 3 | 4 | HEADERS += \ 5 | $$PWD/leprocessdata.h \ 6 | $$PWD/lesectionheaderwidget.h \ 7 | $$PWD/lewidget.h \ 8 | $$PWD/le_defs.h \ 9 | $$PWD/dialogle.h 10 | 11 | SOURCES += \ 12 | $$PWD/leprocessdata.cpp \ 13 | $$PWD/lesectionheaderwidget.cpp \ 14 | $$PWD/lewidget.cpp \ 15 | $$PWD/le_defs.cpp \ 16 | $$PWD/dialogle.cpp 17 | 18 | FORMS += \ 19 | $$PWD/lesectionheaderwidget.ui \ 20 | $$PWD/lewidget.ui \ 21 | $$PWD/dialogle.ui 22 | 23 | !contains(XCONFIG, formatwidget) { 24 | XCONFIG += formatwidget 25 | include($$PWD/../formatwidget.pri) 26 | } 27 | -------------------------------------------------------------------------------- /NE/newidget.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD 2 | DEPENDPATH += $$PWD 3 | 4 | HEADERS += \ 5 | $$PWD/neprocessdata.h \ 6 | $$PWD/nesectionheaderwidget.h \ 7 | $$PWD/newidget.h \ 8 | $$PWD/ne_defs.h \ 9 | $$PWD/dialogne.h 10 | 11 | SOURCES += \ 12 | $$PWD/neprocessdata.cpp \ 13 | $$PWD/nesectionheaderwidget.cpp \ 14 | $$PWD/newidget.cpp \ 15 | $$PWD/ne_defs.cpp \ 16 | $$PWD/dialogne.cpp 17 | 18 | FORMS += \ 19 | $$PWD/nesectionheaderwidget.ui \ 20 | $$PWD/newidget.ui \ 21 | $$PWD/dialogne.ui 22 | 23 | !contains(XCONFIG, formatwidget) { 24 | XCONFIG += formatwidget 25 | include($$PWD/../formatwidget.pri) 26 | } 27 | -------------------------------------------------------------------------------- /MACH/machwidget.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD 2 | DEPENDPATH += $$PWD 3 | 4 | HEADERS += \ 5 | $$PWD/machprocessdata.h \ 6 | $$PWD/machsectionheaderwidget.h \ 7 | $$PWD/machwidget.h \ 8 | $$PWD/mach_defs.h \ 9 | $$PWD/dialogmach.h 10 | 11 | SOURCES += \ 12 | $$PWD/machprocessdata.cpp \ 13 | $$PWD/machsectionheaderwidget.cpp \ 14 | $$PWD/machwidget.cpp \ 15 | $$PWD/mach_defs.cpp \ 16 | $$PWD/dialogmach.cpp 17 | 18 | FORMS += \ 19 | $$PWD/machsectionheaderwidget.ui \ 20 | $$PWD/machwidget.ui \ 21 | $$PWD/dialogmach.ui 22 | 23 | !contains(XCONFIG, formatwidget) { 24 | XCONFIG += formatwidget 25 | include($$PWD/../formatwidget.pri) 26 | } 27 | -------------------------------------------------------------------------------- /SearchValues/searchvalueswidget.cmake: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_LIST_DIR}) 2 | 3 | if (NOT DEFINED MULTISEARCH_SOURCES) 4 | include(${CMAKE_CURRENT_LIST_DIR}/../MultiSearch/multisearch.cmake) 5 | set(SEARCHVALUESWIDGET_SOURCES ${SEARCHVALUESWIDGET_SOURCES} ${MULTISEARCH_SOURCES}) 6 | endif() 7 | 8 | set(SEARCHVALUESWIDGET_SOURCES 9 | ${SEARCHVALUESWIDGET_SOURCES} 10 | ${CMAKE_CURRENT_LIST_DIR}/dialogsearchvalues.cpp 11 | ${CMAKE_CURRENT_LIST_DIR}/dialogsearchvalues.h 12 | ${CMAKE_CURRENT_LIST_DIR}/dialogsearchvalues.ui 13 | ${CMAKE_CURRENT_LIST_DIR}/searchvalueswidget.cpp 14 | ${CMAKE_CURRENT_LIST_DIR}/searchvalueswidget.h 15 | ${CMAKE_CURRENT_LIST_DIR}/searchvalueswidget.ui 16 | ) 17 | -------------------------------------------------------------------------------- /SearchValues/searchvalueswidget.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD 2 | DEPENDPATH += $$PWD 3 | 4 | HEADERS += \ 5 | $$PWD/dialogsearchvalues.h \ 6 | $$PWD/searchvalueswidget.h 7 | 8 | SOURCES += \ 9 | $$PWD/dialogsearchvalues.cpp \ 10 | $$PWD/searchvalueswidget.cpp 11 | 12 | FORMS += \ 13 | $$PWD/dialogsearchvalues.ui \ 14 | $$PWD/searchvalueswidget.ui 15 | 16 | !contains(XCONFIG, multisearch) { 17 | XCONFIG += multisearch 18 | include($$PWD/../MultiSearch/multisearch.pri) 19 | } 20 | 21 | !contains(XCONFIG, dialogsearch) { 22 | XCONFIG += dialogsearch 23 | include($$PWD/../../FormatDialogs/dialogsearch.pri) 24 | } 25 | 26 | DISTFILES += \ 27 | $$PWD/searchvalueswidget.cmake 28 | -------------------------------------------------------------------------------- /DEX/dexwidget.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD 2 | DEPENDPATH += $$PWD 3 | 4 | HEADERS += \ 5 | $$PWD/dexsectionheaderwidget.h \ 6 | $$PWD/dexwidget.h \ 7 | $$PWD/dex_defs.h \ 8 | $$PWD/dialogdex.h \ 9 | $$PWD/dexprocessdata.h 10 | 11 | SOURCES += \ 12 | $$PWD/dexsectionheaderwidget.cpp \ 13 | $$PWD/dexwidget.cpp \ 14 | $$PWD/dex_defs.cpp \ 15 | $$PWD/dialogdex.cpp \ 16 | $$PWD/dexprocessdata.cpp 17 | 18 | FORMS += \ 19 | $$PWD/dexsectionheaderwidget.ui \ 20 | $$PWD/dexwidget.ui \ 21 | $$PWD/dialogdex.ui 22 | 23 | !contains(XCONFIG, formatwidget) { 24 | XCONFIG += formatwidget 25 | include($$PWD/../formatwidget.pri) 26 | } 27 | 28 | DISTFILES += \ 29 | $$PWD/dexwidget.cmake 30 | -------------------------------------------------------------------------------- /ELF/elfwidget.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD 2 | DEPENDPATH += $$PWD 3 | 4 | HEADERS += \ 5 | $$PWD/elfsectionheaderwidget.h \ 6 | $$PWD/elfwidget.h \ 7 | $$PWD/elf_defs.h \ 8 | $$PWD/dialogelf.h \ 9 | $$PWD/elfprocessdata.h 10 | 11 | SOURCES += \ 12 | $$PWD/elfsectionheaderwidget.cpp \ 13 | $$PWD/elfwidget.cpp \ 14 | $$PWD/elf_defs.cpp \ 15 | $$PWD/dialogelf.cpp \ 16 | $$PWD/elfprocessdata.cpp 17 | 18 | FORMS += \ 19 | $$PWD/elfsectionheaderwidget.ui \ 20 | $$PWD/elfwidget.ui \ 21 | $$PWD/dialogelf.ui 22 | 23 | !contains(XCONFIG, formatwidget) { 24 | XCONFIG += formatwidget 25 | include($$PWD/../formatwidget.pri) 26 | } 27 | 28 | DISTFILES += \ 29 | $$PWD/elfwidget.cmake 30 | -------------------------------------------------------------------------------- /MultiSearch/multisearch.pri: -------------------------------------------------------------------------------- 1 | QT += concurrent 2 | 3 | INCLUDEPATH += $$PWD 4 | DEPENDPATH += $$PWD 5 | 6 | HEADERS += \ 7 | $$PWD/multisearch.h 8 | 9 | SOURCES += \ 10 | $$PWD/multisearch.cpp 11 | 12 | !contains(XCONFIG, xoptions) { 13 | XCONFIG += xoptions 14 | include($$PWD/../../XOptions/xoptions.pri) 15 | } 16 | 17 | !contains(XCONFIG, xformats) { 18 | XCONFIG += xformats 19 | include($$PWD/../../Formats/xformats.pri) 20 | } 21 | 22 | !contains(XCONFIG, xshortcuts) { 23 | XCONFIG += xshortcuts 24 | include($$PWD/../../XShortcuts/xshortcuts.pri) 25 | } 26 | 27 | !contains(XCONFIG, xdialogprocess) { 28 | XCONFIG += xdialogprocess 29 | include($$PWD/../../FormatDialogs/xdialogprocess.pri) 30 | } 31 | 32 | DISTFILES += \ 33 | $$PWD/multisearch.cmake 34 | -------------------------------------------------------------------------------- /LE/lewidget.cmake: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_LIST_DIR}) 2 | 3 | include(${CMAKE_CURRENT_LIST_DIR}/../formatwidget.cmake) 4 | 5 | set(LEWIDGET_SOURCES 6 | ${FORMATWIDGET_SOURCES} 7 | ${CMAKE_CURRENT_LIST_DIR}/dialogle.cpp 8 | ${CMAKE_CURRENT_LIST_DIR}/dialogle.h 9 | ${CMAKE_CURRENT_LIST_DIR}/dialogle.ui 10 | ${CMAKE_CURRENT_LIST_DIR}/le_defs.cpp 11 | ${CMAKE_CURRENT_LIST_DIR}/le_defs.h 12 | ${CMAKE_CURRENT_LIST_DIR}/leprocessdata.cpp 13 | ${CMAKE_CURRENT_LIST_DIR}/leprocessdata.h 14 | ${CMAKE_CURRENT_LIST_DIR}/lesectionheaderwidget.cpp 15 | ${CMAKE_CURRENT_LIST_DIR}/lesectionheaderwidget.h 16 | ${CMAKE_CURRENT_LIST_DIR}/lesectionheaderwidget.ui 17 | ${CMAKE_CURRENT_LIST_DIR}/lewidget.cpp 18 | ${CMAKE_CURRENT_LIST_DIR}/lewidget.h 19 | ${CMAKE_CURRENT_LIST_DIR}/lewidget.ui 20 | ) 21 | -------------------------------------------------------------------------------- /NE/newidget.cmake: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_LIST_DIR}) 2 | 3 | include(${CMAKE_CURRENT_LIST_DIR}/../formatwidget.cmake) 4 | 5 | set(NEWIDGET_SOURCES 6 | ${FORMATWIDGET_SOURCES} 7 | ${CMAKE_CURRENT_LIST_DIR}/dialogne.cpp 8 | ${CMAKE_CURRENT_LIST_DIR}/dialogne.h 9 | ${CMAKE_CURRENT_LIST_DIR}/dialogne.ui 10 | ${CMAKE_CURRENT_LIST_DIR}/ne_defs.cpp 11 | ${CMAKE_CURRENT_LIST_DIR}/ne_defs.h 12 | ${CMAKE_CURRENT_LIST_DIR}/neprocessdata.cpp 13 | ${CMAKE_CURRENT_LIST_DIR}/neprocessdata.h 14 | ${CMAKE_CURRENT_LIST_DIR}/nesectionheaderwidget.cpp 15 | ${CMAKE_CURRENT_LIST_DIR}/nesectionheaderwidget.h 16 | ${CMAKE_CURRENT_LIST_DIR}/nesectionheaderwidget.ui 17 | ${CMAKE_CURRENT_LIST_DIR}/newidget.cpp 18 | ${CMAKE_CURRENT_LIST_DIR}/newidget.h 19 | ${CMAKE_CURRENT_LIST_DIR}/newidget.ui 20 | ) 21 | -------------------------------------------------------------------------------- /PE/pewidget.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD 2 | DEPENDPATH += $$PWD 3 | 4 | HEADERS += \ 5 | $$PWD/pesectionheaderwidget.h \ 6 | $$PWD/petoolswidget.h \ 7 | $$PWD/pewidget.h \ 8 | $$PWD/pe_defs.h \ 9 | $$PWD/dialogpe.h \ 10 | $$PWD/peprocessdata.h 11 | 12 | SOURCES += \ 13 | $$PWD/pesectionheaderwidget.cpp \ 14 | $$PWD/petoolswidget.cpp \ 15 | $$PWD/pewidget.cpp \ 16 | $$PWD/pe_defs.cpp \ 17 | $$PWD/dialogpe.cpp \ 18 | $$PWD/peprocessdata.cpp 19 | 20 | FORMS += \ 21 | $$PWD/pesectionheaderwidget.ui \ 22 | $$PWD/petoolswidget.ui \ 23 | $$PWD/pewidget.ui \ 24 | $$PWD/dialogpe.ui 25 | 26 | !contains(XCONFIG, formatwidget) { 27 | XCONFIG += formatwidget 28 | include($$PWD/../formatwidget.pri) 29 | } 30 | 31 | DISTFILES += \ 32 | $$PWD/pewidget.cmake 33 | -------------------------------------------------------------------------------- /DEX/dexwidget.cmake: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_LIST_DIR}) 2 | 3 | include(${CMAKE_CURRENT_LIST_DIR}/../formatwidget.cmake) 4 | 5 | set(DEXWIDGET_SOURCES 6 | ${FORMATWIDGET_SOURCES} 7 | ${CMAKE_CURRENT_LIST_DIR}/dex_defs.cpp 8 | ${CMAKE_CURRENT_LIST_DIR}/dex_defs.h 9 | ${CMAKE_CURRENT_LIST_DIR}/dexprocessdata.cpp 10 | ${CMAKE_CURRENT_LIST_DIR}/dexprocessdata.h 11 | ${CMAKE_CURRENT_LIST_DIR}/dexsectionheaderwidget.cpp 12 | ${CMAKE_CURRENT_LIST_DIR}/dexsectionheaderwidget.h 13 | ${CMAKE_CURRENT_LIST_DIR}/dexsectionheaderwidget.ui 14 | ${CMAKE_CURRENT_LIST_DIR}/dexwidget.cpp 15 | ${CMAKE_CURRENT_LIST_DIR}/dexwidget.h 16 | ${CMAKE_CURRENT_LIST_DIR}/dexwidget.ui 17 | ${CMAKE_CURRENT_LIST_DIR}/dialogdex.cpp 18 | ${CMAKE_CURRENT_LIST_DIR}/dialogdex.h 19 | ${CMAKE_CURRENT_LIST_DIR}/dialogdex.ui 20 | ) 21 | -------------------------------------------------------------------------------- /ELF/elfwidget.cmake: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_LIST_DIR}) 2 | 3 | include(${CMAKE_CURRENT_LIST_DIR}/../formatwidget.cmake) 4 | 5 | set(ELFWIDGET_SOURCES 6 | ${FORMATWIDGET_SOURCES} 7 | ${CMAKE_CURRENT_LIST_DIR}/dialogelf.cpp 8 | ${CMAKE_CURRENT_LIST_DIR}/dialogelf.h 9 | ${CMAKE_CURRENT_LIST_DIR}/dialogelf.ui 10 | ${CMAKE_CURRENT_LIST_DIR}/elf_defs.cpp 11 | ${CMAKE_CURRENT_LIST_DIR}/elf_defs.h 12 | ${CMAKE_CURRENT_LIST_DIR}/elfprocessdata.cpp 13 | ${CMAKE_CURRENT_LIST_DIR}/elfprocessdata.h 14 | ${CMAKE_CURRENT_LIST_DIR}/elfsectionheaderwidget.cpp 15 | ${CMAKE_CURRENT_LIST_DIR}/elfsectionheaderwidget.h 16 | ${CMAKE_CURRENT_LIST_DIR}/elfsectionheaderwidget.ui 17 | ${CMAKE_CURRENT_LIST_DIR}/elfwidget.cpp 18 | ${CMAKE_CURRENT_LIST_DIR}/elfwidget.h 19 | ${CMAKE_CURRENT_LIST_DIR}/elfwidget.ui 20 | ) 21 | -------------------------------------------------------------------------------- /dialogsectionheader.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | DialogSectionHeader 4 | 5 | 6 | Qt::ApplicationModal 7 | 8 | 9 | 10 | 0 11 | 0 12 | 727 13 | 609 14 | 15 | 16 | 17 | Section 18 | 19 | 20 | true 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /MACH/machwidget.cmake: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_LIST_DIR}) 2 | 3 | include(${CMAKE_CURRENT_LIST_DIR}/../formatwidget.cmake) 4 | 5 | set(MACHWIDGET_SOURCES 6 | ${FORMATWIDGET_SOURCES} 7 | ${CMAKE_CURRENT_LIST_DIR}/dialogmach.cpp 8 | ${CMAKE_CURRENT_LIST_DIR}/dialogmach.h 9 | ${CMAKE_CURRENT_LIST_DIR}/dialogmach.ui 10 | ${CMAKE_CURRENT_LIST_DIR}/mach_defs.cpp 11 | ${CMAKE_CURRENT_LIST_DIR}/mach_defs.h 12 | ${CMAKE_CURRENT_LIST_DIR}/machprocessdata.cpp 13 | ${CMAKE_CURRENT_LIST_DIR}/machprocessdata.h 14 | ${CMAKE_CURRENT_LIST_DIR}/machsectionheaderwidget.cpp 15 | ${CMAKE_CURRENT_LIST_DIR}/machsectionheaderwidget.h 16 | ${CMAKE_CURRENT_LIST_DIR}/machsectionheaderwidget.ui 17 | ${CMAKE_CURRENT_LIST_DIR}/machwidget.cpp 18 | ${CMAKE_CURRENT_LIST_DIR}/machwidget.h 19 | ${CMAKE_CURRENT_LIST_DIR}/machwidget.ui 20 | ) 21 | -------------------------------------------------------------------------------- /SearchStrings/searchstringswidget.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD 2 | DEPENDPATH += $$PWD 3 | 4 | HEADERS += \ 5 | $$PWD/dialogsearchstrings.h \ 6 | $$PWD/searchstringswidget.h 7 | 8 | SOURCES += \ 9 | $$PWD/dialogsearchstrings.cpp \ 10 | $$PWD/searchstringswidget.cpp 11 | 12 | FORMS += \ 13 | $$PWD/dialogsearchstrings.ui \ 14 | $$PWD/searchstringswidget.ui 15 | 16 | !contains(XCONFIG, multisearch) { 17 | XCONFIG += multisearch 18 | include($$PWD/../MultiSearch/multisearch.pri) 19 | } 20 | 21 | !contains(XCONFIG, dialogeditstring) { 22 | XCONFIG += dialogeditstring 23 | include($$PWD/../../FormatDialogs/dialogeditstring.pri) 24 | } 25 | 26 | !contains(XCONFIG, xtableview) { 27 | XCONFIG += xtableview 28 | include($$PWD/../../Controls/xtableview.pri) 29 | } 30 | 31 | DISTFILES += \ 32 | $$PWD/searchstringswidget.cmake 33 | -------------------------------------------------------------------------------- /LE/dialogle.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | DialogLE 4 | 5 | 6 | 7 | 0 8 | 0 9 | 1217 10 | 421 11 | 12 | 13 | 14 | LE 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | LEWidget 25 | QWidget 26 |
lewidget.h
27 | 1 28 |
29 |
30 | 31 | 32 |
33 | -------------------------------------------------------------------------------- /NE/dialogne.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | DialogNE 4 | 5 | 6 | 7 | 0 8 | 0 9 | 1314 10 | 408 11 | 12 | 13 | 14 | NE 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | NEWidget 25 | QWidget 26 |
newidget.h
27 | 1 28 |
29 |
30 | 31 | 32 |
33 | -------------------------------------------------------------------------------- /PE/dialogpe.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | DialogPE 4 | 5 | 6 | 7 | 0 8 | 0 9 | 1348 10 | 485 11 | 12 | 13 | 14 | PE 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | PEWidget 25 | QWidget 26 |
pewidget.h
27 | 1 28 |
29 |
30 | 31 | 32 |
33 | -------------------------------------------------------------------------------- /DEX/dialogdex.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | DialogDEX 4 | 5 | 6 | 7 | 0 8 | 0 9 | 1268 10 | 440 11 | 12 | 13 | 14 | DEX 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | DEXWidget 25 | QWidget 26 |
dexwidget.h
27 | 1 28 |
29 |
30 | 31 | 32 |
33 | -------------------------------------------------------------------------------- /ELF/dialogelf.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | DialogELF 4 | 5 | 6 | 7 | 0 8 | 0 9 | 1177 10 | 443 11 | 12 | 13 | 14 | ELF 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | ELFWidget 25 | QWidget 26 |
elfwidget.h
27 | 1 28 |
29 |
30 | 31 | 32 |
33 | -------------------------------------------------------------------------------- /PDF/dialogpdf.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | DialogPDF 4 | 5 | 6 | 7 | 0 8 | 0 9 | 844 10 | 419 11 | 12 | 13 | 14 | PDF 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | PDFWidget 25 | QWidget 26 |
pdfwidget.h
27 | 1 28 |
29 |
30 | 31 | 32 |
33 | -------------------------------------------------------------------------------- /XAbstractWidgets/xstructwidget.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD 2 | DEPENDPATH += $$PWD 3 | 4 | HEADERS += \ 5 | $$PWD/xgenericabstractwidget.h \ 6 | $$PWD/xgenericheaderwidget.h \ 7 | $$PWD/xgenerictablewidget.h \ 8 | $$PWD/xgetdatarecordsprocess.h \ 9 | $$PWD/dialogxstruct.h \ 10 | $$PWD/xstructwidget.h 11 | 12 | SOURCES += \ 13 | $$PWD/xgenericabstractwidget.cpp \ 14 | $$PWD/xgenericheaderwidget.cpp \ 15 | $$PWD/xgenerictablewidget.cpp \ 16 | $$PWD/xgetdatarecordsprocess.cpp \ 17 | $$PWD/dialogxstruct.cpp \ 18 | $$PWD/xstructwidget.cpp 19 | 20 | FORMS += \ 21 | $$PWD/xgenericheaderwidget.ui \ 22 | $$PWD/xgenerictablewidget.ui \ 23 | $$PWD/dialogxstruct.ui \ 24 | $$PWD/xstructwidget.ui 25 | 26 | !contains(XCONFIG, xmodel_binary) { 27 | XCONFIG += xmodel_binary 28 | include($$PWD/../../Controls/xmodel_binary.pri) 29 | } 30 | -------------------------------------------------------------------------------- /MACH/dialogmach.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | DialogMACH 4 | 5 | 6 | 7 | 0 8 | 0 9 | 1217 10 | 426 11 | 12 | 13 | 14 | MACH 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | MACHWidget 25 | QWidget 26 |
machwidget.h
27 | 1 28 |
29 |
30 | 31 | 32 |
33 | -------------------------------------------------------------------------------- /MSDOS/dialogmsdos.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | DialogMSDOS 4 | 5 | 6 | 7 | 0 8 | 0 9 | 1258 10 | 429 11 | 12 | 13 | 14 | MSDOS 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | MSDOSWidget 25 | QWidget 26 |
msdoswidget.h
27 | 1 28 |
29 |
30 | 31 | 32 |
33 | -------------------------------------------------------------------------------- /Binary/dialogbinary.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | DialogBinary 4 | 5 | 6 | 7 | 0 8 | 0 9 | 815 10 | 486 11 | 12 | 13 | 14 | Binary 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | BinaryWidget 25 | QWidget 26 |
binarywidget.h
27 | 1 28 |
29 |
30 | 31 | 32 |
33 | -------------------------------------------------------------------------------- /MACHOFAT/dialogmachofat.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | DialogMACHOFAT 4 | 5 | 6 | 7 | 0 8 | 0 9 | 844 10 | 419 11 | 12 | 13 | 14 | MACHOFAT 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | MACHOFATWidget 25 | QWidget 26 |
machofatwidget.h
27 | 1 28 |
29 |
30 | 31 | 32 |
33 | -------------------------------------------------------------------------------- /PE/pewidget.cmake: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_LIST_DIR}) 2 | 3 | include(${CMAKE_CURRENT_LIST_DIR}/../formatwidget.cmake) 4 | 5 | set(PEWIDGET_SOURCES 6 | ${FORMATWIDGET_SOURCES} 7 | ${CMAKE_CURRENT_LIST_DIR}/dialogpe.cpp 8 | ${CMAKE_CURRENT_LIST_DIR}/dialogpe.h 9 | ${CMAKE_CURRENT_LIST_DIR}/dialogpe.ui 10 | ${CMAKE_CURRENT_LIST_DIR}/pe_defs.cpp 11 | ${CMAKE_CURRENT_LIST_DIR}/pe_defs.h 12 | ${CMAKE_CURRENT_LIST_DIR}/peprocessdata.cpp 13 | ${CMAKE_CURRENT_LIST_DIR}/peprocessdata.h 14 | ${CMAKE_CURRENT_LIST_DIR}/pesectionheaderwidget.cpp 15 | ${CMAKE_CURRENT_LIST_DIR}/pesectionheaderwidget.h 16 | ${CMAKE_CURRENT_LIST_DIR}/pesectionheaderwidget.ui 17 | ${CMAKE_CURRENT_LIST_DIR}/petoolswidget.cpp 18 | ${CMAKE_CURRENT_LIST_DIR}/petoolswidget.h 19 | ${CMAKE_CURRENT_LIST_DIR}/petoolswidget.ui 20 | ${CMAKE_CURRENT_LIST_DIR}/pewidget.cpp 21 | ${CMAKE_CURRENT_LIST_DIR}/pewidget.h 22 | ${CMAKE_CURRENT_LIST_DIR}/pewidget.ui 23 | ) 24 | -------------------------------------------------------------------------------- /allformatwidgets.cmake: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_LIST_DIR}) 2 | 3 | include(${CMAKE_CURRENT_LIST_DIR}/Binary/binarywidget.cmake) 4 | include(${CMAKE_CURRENT_LIST_DIR}/DEX/dexwidget.cmake) 5 | include(${CMAKE_CURRENT_LIST_DIR}/ELF/elfwidget.cmake) 6 | include(${CMAKE_CURRENT_LIST_DIR}/LE/lewidget.cmake) 7 | include(${CMAKE_CURRENT_LIST_DIR}/MACH/machwidget.cmake) 8 | include(${CMAKE_CURRENT_LIST_DIR}/MACHOFAT/machofatwidget.cmake) 9 | include(${CMAKE_CURRENT_LIST_DIR}/MSDOS/msdoswidget.cmake) 10 | include(${CMAKE_CURRENT_LIST_DIR}/NE/newidget.cmake) 11 | include(${CMAKE_CURRENT_LIST_DIR}/PE/pewidget.cmake) 12 | include(${CMAKE_CURRENT_LIST_DIR}/../XOptions/xoptionswidget.cmake) 13 | 14 | set(ALLFORMATWIDGETS_SOURCES 15 | ${XOPTIONSWIDGET_SOURCES} 16 | ${BINARYWIDGET_SOURCES} 17 | ${DEXWIDGET_SOURCES} 18 | ${ELFWIDGET_SOURCES} 19 | ${LEWIDGET_SOURCES} 20 | ${MACHWIDGET_SOURCES} 21 | ${MACHOFATWIDGET_SOURCES} 22 | ${MSDOSWIDGET_SOURCES} 23 | ${NEWIDGET_SOURCES} 24 | ${PEWIDGET_SOURCES} 25 | ) 26 | -------------------------------------------------------------------------------- /SearchSignatures/searchsignatureswidget.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD 2 | DEPENDPATH += $$PWD 3 | 4 | HEADERS += \ 5 | $$PWD/dialogsearchsignatures.h \ 6 | $$PWD/searchsignaturesoptionswidget.h \ 7 | $$PWD/searchsignatureswidget.h 8 | 9 | SOURCES += \ 10 | $$PWD/dialogsearchsignatures.cpp \ 11 | $$PWD/searchsignaturesoptionswidget.cpp \ 12 | $$PWD/searchsignatureswidget.cpp 13 | 14 | FORMS += \ 15 | $$PWD/dialogsearchsignatures.ui \ 16 | $$PWD/searchsignaturesoptionswidget.ui \ 17 | $$PWD/searchsignatureswidget.ui 18 | 19 | !contains(XCONFIG, multisearch) { 20 | XCONFIG += multisearch 21 | include($$PWD/../MultiSearch/multisearch.pri) 22 | } 23 | 24 | !contains(XCONFIG, xoptions) { 25 | XCONFIG += xoptions 26 | include($$PWD/../../XOptions/xoptions.pri) 27 | } 28 | 29 | !contains(XCONFIG, xshortcuts) { 30 | XCONFIG += xshortcuts 31 | include($$PWD/../../XShortcuts/xshortcuts.pri) 32 | } 33 | 34 | DISTFILES += \ 35 | $$PWD/searchsignatureswidget.cmake 36 | -------------------------------------------------------------------------------- /SearchSignatures/searchsignatureswidget.cmake: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_LIST_DIR}) 2 | 3 | if (NOT DEFINED MULTISEARCH_SOURCES) 4 | include(${CMAKE_CURRENT_LIST_DIR}/../MultiSearch/multisearch.cmake) 5 | set(SEARCHSIGNATURESWIDGET_SOURCES ${SEARCHSIGNATURESWIDGET_SOURCES} ${MULTISEARCH_SOURCES}) 6 | endif() 7 | 8 | if (NOT DEFINED SIGNATURES_SOURCES) 9 | include(${CMAKE_CURRENT_LIST_DIR}/../../signatures/signatures.cmake) 10 | endif() 11 | 12 | set(SEARCHSIGNATURESWIDGET_SOURCES 13 | ${SEARCHSIGNATURESWIDGET_SOURCES} 14 | ${CMAKE_CURRENT_LIST_DIR}/dialogsearchsignatures.cpp 15 | ${CMAKE_CURRENT_LIST_DIR}/dialogsearchsignatures.h 16 | ${CMAKE_CURRENT_LIST_DIR}/dialogsearchsignatures.ui 17 | ${CMAKE_CURRENT_LIST_DIR}/searchsignatureswidget.cpp 18 | ${CMAKE_CURRENT_LIST_DIR}/searchsignatureswidget.h 19 | ${CMAKE_CURRENT_LIST_DIR}/searchsignatureswidget.ui 20 | ${CMAKE_CURRENT_LIST_DIR}/searchsignaturesoptionswidget.ui 21 | ${CMAKE_CURRENT_LIST_DIR}/searchsignaturesoptionswidget.cpp 22 | ${CMAKE_CURRENT_LIST_DIR}/searchsignaturesoptionswidget.h 23 | ) 24 | -------------------------------------------------------------------------------- /formatwidgets.cmake: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_LIST_DIR}) 2 | 3 | include(${CMAKE_CURRENT_LIST_DIR}/Binary/binarywidget.cmake) 4 | include(${CMAKE_CURRENT_LIST_DIR}/DEX/dexwidget.cmake) 5 | include(${CMAKE_CURRENT_LIST_DIR}/ELF/elfwidget.cmake) 6 | include(${CMAKE_CURRENT_LIST_DIR}/LE/lewidget.cmake) 7 | include(${CMAKE_CURRENT_LIST_DIR}/MACH/machwidget.cmake) 8 | include(${CMAKE_CURRENT_LIST_DIR}/MACHOFAT/machofatwidget.cmake) 9 | include(${CMAKE_CURRENT_LIST_DIR}/MSDOS/msdoswidget.cmake) 10 | include(${CMAKE_CURRENT_LIST_DIR}/NE/newidget.cmake) 11 | include(${CMAKE_CURRENT_LIST_DIR}/PE/pewidget.cmake) 12 | include(${CMAKE_CURRENT_LIST_DIR}/../archive_widget/archive_widget.cmake) 13 | 14 | set(FORMATWIDGETS_SOURCES 15 | ${BINARYWIDGET_SOURCES} 16 | ${DEXWIDGET_SOURCES} 17 | ${ELFWIDGET_SOURCES} 18 | ${LEWIDGET_SOURCES} 19 | ${MACHWIDGET_SOURCES} 20 | ${MACHOFATWIDGET_SOURCES} 21 | ${MSDOSWIDGET_SOURCES} 22 | ${NEWIDGET_SOURCES} 23 | ${PEWIDGET_SOURCES} 24 | ${ARCHIVE_WIDGET_SOURCES} 25 | ${CMAKE_CURRENT_LIST_DIR}/formatswidget.cpp 26 | ${CMAKE_CURRENT_LIST_DIR}/formatswidget.ui 27 | ) 28 | 29 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017-2025 hors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /SearchStrings/searchstringswidget.cmake: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_LIST_DIR}) 2 | 3 | if (NOT DEFINED MULTISEARCH_SOURCES) 4 | include(${CMAKE_CURRENT_LIST_DIR}/../MultiSearch/multisearch.cmake) 5 | set(SEARCHSTRINGSWIDGET_SOURCES ${SEARCHSTRINGSWIDGET_SOURCES} ${MULTISEARCH_SOURCES}) 6 | endif() 7 | if (NOT DEFINED DIALOGEDITSTRING_SOURCES) 8 | include(${CMAKE_CURRENT_LIST_DIR}/../../FormatDialogs/dialogeditstring.cmake) 9 | set(SEARCHSTRINGSWIDGET_SOURCES ${SEARCHSTRINGSWIDGET_SOURCES} ${DIALOGEDITSTRING_SOURCES}) 10 | endif() 11 | if (NOT DEFINED XTABLEVIEW_SOURCES) 12 | include(${CMAKE_CURRENT_LIST_DIR}/../../Controls/xtableview.cmake) 13 | set(SEARCHSTRINGSWIDGET_SOURCES ${SEARCHSTRINGSWIDGET_SOURCES} ${XTABLEVIEW_SOURCES}) 14 | endif() 15 | 16 | set(SEARCHSTRINGSWIDGET_SOURCES 17 | ${SEARCHSTRINGSWIDGET_SOURCES} 18 | ${CMAKE_CURRENT_LIST_DIR}/dialogsearchstrings.cpp 19 | ${CMAKE_CURRENT_LIST_DIR}/dialogsearchstrings.h 20 | ${CMAKE_CURRENT_LIST_DIR}/dialogsearchstrings.ui 21 | ${CMAKE_CURRENT_LIST_DIR}/searchstringswidget.cpp 22 | ${CMAKE_CURRENT_LIST_DIR}/searchstringswidget.h 23 | ${CMAKE_CURRENT_LIST_DIR}/searchstringswidget.ui 24 | ) 25 | -------------------------------------------------------------------------------- /PDF/pdf_defs.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2022-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #include "pdf_defs.h" 22 | -------------------------------------------------------------------------------- /AbstractWidgets/Structs/generic_defs.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2022-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #include "generic_defs.h" 22 | -------------------------------------------------------------------------------- /AbstractWidgets/Structs/xformats_defs.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #include "xformats_defs.h" 22 | -------------------------------------------------------------------------------- /Binary/binary_defs.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #include "binary_defs.h" 22 | -------------------------------------------------------------------------------- /AbstractWidgets/Structs/xformats_def.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef XFORMATS_DEFS_H 22 | #define XFORMATS_DEFS_H 23 | 24 | #endif // XFORMATS_DEFS_H 25 | -------------------------------------------------------------------------------- /AbstractWidgets/Structs/xformats_defs.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef XFORMATS_DEFS_H 22 | #define XFORMATS_DEFS_H 23 | 24 | #endif // XFORMATS_DEFS_H 25 | -------------------------------------------------------------------------------- /XAbstractWidgets/xstructwidget.cmake: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_LIST_DIR}) 2 | 3 | if (NOT DEFINED XMODEL_BINARY_SOURCES) 4 | include(${CMAKE_CURRENT_LIST_DIR}/../../Controls/xmodel_binary.cmake) 5 | set(XSTRUCTWIDGET_SOURCES ${XSTRUCTWIDGET_SOURCES} ${XMODEL_BINARY_SOURCES}) 6 | endif() 7 | 8 | set(XSTRUCTWIDGET_SOURCES 9 | ${XSTRUCTWIDGET_SOURCES} 10 | ${CMAKE_CURRENT_LIST_DIR}/xgenericabstractwidget.cpp 11 | ${CMAKE_CURRENT_LIST_DIR}/xgenericabstractwidget.h 12 | ${CMAKE_CURRENT_LIST_DIR}/xgenericheaderwidget.cpp 13 | ${CMAKE_CURRENT_LIST_DIR}/xgenericheaderwidget.h 14 | ${CMAKE_CURRENT_LIST_DIR}/xgenericheaderwidget.ui 15 | ${CMAKE_CURRENT_LIST_DIR}/xgenerictablewidget.cpp 16 | ${CMAKE_CURRENT_LIST_DIR}/xgenerictablewidget.h 17 | ${CMAKE_CURRENT_LIST_DIR}/xgenerictablewidget.ui 18 | ${CMAKE_CURRENT_LIST_DIR}/xstructwidget.cpp 19 | ${CMAKE_CURRENT_LIST_DIR}/xstructwidget.h 20 | ${CMAKE_CURRENT_LIST_DIR}/xstructwidget.ui 21 | ${CMAKE_CURRENT_LIST_DIR}/dialogxstruct.cpp 22 | ${CMAKE_CURRENT_LIST_DIR}/dialogxstruct.h 23 | ${CMAKE_CURRENT_LIST_DIR}/dialogxstruct.ui 24 | ${CMAKE_CURRENT_LIST_DIR}/xgetdatarecordsprocess.cpp 25 | ${CMAKE_CURRENT_LIST_DIR}/xgetdatarecordsprocess.h 26 | ${CMAKE_CURRENT_LIST_DIR}/dialogxstructchooser.cpp 27 | ${CMAKE_CURRENT_LIST_DIR}/dialogxstructchooser.h 28 | ${CMAKE_CURRENT_LIST_DIR}/dialogxstructchooser.ui 29 | ) 30 | -------------------------------------------------------------------------------- /allformatwidgets.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD 2 | DEPENDPATH += $$PWD 3 | 4 | !contains(XCONFIG, binarywidget) { 5 | XCONFIG += binarywidget 6 | include($$PWD/Binary/binarywidget.pri) 7 | } 8 | 9 | !contains(XCONFIG, msdoswidget) { 10 | XCONFIG += msdoswidget 11 | include($$PWD/MSDOS/msdoswidget.pri) 12 | } 13 | 14 | !contains(XCONFIG, newidget) { 15 | XCONFIG += newidget 16 | include($$PWD/NE/newidget.pri) 17 | } 18 | 19 | !contains(XCONFIG, lewidget) { 20 | XCONFIG += lewidget 21 | include($$PWD/LE/lewidget.pri) 22 | } 23 | 24 | !contains(XCONFIG, pewidget) { 25 | XCONFIG += pewidget 26 | include($$PWD/PE/pewidget.pri) 27 | } 28 | 29 | !contains(XCONFIG, elfwidget) { 30 | XCONFIG += elfwidget 31 | include($$PWD/ELF/elfwidget.pri) 32 | } 33 | 34 | !contains(XCONFIG, machwidget) { 35 | XCONFIG += machwidget 36 | include($$PWD/MACH/machwidget.pri) 37 | } 38 | 39 | !contains(XCONFIG, machofatwidget) { 40 | XCONFIG += machofatwidget 41 | include($$PWD/MACHOFAT/machofatwidget.pri) 42 | } 43 | 44 | contains(XCONFIG, use_dex) { 45 | !contains(XCONFIG, dexwidget) { 46 | XCONFIG += dexwidget 47 | include($$PWD/DEX/dexwidget.pri) 48 | } 49 | } 50 | 51 | !contains(XCONFIG, xoptionswidget) { 52 | XCONFIG += xoptionswidget 53 | include($$PWD/../XOptions/xoptionswidget.pri) 54 | } 55 | 56 | DISTFILES += \ 57 | $$PWD/LICENSE \ 58 | $$PWD/README.md \ 59 | $$PWD/allformatwidgets.cmake 60 | -------------------------------------------------------------------------------- /AbstractWidgets/Structs/generic_defs.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2022-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef GENERIC_DEFS_H 22 | #define GENERIC_DEFS_H 23 | 24 | #include "../xformatwidget_def.h" 25 | 26 | namespace XGENERIC { 27 | enum DATA { 28 | value = 0, 29 | cmdsize, 30 | __data_size 31 | }; 32 | } // namespace XGENERIC 33 | 34 | #endif // GENERIC_DEFS_H 35 | -------------------------------------------------------------------------------- /XAbstractWidgets/dialogxstructchooser.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #include "dialogxstructchooser.h" 22 | #include "ui_dialogxstructchooser.h" 23 | 24 | DialogXStructChooser::DialogXStructChooser(QWidget *parent) : QDialog(parent), ui(new Ui::DialogXStructChooser) 25 | { 26 | ui->setupUi(this); 27 | } 28 | 29 | DialogXStructChooser::~DialogXStructChooser() 30 | { 31 | delete ui; 32 | } 33 | 34 | void DialogXStructChooser::on_pushButtonCancel_clicked() 35 | { 36 | reject(); 37 | } 38 | 39 | void DialogXStructChooser::on_pushButtonOK_clicked() 40 | { 41 | accept(); 42 | } 43 | -------------------------------------------------------------------------------- /AbstractWidgets/abstractwidgets.cmake: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_LIST_DIR}) 2 | include_directories(${CMAKE_CURRENT_LIST_DIR}/Generic) 3 | 4 | set(ABSTRACTWIDGETS_SOURCES 5 | ${ABSTRACTWIDGETS_SOURCES} 6 | ${CMAKE_CURRENT_LIST_DIR}/Structs/xdex_defs.cpp 7 | ${CMAKE_CURRENT_LIST_DIR}/Structs/xdex_defs.h 8 | ${CMAKE_CURRENT_LIST_DIR}/Structs/xelf_defs.cpp 9 | ${CMAKE_CURRENT_LIST_DIR}/Structs/xelf_defs.h 10 | ${CMAKE_CURRENT_LIST_DIR}/Structs/xle_defs.cpp 11 | ${CMAKE_CURRENT_LIST_DIR}/Structs/xle_defs.h 12 | ${CMAKE_CURRENT_LIST_DIR}/Structs/xmach_defs.cpp 13 | ${CMAKE_CURRENT_LIST_DIR}/Structs/xmach_defs.h 14 | ${CMAKE_CURRENT_LIST_DIR}/Structs/xmsdos_defs.cpp 15 | ${CMAKE_CURRENT_LIST_DIR}/Structs/xmsdos_defs.h 16 | ${CMAKE_CURRENT_LIST_DIR}/Structs/xne_defs.cpp 17 | ${CMAKE_CURRENT_LIST_DIR}/Structs/xne_defs.h 18 | ${CMAKE_CURRENT_LIST_DIR}/Structs/xpe_defs.cpp 19 | ${CMAKE_CURRENT_LIST_DIR}/Structs/xpe_defs.h 20 | ${CMAKE_CURRENT_LIST_DIR}/Structs/xarchives_defs.cpp 21 | ${CMAKE_CURRENT_LIST_DIR}/Structs/xarchives_defs.h 22 | ${CMAKE_CURRENT_LIST_DIR}/Structs/xformats_defs.cpp 23 | ${CMAKE_CURRENT_LIST_DIR}/Structs/xformats_defs.h 24 | ${CMAKE_CURRENT_LIST_DIR}/dialogsetgenericwidget.cpp 25 | ${CMAKE_CURRENT_LIST_DIR}/dialogsetgenericwidget.h 26 | ${CMAKE_CURRENT_LIST_DIR}/dialogsetgenericwidget.ui 27 | ${CMAKE_CURRENT_LIST_DIR}/xdialogprocessdata.cpp 28 | ${CMAKE_CURRENT_LIST_DIR}/xdialogprocessdata.h 29 | ${CMAKE_CURRENT_LIST_DIR}/xformatwidget.cpp 30 | ${CMAKE_CURRENT_LIST_DIR}/xformatwidget.h 31 | ${CMAKE_CURRENT_LIST_DIR}/xformatwidget_def.h 32 | ${CMAKE_CURRENT_LIST_DIR}/xprocessdata.cpp 33 | ${CMAKE_CURRENT_LIST_DIR}/xprocessdata.h 34 | ) 35 | -------------------------------------------------------------------------------- /AbstractWidgets/Structs/xarchives_defs.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef XARCHIVES_DEFS_H 22 | #define XARCHIVES_DEFS_H 23 | 24 | #include "../xformatwidget_def.h" 25 | 26 | namespace XTYPE_7ZIP { 27 | namespace X_SIGNATUREHEADER { 28 | enum DATA { 29 | kSignature = 0, 30 | Major, 31 | Minor, 32 | StartHeaderCRC, 33 | NextHeaderOffset, 34 | NextHeaderSize, 35 | NextHeaderCRC, 36 | __data_size 37 | }; 38 | 39 | extern const XFW_DEF::HEADER_RECORD records[__data_size]; 40 | } // namespace X_SIGNATUREHEADER 41 | } // namespace XTYPE_7ZIP 42 | 43 | #endif // XARCHIVES_DEFS_H 44 | -------------------------------------------------------------------------------- /PDF/dialogpdf.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2022-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef DIALOGPDF_H 22 | #define DIALOGPDF_H 23 | 24 | #include 25 | 26 | #include "pdfwidget.h" 27 | 28 | namespace Ui { 29 | class DialogPDF; 30 | } 31 | 32 | class DialogPDF : public XShortcutsDialog { 33 | Q_OBJECT 34 | 35 | public: 36 | explicit DialogPDF(QWidget *pParent = nullptr); 37 | ~DialogPDF(); 38 | 39 | void setData(QIODevice *pDevice, FW_DEF::OPTIONS options); 40 | void setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions); 41 | 42 | private: 43 | Ui::DialogPDF *ui; 44 | }; 45 | 46 | #endif // DIALOGPDF_H 47 | -------------------------------------------------------------------------------- /PDF/pdf_defs.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2022-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef PDF_DEFS_H 22 | #define PDF_DEFS_H 23 | 24 | #include "../formatwidget.h" 25 | #include "xpdf.h" 26 | 27 | namespace SPDF { 28 | enum TYPE { 29 | TYPE_INFO = 0, 30 | TYPE_VISUALIZATION, 31 | TYPE_VIRUSTOTAL, 32 | TYPE_HEX, 33 | TYPE_HASH, 34 | TYPE_STRINGS, 35 | TYPE_SIGNATURES, 36 | TYPE_MEMORYMAP, 37 | TYPE_ENTROPY, 38 | TYPE_NFDSCAN, 39 | TYPE_EXTRACTOR, 40 | TYPE_SEARCH, 41 | TYPE_DIESCAN, 42 | TYPE_YARASCAN, 43 | __TYPE_size 44 | }; 45 | } // namespace SPDF 46 | 47 | #endif // PDF_DEFS_H 48 | -------------------------------------------------------------------------------- /AbstractWidgets/Structs/xsevenzip_defs.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2022-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef XSEVENZIP_DEFS_H 22 | #define XSEVENZIP_DEFS_H 23 | 24 | #include "../xformatwidget_def.h" 25 | 26 | namespace XTYPE_7ZIP { 27 | namespace X_SIGNATUREHEADER { 28 | enum DATA { 29 | kSignature = 0, 30 | Major, 31 | Minor, 32 | StartHeaderCRC, 33 | NextHeaderOffset, 34 | NextHeaderSize, 35 | NextHeaderCRC, 36 | __data_size 37 | }; 38 | 39 | extern const XFW_DEF::HEADER_RECORD records[__data_size]; 40 | } // namespace X_SIGNATUREHEADER 41 | } // namespace XTYPE_7ZIP 42 | 43 | #endif // XSEVENZIP_DEFS_H 44 | -------------------------------------------------------------------------------- /dialogprocessdata.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef DIALOGPROCESSDATA_H 22 | #define DIALOGPROCESSDATA_H 23 | 24 | #include 25 | #include 26 | #include 27 | 28 | #include "processdata.h" 29 | #include "xdialogprocess.h" 30 | 31 | class DialogProcessData : public XDialogProcess { 32 | Q_OBJECT 33 | 34 | public: 35 | explicit DialogProcessData(QWidget *pParent, ProcessData *pProcessData, XOptions *pOptions); 36 | ~DialogProcessData(); 37 | 38 | private: 39 | ProcessData *m_pProcessData; 40 | QThread *m_pThread; 41 | }; 42 | 43 | #endif // DIALOGPROCESSDATA_H 44 | -------------------------------------------------------------------------------- /MACHOFAT/machofatwidget.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | MACHOFATWidget 4 | 5 | 6 | 7 | 0 8 | 0 9 | 656 10 | 428 11 | 12 | 13 | 14 | Form 15 | 16 | 17 | 18 | 0 19 | 20 | 21 | 0 22 | 23 | 24 | 0 25 | 26 | 27 | 0 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 200 36 | 0 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | Qt::Horizontal 45 | 46 | 47 | 48 | 40 49 | 20 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /XAbstractWidgets/dialogxstructchooser.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef DIALOGXSTRUCTCHOOSER_H 22 | #define DIALOGXSTRUCTCHOOSER_H 23 | 24 | #include 25 | 26 | namespace Ui { 27 | class DialogXStructChooser; 28 | } 29 | 30 | class DialogXStructChooser : public QDialog { 31 | Q_OBJECT 32 | 33 | public: 34 | explicit DialogXStructChooser(QWidget *parent = nullptr); 35 | ~DialogXStructChooser(); 36 | 37 | private slots: 38 | void on_pushButtonCancel_clicked(); 39 | void on_pushButtonOK_clicked(); 40 | 41 | private: 42 | Ui::DialogXStructChooser *ui; 43 | }; 44 | 45 | #endif // DIALOGXSTRUCTCHOOSER_H 46 | -------------------------------------------------------------------------------- /Binary/binary_defs.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2020-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef XBINARY_DEFS_H 22 | #define XBINARY_DEFS_H 23 | 24 | #include "../formatwidget.h" 25 | #include "xbinary.h" 26 | 27 | namespace SBINARY { 28 | enum TYPE { 29 | TYPE_INFO = 0, 30 | TYPE_VISUALIZATION, 31 | TYPE_VIRUSTOTAL, 32 | TYPE_HEX, 33 | TYPE_DISASM, 34 | TYPE_HASH, 35 | TYPE_STRINGS, 36 | TYPE_SIGNATURES, 37 | TYPE_MEMORYMAP, 38 | TYPE_ENTROPY, 39 | TYPE_NFDSCAN, 40 | TYPE_EXTRACTOR, 41 | TYPE_SEARCH, 42 | TYPE_DIESCAN, 43 | TYPE_YARASCAN, 44 | __TYPE_size 45 | }; 46 | } // namespace SBINARY 47 | 48 | #endif // XBINARY_DEFS_H 49 | -------------------------------------------------------------------------------- /MACHOFAT/dialogmachofat.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef DIALOGMACHOFAT_H 22 | #define DIALOGMACHOFAT_H 23 | 24 | #include 25 | 26 | #include "machofatwidget.h" 27 | 28 | namespace Ui { 29 | class DialogMACHOFAT; 30 | } 31 | 32 | class DialogMACHOFAT : public XShortcutsDialog { 33 | Q_OBJECT 34 | 35 | public: 36 | explicit DialogMACHOFAT(QWidget *pParent = nullptr); 37 | ~DialogMACHOFAT(); 38 | 39 | void setData(QIODevice *pDevice, FW_DEF::OPTIONS options); 40 | void setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions); 41 | 42 | private: 43 | Ui::DialogMACHOFAT *ui; 44 | }; 45 | 46 | #endif // DIALOGMACHOFAT_H 47 | -------------------------------------------------------------------------------- /NE/neprocessdata.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef NEPROCESSDATA_H 22 | #define NEPROCESSDATA_H 23 | 24 | #include "ne_defs.h" 25 | #include "processdata.h" 26 | 27 | class NEProcessData : public ProcessData { 28 | Q_OBJECT 29 | 30 | public: 31 | explicit NEProcessData(qint32 nType, QStandardItemModel **ppModel, XNE *pNE, qint64 nOffset, qint64 nSize); 32 | virtual void _process(); 33 | virtual void ajustTableView(qint32 nType, QTableView *pTableView); 34 | 35 | private: 36 | qint32 g_nType; 37 | XNE *g_pNE; 38 | QStandardItemModel **g_ppModel; 39 | qint64 g_nOffset; 40 | qint64 g_nSize; 41 | }; 42 | 43 | #endif // NEPROCESSDATA_H 44 | -------------------------------------------------------------------------------- /dialogmodelinfo.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | DialogModelInfo 4 | 5 | 6 | Qt::ApplicationModal 7 | 8 | 9 | 10 | 0 11 | 0 12 | 533 13 | 425 14 | 15 | 16 | 17 | 18 | 19 | 20 | true 21 | 22 | 23 | 24 | 25 | 26 | true 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | Qt::Horizontal 36 | 37 | 38 | 39 | 40 40 | 20 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | Save 49 | 50 | 51 | 52 | 53 | 54 | 55 | OK 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /LE/leprocessdata.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef LEPROCESSDATA_H 22 | #define LEPROCESSDATA_H 23 | 24 | #include "le_defs.h" 25 | #include "processdata.h" 26 | 27 | class LEProcessData : public ProcessData { 28 | Q_OBJECT 29 | 30 | public: 31 | explicit LEProcessData(qint32 nType, QStandardItemModel **ppModel, XLE *pLE, qint64 nOffset, qint64 nSize); 32 | 33 | virtual void _process(); 34 | virtual void ajustTableView(qint32 nType, QTableView *pTableView); 35 | 36 | private: 37 | qint32 g_nType; 38 | XLE *g_pLE; 39 | QStandardItemModel **g_ppModel; 40 | qint64 g_nOffset; 41 | qint64 g_nSize; 42 | }; 43 | 44 | #endif // LEPROCESSDATA_H 45 | -------------------------------------------------------------------------------- /LE/dialogle.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef DIALOGLE_H 22 | #define DIALOGLE_H 23 | 24 | #include "lewidget.h" 25 | 26 | namespace Ui { 27 | class DialogLE; 28 | } 29 | 30 | class DialogLE : public XShortcutsDialog { 31 | Q_OBJECT 32 | 33 | public: 34 | explicit DialogLE(QWidget *pParent = nullptr); 35 | ~DialogLE(); 36 | 37 | virtual void adjustView(); 38 | 39 | void setData(QIODevice *pDevice, FW_DEF::OPTIONS options); 40 | void setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions); 41 | 42 | protected: 43 | virtual void registerShortcuts(bool bState); 44 | 45 | private: 46 | Ui::DialogLE *ui; 47 | }; 48 | 49 | #endif // DIALOGLE_H 50 | -------------------------------------------------------------------------------- /DEX/dexprocessdata.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef DEXPROCESSDATA_H 22 | #define DEXPROCESSDATA_H 23 | 24 | #include "dex_defs.h" 25 | #include "processdata.h" 26 | 27 | class DEXProcessData : public ProcessData { 28 | Q_OBJECT 29 | 30 | public: 31 | explicit DEXProcessData(qint32 nType, QStandardItemModel **ppModel, XDEX *pDEX, qint64 nOffset, qint64 nSize); 32 | 33 | virtual void _process(); 34 | virtual void ajustTableView(qint32 nType, QTableView *pTableView); 35 | 36 | private: 37 | qint32 m_nType; 38 | XDEX *m_pDEX; 39 | QStandardItemModel **m_ppModel; 40 | qint64 m_nOffset; 41 | qint64 m_nSize; 42 | }; 43 | 44 | #endif // DEXPROCESSDATA_H 45 | -------------------------------------------------------------------------------- /AbstractWidgets/dialogxmainwidget.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | DialogXMainWidget 4 | 5 | 6 | 7 | 0 8 | 0 9 | 703 10 | 390 11 | 12 | 13 | 14 | Dialog 15 | 16 | 17 | 18 | 19 | 20 | 21 | 0 22 | 0 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | Qt::Horizontal 33 | 34 | 35 | 36 | 40 37 | 20 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | OK 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | XMainWidget 56 | QWidget 57 |
xmainwidget.h
58 | 1 59 |
60 |
61 | 62 | 63 |
64 | -------------------------------------------------------------------------------- /MACH/machprocessdata.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef MACHPROCESSDATA_H 22 | #define MACHPROCESSDATA_H 23 | 24 | #include "mach_defs.h" 25 | #include "processdata.h" 26 | 27 | class MACHProcessData : public ProcessData { 28 | Q_OBJECT 29 | 30 | public: 31 | explicit MACHProcessData(qint32 nType, QStandardItemModel **ppModel, XMACH *pXMACH, qint64 nOffset, qint64 nSize); 32 | virtual void _process(); 33 | virtual void ajustTableView(qint32 nType, QTableView *pTableView); 34 | 35 | private: 36 | qint32 g_nType; 37 | XMACH *g_pXMACH; 38 | QStandardItemModel **g_ppModel; 39 | qint64 g_nOffset; 40 | qint64 g_nSize; 41 | }; 42 | 43 | #endif // MACHPROCESSDATA_H 44 | -------------------------------------------------------------------------------- /AbstractWidgets/dialogxmainwidget.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2024-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in all 11 | * copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #include "dialogxmainwidget.h" 22 | #include "ui_dialogxmainwidget.h" 23 | 24 | DialogXMainWidget::DialogXMainWidget(QWidget *pParent) : XShortcutsDialog(pParent), ui(new Ui::DialogXMainWidget) 25 | { 26 | ui->setupUi(this); 27 | } 28 | 29 | DialogXMainWidget::~DialogXMainWidget() 30 | { 31 | delete ui; 32 | } 33 | 34 | void DialogXMainWidget::adjustView() 35 | { 36 | } 37 | 38 | void DialogXMainWidget::setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions) 39 | { 40 | XShortcutsDialog::setGlobal(pShortcuts, pXOptions); 41 | } 42 | 43 | void DialogXMainWidget::registerShortcuts(bool bState) 44 | { 45 | Q_UNUSED(bState) 46 | } 47 | -------------------------------------------------------------------------------- /NE/dialogne.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef DIALOGNE_H 22 | #define DIALOGNE_H 23 | 24 | #include 25 | 26 | #include "newidget.h" 27 | 28 | namespace Ui { 29 | class DialogNE; 30 | } 31 | 32 | class DialogNE : public XShortcutsDialog { 33 | Q_OBJECT 34 | 35 | public: 36 | explicit DialogNE(QWidget *pParent = nullptr); 37 | ~DialogNE(); 38 | 39 | virtual void adjustView(); 40 | 41 | void setData(QIODevice *pDevice, FW_DEF::OPTIONS options); 42 | void setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions); 43 | 44 | protected: 45 | virtual void registerShortcuts(bool bState); 46 | 47 | private: 48 | Ui::DialogNE *ui; 49 | }; 50 | 51 | #endif // DIALOGNE_H 52 | -------------------------------------------------------------------------------- /PE/dialogpe.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef DIALOGPE_H 22 | #define DIALOGPE_H 23 | 24 | #include 25 | 26 | #include "pewidget.h" 27 | 28 | namespace Ui { 29 | class DialogPE; 30 | } 31 | 32 | class DialogPE : public XShortcutsDialog { 33 | Q_OBJECT 34 | 35 | public: 36 | explicit DialogPE(QWidget *pParent = nullptr); 37 | ~DialogPE(); 38 | 39 | virtual void adjustView(); 40 | 41 | void setData(QIODevice *pDevice, FW_DEF::OPTIONS options); 42 | void setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions); 43 | 44 | protected: 45 | virtual void registerShortcuts(bool bState); 46 | 47 | private: 48 | Ui::DialogPE *ui; 49 | }; 50 | 51 | #endif // DIALOGPE_H 52 | -------------------------------------------------------------------------------- /AbstractWidgets/xdialogprocessdata.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef XDIALOGPROCESSDATA_H 22 | #define XDIALOGPROCESSDATA_H 23 | 24 | #include 25 | #include 26 | #include 27 | 28 | #include "xprocessdata.h" 29 | #include "xdialogprocess.h" 30 | 31 | class XDialogProcessData : public XDialogProcess { 32 | Q_OBJECT 33 | 34 | public: 35 | explicit XDialogProcessData(QWidget *pParent); 36 | ~XDialogProcessData(); 37 | void setData(QStandardItemModel **ppModel, QList *pListHeaderRecords, XFW_DEF::CWOPTIONS *pCwOptions); 38 | 39 | private: 40 | XProcessData *g_pProcessData; 41 | QThread *g_pThread; 42 | }; 43 | 44 | #endif // XDIALOGPROCESSDATA_H 45 | -------------------------------------------------------------------------------- /DEX/dialogdex.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef DIALOGDEX_H 22 | #define DIALOGDEX_H 23 | 24 | #include 25 | 26 | #include "dexwidget.h" 27 | 28 | namespace Ui { 29 | class DialogDEX; 30 | } 31 | 32 | class DialogDEX : public XShortcutsDialog { 33 | Q_OBJECT 34 | 35 | public: 36 | explicit DialogDEX(QWidget *pParent = nullptr); 37 | ~DialogDEX(); 38 | 39 | virtual void adjustView(); 40 | 41 | void setData(QIODevice *pDevice, FW_DEF::OPTIONS options); 42 | void setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions); 43 | 44 | protected: 45 | virtual void registerShortcuts(bool bState); 46 | 47 | private: 48 | Ui::DialogDEX *ui; 49 | }; 50 | 51 | #endif // DIALOGDEX_H 52 | -------------------------------------------------------------------------------- /ELF/dialogelf.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef DIALOGELF_H 22 | #define DIALOGELF_H 23 | 24 | #include 25 | 26 | #include "elfwidget.h" 27 | 28 | namespace Ui { 29 | class DialogELF; 30 | } 31 | 32 | class DialogELF : public XShortcutsDialog { 33 | Q_OBJECT 34 | 35 | public: 36 | explicit DialogELF(QWidget *pParent = nullptr); 37 | ~DialogELF(); 38 | 39 | virtual void adjustView(); 40 | 41 | void setData(QIODevice *pDevice, FW_DEF::OPTIONS options); 42 | void setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions); 43 | 44 | protected: 45 | virtual void registerShortcuts(bool bState); 46 | 47 | private: 48 | Ui::DialogELF *ui; 49 | }; 50 | 51 | #endif // DIALOGELF_H 52 | -------------------------------------------------------------------------------- /MACH/dialogmach.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef DIALOGMACH_H 22 | #define DIALOGMACH_H 23 | 24 | #include 25 | 26 | #include "machwidget.h" 27 | 28 | namespace Ui { 29 | class DialogMACH; 30 | } 31 | 32 | class DialogMACH : public XShortcutsDialog { 33 | Q_OBJECT 34 | 35 | public: 36 | explicit DialogMACH(QWidget *pParent = nullptr); 37 | ~DialogMACH(); 38 | 39 | virtual void adjustView(); 40 | 41 | void setData(QIODevice *pDevice, const FW_DEF::OPTIONS &options); 42 | void setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions); 43 | 44 | protected: 45 | virtual void registerShortcuts(bool bState); 46 | 47 | private: 48 | Ui::DialogMACH *ui; 49 | }; 50 | 51 | #endif // DIALOGMACH_H 52 | -------------------------------------------------------------------------------- /MSDOS/dialogmsdos.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef DIALOGMSDOS_H 22 | #define DIALOGMSDOS_H 23 | 24 | #include 25 | 26 | #include "msdoswidget.h" 27 | 28 | namespace Ui { 29 | class DialogMSDOS; 30 | } 31 | 32 | class DialogMSDOS : public XShortcutsDialog { 33 | Q_OBJECT 34 | 35 | public: 36 | explicit DialogMSDOS(QWidget *pParent = nullptr); 37 | ~DialogMSDOS(); 38 | 39 | virtual void adjustView(); 40 | 41 | void setData(QIODevice *pDevice, FW_DEF::OPTIONS options); 42 | void setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions); 43 | 44 | protected: 45 | virtual void registerShortcuts(bool bState); 46 | 47 | private: 48 | Ui::DialogMSDOS *ui; 49 | }; 50 | 51 | #endif // DIALOGMSDOS_H 52 | -------------------------------------------------------------------------------- /AbstractWidgets/dialogxmainwidget.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2024-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in all 11 | * copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef DIALOGXMAINWIDGET_H 22 | #define DIALOGXMAINWIDGET_H 23 | 24 | #include "xshortcutsdialog.h" 25 | #include "xformatwidget.h" 26 | 27 | namespace Ui { 28 | class DialogXMainWidget; 29 | } 30 | 31 | class DialogXMainWidget : public XShortcutsDialog { 32 | Q_OBJECT 33 | 34 | public: 35 | explicit DialogXMainWidget(QWidget *pParent = nullptr); 36 | ~DialogXMainWidget(); 37 | 38 | virtual void adjustView(); 39 | virtual void setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions); 40 | 41 | protected: 42 | virtual void registerShortcuts(bool bState); 43 | 44 | private: 45 | Ui::DialogXMainWidget *ui; 46 | }; 47 | 48 | #endif // DIALOGXMAINWIDGET_H 49 | -------------------------------------------------------------------------------- /Binary/dialogbinary.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2020-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef DIALOGBINARY_H 22 | #define DIALOGBINARY_H 23 | 24 | #include 25 | 26 | #include "binarywidget.h" 27 | 28 | namespace Ui { 29 | class DialogBinary; 30 | } 31 | 32 | class DialogBinary : public XShortcutsDialog { 33 | Q_OBJECT 34 | 35 | public: 36 | explicit DialogBinary(QWidget *pParent = nullptr); 37 | ~DialogBinary(); 38 | 39 | virtual void adjustView(); 40 | 41 | void setData(QIODevice *pDevice, FW_DEF::OPTIONS options); 42 | void setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions); 43 | 44 | protected: 45 | virtual void registerShortcuts(bool bState); 46 | 47 | private: 48 | Ui::DialogBinary *ui; 49 | }; 50 | 51 | #endif // DIALOGBINARY_H 52 | -------------------------------------------------------------------------------- /PDF/dialogpdf.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2022-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #include "dialogpdf.h" 22 | 23 | #include "ui_dialogpdf.h" 24 | 25 | DialogPDF::DialogPDF(QWidget *pParent) : XShortcutsDialog(pParent), ui(new Ui::DialogPDF) 26 | { 27 | ui->setupUi(this); 28 | 29 | setWindowFlags(Qt::Window); 30 | } 31 | 32 | DialogPDF::~DialogPDF() 33 | { 34 | delete ui; 35 | } 36 | 37 | void DialogPDF::setData(QIODevice *pDevice, FW_DEF::OPTIONS options) 38 | { 39 | if (options.sTitle != "") { 40 | setWindowTitle(options.sTitle); 41 | } 42 | 43 | ui->widget->setData(pDevice, options, 0, 0, 0); 44 | ui->widget->reload(); 45 | } 46 | 47 | void DialogPDF::setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions) 48 | { 49 | ui->widget->setGlobal(pShortcuts, pXOptions); 50 | XShortcutsDialog::setGlobal(pShortcuts, pXOptions); 51 | } 52 | -------------------------------------------------------------------------------- /XAbstractWidgets/dialogxstruct.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #include "dialogxstruct.h" 22 | #include "ui_dialogxstruct.h" 23 | 24 | DialogXStruct::DialogXStruct(QWidget *pParent) : XShortcutsDialog(pParent), ui(new Ui::DialogXStruct) 25 | { 26 | ui->setupUi(this); 27 | } 28 | 29 | DialogXStruct::~DialogXStruct() 30 | { 31 | delete ui; 32 | } 33 | 34 | void DialogXStruct::setData(QIODevice *pDevice, XInfoDB *pInfoDB, const XStructWidget::OPTIONS &options) 35 | { 36 | ui->widgetStructs->setData(pDevice, pInfoDB, options); 37 | } 38 | 39 | void DialogXStruct::adjustView() 40 | { 41 | ui->widgetStructs->adjustView(); 42 | getGlobalOptions()->adjustWidget(this, XOptions::ID_VIEW_FONT_CONTROLS); 43 | } 44 | 45 | void DialogXStruct::on_pushButtonOK_clicked() 46 | { 47 | this->close(); 48 | } 49 | -------------------------------------------------------------------------------- /formatwidgets.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD 2 | DEPENDPATH += $$PWD 3 | 4 | !contains(XCONFIG, use_dex) { 5 | XCONFIG += use_dex 6 | } 7 | 8 | !contains(XCONFIG, use_archive) { 9 | XCONFIG += use_archive 10 | } 11 | 12 | HEADERS += \ 13 | $$PWD/formatswidget.h 14 | 15 | SOURCES += \ 16 | $$PWD/formatswidget.cpp 17 | 18 | FORMS += \ 19 | $$PWD/formatswidget.ui 20 | 21 | !contains(XCONFIG, binarywidget) { 22 | XCONFIG += binarywidget 23 | include($$PWD/Binary/binarywidget.pri) 24 | } 25 | 26 | !contains(XCONFIG, msdoswidget) { 27 | XCONFIG += msdoswidget 28 | include($$PWD/MSDOS/msdoswidget.pri) 29 | } 30 | 31 | !contains(XCONFIG, elfwidget) { 32 | XCONFIG += elfwidget 33 | include($$PWD/ELF/elfwidget.pri) 34 | } 35 | 36 | !contains(XCONFIG, msdoswidget) { 37 | XCONFIG += lewidget 38 | include($$PWD/LE/lewidget.pri) 39 | } 40 | 41 | !contains(XCONFIG, machwidget) { 42 | XCONFIG += machwidget 43 | include($$PWD/MACH/machwidget.pri) 44 | } 45 | 46 | !contains(XCONFIG, machofatwidget) { 47 | XCONFIG += machofatwidget 48 | include($$PWD/MACHOFAT/machofatwidget.pri) 49 | } 50 | 51 | !contains(XCONFIG, newidget) { 52 | XCONFIG += newidget 53 | include($$PWD/NE/newidget.pri) 54 | } 55 | 56 | !contains(XCONFIG, lewidget) { 57 | XCONFIG += lewidget 58 | include($$PWD/LE/lewidget.pri) 59 | } 60 | 61 | !contains(XCONFIG, pewidget) { 62 | XCONFIG += pewidget 63 | include($$PWD/PE/pewidget.pri) 64 | } 65 | 66 | !contains(XCONFIG, dexwidget) { 67 | XCONFIG += dexwidget 68 | include($$PWD/DEX/dexwidget.pri) 69 | } 70 | 71 | !contains(XCONFIG, archive_widget) { 72 | XCONFIG += archive_widget 73 | include($$PWD/../archive_widget/archive_widget.pri) 74 | } 75 | 76 | !contains(XCONFIG, xshortcuts) { 77 | XCONFIG += xshortcuts 78 | include($$PWD/../XShortcuts/xshortcuts.pri) 79 | } 80 | 81 | DISTFILES += \ 82 | $$PWD/formatwidgets.cmake 83 | 84 | -------------------------------------------------------------------------------- /XAbstractWidgets/dialogxstruct.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef DIALOGXSTRUCT_H 22 | #define DIALOGXSTRUCT_H 23 | 24 | #include "xshortcutsdialog.h" 25 | #include "xinfodb.h" 26 | #include "xstructwidget.h" 27 | 28 | class XStructWidget; 29 | 30 | namespace Ui { 31 | class DialogXStruct; 32 | } 33 | 34 | class DialogXStruct : public XShortcutsDialog { 35 | Q_OBJECT 36 | 37 | public: 38 | explicit DialogXStruct(QWidget *pParent = nullptr); 39 | ~DialogXStruct(); 40 | 41 | void setData(QIODevice *pDevice, XInfoDB *pInfoDB = nullptr, const XStructWidget::OPTIONS &options = XStructWidget::OPTIONS()); 42 | 43 | virtual void adjustView(); 44 | 45 | private slots: 46 | void on_pushButtonOK_clicked(); 47 | 48 | private: 49 | Ui::DialogXStruct *ui; 50 | }; 51 | 52 | #endif // DIALOGXSTRUCT_H 53 | -------------------------------------------------------------------------------- /AbstractWidgets/xgenericdisasmwidget.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2024-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in all 11 | * copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef XGENERICDISASMWIDGET_H 22 | #define XGENERICDISASMWIDGET_H 23 | 24 | #include "xformatwidget.h" 25 | 26 | namespace Ui { 27 | class XGenericDisasmWidget; 28 | } 29 | 30 | class XGenericDisasmWidget : public XFormatWidget { 31 | Q_OBJECT 32 | 33 | public: 34 | explicit XGenericDisasmWidget(QWidget *pParent = nullptr); 35 | ~XGenericDisasmWidget(); 36 | virtual void reloadData(bool bSaveSelection); 37 | virtual void adjustView(); 38 | 39 | virtual void setReadonly(bool bState); 40 | 41 | private slots: 42 | void on_toolButtonTableReload_clicked(); 43 | void on_toolButtonTableSize_clicked(); 44 | 45 | private: 46 | Ui::XGenericDisasmWidget *ui; 47 | SubDevice *g_pSubDevice; 48 | }; 49 | 50 | #endif // XGENERICDISASMWIDGET_H 51 | -------------------------------------------------------------------------------- /XAbstractWidgets/xmainwidget.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in all 11 | * copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef XMAINWIDGET_H 22 | #define XMAINWIDGET_H 23 | 24 | #include "xstructwidget.h" 25 | 26 | #include "xfileinfowidget.h" 27 | #include "xhexviewwidget.h" 28 | #include "nfdwidgetadvanced.h" 29 | #include "xmemorymapwidget.h" 30 | #include "xextractorwidget.h" 31 | #include "diewidgetadvanced.h" 32 | #include "yarawidgetadvanced.h" 33 | #include "xvirustotalwidget.h" 34 | #include "xmultidisasmwidget.h" 35 | #include "xregionswidget.h" 36 | #include "xentropywidget.h" 37 | #include "xhashwidget.h" 38 | 39 | class XMainWidget : public XStructWidget { 40 | Q_OBJECT 41 | 42 | public: 43 | explicit XMainWidget(QWidget *pParent = nullptr); 44 | ~XMainWidget(); 45 | 46 | virtual XShortcutsWidget *createWidget(const QString &sGUID); 47 | }; 48 | 49 | #endif // XMAINWIDGET_H 50 | -------------------------------------------------------------------------------- /AbstractWidgets/abstractwidgets.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD 2 | DEPENDPATH += $$PWD 3 | 4 | HEADERS += \ 5 | $$PWD/Structs/generic_defs.h \ 6 | $$PWD/Structs/xdex_defs.h \ 7 | $$PWD/Structs/xelf_defs.h \ 8 | $$PWD/Structs/xle_defs.h \ 9 | $$PWD/Structs/xmach_defs.h \ 10 | $$PWD/Structs/xmsdos_defs.h \ 11 | $$PWD/Structs/xne_defs.h \ 12 | $$PWD/Structs/xpe_defs.h \ 13 | $$PWD/Structs/xarchives_defs.h \ 14 | $$PWD/Structs/xformats_defs.h \ 15 | $$PWD/dialogsetgenericwidget.h \ 16 | $$PWD/xdialogprocessdata.h \ 17 | $$PWD/xformatwidget.h \ 18 | $$PWD/xformatwidget_def.h \ 19 | $$PWD/xgenericheaderwidget.h \ 20 | $$PWD/xgenerichexwidget.h \ 21 | $$PWD/xgenericdisasmwidget.h \ 22 | $$PWD/xgenerictablehexwidget.h \ 23 | $$PWD/xgenerictablewidget.h \ 24 | $$PWD/xprocessdata.h 25 | 26 | SOURCES += \ 27 | $$PWD/Structs/generic_defs.cpp \ 28 | $$PWD/Structs/xdex_defs.cpp \ 29 | $$PWD/Structs/xelf_defs.cpp \ 30 | $$PWD/Structs/xle_defs.cpp \ 31 | $$PWD/Structs/xmach_defs.cpp \ 32 | $$PWD/Structs/xmsdos_defs.cpp \ 33 | $$PWD/Structs/xne_defs.cpp \ 34 | $$PWD/Structs/xpe_defs.cpp \ 35 | $$PWD/Structs/xarchives_defs.cpp \ 36 | $$PWD/Structs/xformats_defs.cpp \ 37 | $$PWD/dialogsetgenericwidget.cpp \ 38 | $$PWD/xdialogprocessdata.cpp \ 39 | $$PWD/xformatwidget.cpp \ 40 | $$PWD/xgenericheaderwidget.cpp \ 41 | $$PWD/xgenerichexwidget.cpp \ 42 | $$PWD/xgenericdisasmwidget.cpp \ 43 | $$PWD/xgenerictablehexwidget.cpp \ 44 | $$PWD/xgenerictablewidget.cpp \ 45 | $$PWD/xprocessdata.cpp 46 | 47 | FORMS += \ 48 | $$PWD/dialogsetgenericwidget.ui \ 49 | $$PWD/dialogxmainwidget.ui \ 50 | $$PWD/xgenericheaderwidget.ui \ 51 | $$PWD/xgenerichexwidget.ui \ 52 | $$PWD/xgenericdisasmwidget.ui \ 53 | $$PWD/xgenerictablehexwidget.ui \ 54 | $$PWD/xgenerictablewidget.ui \ 55 | $$PWD/xmainwidget.ui 56 | 57 | DISTFILES += \ 58 | $$PWD/abstractwidgets.cmake 59 | 60 | -------------------------------------------------------------------------------- /AbstractWidgets/xgenerichexwidget.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2024-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in all 11 | * copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef XGENERICHEXWIDGET_H 22 | #define XGENERICHEXWIDGET_H 23 | 24 | #include "xformatwidget.h" 25 | 26 | namespace Ui { 27 | class XGenericHexWidget; 28 | } 29 | 30 | class XGenericHexWidget : public XFormatWidget { 31 | Q_OBJECT 32 | 33 | public: 34 | explicit XGenericHexWidget(QWidget *pParent = nullptr); 35 | ~XGenericHexWidget(); 36 | virtual void reloadData(bool bSaveSelection); 37 | virtual void adjustView(); 38 | void setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions); 39 | 40 | virtual void setReadonly(bool bState); 41 | 42 | private slots: 43 | void on_toolButtonTableReload_clicked(); 44 | void on_toolButtonTableSize_clicked(); 45 | 46 | private: 47 | Ui::XGenericHexWidget *ui; 48 | }; 49 | 50 | #endif // XGENERICHEADERWIDGET_H 51 | -------------------------------------------------------------------------------- /MACHOFAT/dialogmachofat.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #include "dialogmachofat.h" 22 | 23 | #include "ui_dialogmachofat.h" 24 | 25 | DialogMACHOFAT::DialogMACHOFAT(QWidget *pParent) : XShortcutsDialog(pParent, true), ui(new Ui::DialogMACHOFAT) 26 | { 27 | ui->setupUi(this); 28 | } 29 | 30 | DialogMACHOFAT::~DialogMACHOFAT() 31 | { 32 | delete ui; 33 | } 34 | 35 | void DialogMACHOFAT::setData(QIODevice *pDevice, FW_DEF::OPTIONS options) 36 | { 37 | if (options.sTitle != "") { 38 | setWindowTitle(options.sTitle); 39 | } 40 | 41 | ui->widget->setData(pDevice, options, 0, 0, 0); 42 | ui->widget->reload(); 43 | } 44 | 45 | void DialogMACHOFAT::setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions) 46 | { 47 | ui->widget->setGlobal(pShortcuts, pXOptions); 48 | XShortcutsDialog::setGlobal(pShortcuts, pXOptions); 49 | } 50 | -------------------------------------------------------------------------------- /SearchValues/dialogsearchvalues.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | DialogSearchValues 4 | 5 | 6 | Qt::NonModal 7 | 8 | 9 | 10 | 0 11 | 0 12 | 763 13 | 599 14 | 15 | 16 | 17 | Search 18 | 19 | 20 | false 21 | 22 | 23 | 24 | 25 | 26 | 27 | 0 28 | 0 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | Qt::Horizontal 39 | 40 | 41 | 42 | 40 43 | 20 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | Close 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | SearchValuesWidget 62 | QWidget 63 |
searchvalueswidget.h
64 |
65 |
66 | 67 | 68 |
69 | -------------------------------------------------------------------------------- /ELF/elfprocessdata.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef ELFPROCESSDATA_H 22 | #define ELFPROCESSDATA_H 23 | 24 | #include "elf_defs.h" 25 | #include "processdata.h" 26 | 27 | class ELFProcessData : public ProcessData { 28 | Q_OBJECT 29 | 30 | public: 31 | explicit ELFProcessData(qint32 nType, QStandardItemModel **ppModel, XELF *pELF, qint64 nOffset, qint64 nSize, qint64 nStringTableOffset, qint64 nStringTableSize); 32 | 33 | virtual void _process(); 34 | virtual void adjustTableView(qint32 nType, QTableView *pTableView); 35 | virtual void adjustModel(QStandardItemModel *pModel); 36 | 37 | private: 38 | qint32 m_nType; 39 | XELF *m_pELF; 40 | QStandardItemModel **m_ppModel; 41 | qint64 m_nOffset; 42 | qint64 m_nSize; 43 | qint64 m_nStringTableOffset; 44 | qint64 m_nStringTableSize; 45 | }; 46 | 47 | #endif // ELFPROCESSDATA_H 48 | -------------------------------------------------------------------------------- /SearchStrings/dialogsearchstrings.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | DialogSearchStrings 4 | 5 | 6 | Qt::NonModal 7 | 8 | 9 | 10 | 0 11 | 0 12 | 763 13 | 599 14 | 15 | 16 | 17 | Strings 18 | 19 | 20 | false 21 | 22 | 23 | 24 | 25 | 26 | 27 | 0 28 | 0 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | Qt::Horizontal 39 | 40 | 41 | 42 | 40 43 | 20 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | Close 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | SearchStringsWidget 62 | QWidget 63 |
searchstringswidget.h
64 |
65 |
66 | 67 | 68 |
69 | -------------------------------------------------------------------------------- /SearchValues/dialogsearchvalues.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef DIALOGSEARCHVALUES_H 22 | #define DIALOGSEARCHVALUES_H 23 | 24 | #include "searchvalueswidget.h" 25 | #include "xshortcutsdialog.h" 26 | 27 | namespace Ui { 28 | class DialogSearchValues; 29 | } 30 | 31 | class DialogSearchValues : public XShortcutsDialog { 32 | Q_OBJECT 33 | 34 | public: 35 | explicit DialogSearchValues(QWidget *pParent); 36 | ~DialogSearchValues(); 37 | void setData(QIODevice *pDevice, SearchValuesWidget::OPTIONS options); 38 | void setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions); 39 | virtual void adjustView(); 40 | 41 | private slots: 42 | void on_pushButtonClose_clicked(); 43 | 44 | protected: 45 | virtual void registerShortcuts(bool bState); 46 | 47 | private: 48 | Ui::DialogSearchValues *ui; 49 | }; 50 | 51 | #endif // DIALOGSEARCHVALUES_H 52 | -------------------------------------------------------------------------------- /Binary/dialogbinary.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2020-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #include "dialogbinary.h" 22 | 23 | #include "ui_dialogbinary.h" 24 | 25 | DialogBinary::DialogBinary(QWidget *pParent) : XShortcutsDialog(pParent, true), ui(new Ui::DialogBinary) 26 | { 27 | ui->setupUi(this); 28 | } 29 | 30 | DialogBinary::~DialogBinary() 31 | { 32 | delete ui; 33 | } 34 | 35 | void DialogBinary::adjustView() 36 | { 37 | } 38 | 39 | void DialogBinary::setData(QIODevice *pDevice, FW_DEF::OPTIONS options) 40 | { 41 | ui->widget->setData(pDevice, options, 0, 0, 0); 42 | ui->widget->reload(); 43 | } 44 | 45 | void DialogBinary::setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions) 46 | { 47 | ui->widget->setGlobal(pShortcuts, pXOptions); 48 | 49 | XShortcutsDialog::setGlobal(pShortcuts, pXOptions); 50 | } 51 | 52 | void DialogBinary::registerShortcuts(bool bState) 53 | { 54 | Q_UNUSED(bState) 55 | } 56 | -------------------------------------------------------------------------------- /XAbstractWidgets/dialogxstruct.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | DialogXStruct 4 | 5 | 6 | Qt::WindowModality::NonModal 7 | 8 | 9 | 10 | 0 11 | 0 12 | 891 13 | 495 14 | 15 | 16 | 17 | Structs 18 | 19 | 20 | false 21 | 22 | 23 | 24 | 25 | 26 | 27 | 0 28 | 0 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | Qt::Orientation::Horizontal 39 | 40 | 41 | 42 | 40 43 | 20 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | OK 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | XStructWidget 62 | QWidget 63 |
xstructwidget.h
64 | 1 65 |
66 |
67 | 68 | 69 |
70 | -------------------------------------------------------------------------------- /MSDOS/dialogmsdos.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2020-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #include "dialogmsdos.h" 22 | 23 | #include "ui_dialogmsdos.h" 24 | 25 | DialogMSDOS::DialogMSDOS(QWidget *pParent) : XShortcutsDialog(pParent, true), ui(new Ui::DialogMSDOS) 26 | { 27 | ui->setupUi(this); 28 | } 29 | 30 | DialogMSDOS::~DialogMSDOS() 31 | { 32 | delete ui; 33 | } 34 | 35 | void DialogMSDOS::adjustView() 36 | { 37 | } 38 | 39 | void DialogMSDOS::setData(QIODevice *pDevice, FW_DEF::OPTIONS options) 40 | { 41 | if (options.sTitle != "") { 42 | setWindowTitle(options.sTitle); 43 | } 44 | 45 | ui->widget->setData(pDevice, options, 0, 0, 0); 46 | ui->widget->reload(); 47 | } 48 | 49 | void DialogMSDOS::setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions) 50 | { 51 | ui->widget->setGlobal(pShortcuts, pXOptions); 52 | XShortcutsDialog::setGlobal(pShortcuts, pXOptions); 53 | } 54 | 55 | void DialogMSDOS::registerShortcuts(bool bState) 56 | { 57 | Q_UNUSED(bState) 58 | } 59 | -------------------------------------------------------------------------------- /XAbstractWidgets/xgetdatarecordsprocess.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in all 11 | * copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef XGETDATARECORDSPROCESS_H 22 | #define XGETDATARECORDSPROCESS_H 23 | 24 | #include "xthreadobject.h" 25 | #include "xformats.h" 26 | 27 | class XGetDataRecordsProcess : public XThreadObject { 28 | Q_OBJECT 29 | 30 | public: 31 | explicit XGetDataRecordsProcess(QObject *pParent = nullptr); 32 | void setData(QIODevice *pDevice, const XBinary::DATA_RECORDS_OPTIONS &dataRecordsOptions, QList *pListDataRecordsRows, 33 | QList *pListTitles, XBinary::PDSTRUCT *pPdStruct); 34 | virtual void process(); 35 | 36 | private: 37 | QIODevice *m_pDevice; 38 | XBinary::DATA_RECORDS_OPTIONS m_dataRecordsOptions; 39 | QList *g_pListDataRecordsRows; 40 | QList *m_pListTitles; 41 | XBinary::PDSTRUCT *m_pPdStruct; 42 | }; 43 | 44 | #endif // XGETDATARECORDSPROCESS_H 45 | -------------------------------------------------------------------------------- /AbstractWidgets/xgenerictablehexwidget.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in all 11 | * copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef XGENERICTABLEHEXWIDGET_H 22 | #define XGENERICTABLEHEXWIDGET_H 23 | 24 | #include "xgenerictablewidget.h" 25 | 26 | namespace Ui { 27 | class XGenericTableHexWidget; 28 | } 29 | 30 | class XGenericTableHexWidget : public XFormatWidget { 31 | Q_OBJECT 32 | 33 | public: 34 | explicit XGenericTableHexWidget(QWidget *pParent = nullptr); 35 | ~XGenericTableHexWidget(); 36 | 37 | virtual void reloadData(bool bSaveSelection); 38 | virtual void adjustView(); 39 | virtual void setCwOptions(const XFW_DEF::CWOPTIONS &cwOptions, bool bReload); 40 | void setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions); 41 | 42 | private slots: 43 | void followLocationSlot(quint64 nLocation, qint32 nLocationType, qint64 nSize, qint32 nWidgetType); 44 | 45 | private: 46 | Ui::XGenericTableHexWidget *ui; 47 | }; 48 | 49 | #endif // XGENERICTABLEHEXWIDGET_H 50 | -------------------------------------------------------------------------------- /SearchSignatures/dialogsearchsignatures.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | DialogSearchSignatures 4 | 5 | 6 | Qt::ApplicationModal 7 | 8 | 9 | 10 | 0 11 | 0 12 | 763 13 | 599 14 | 15 | 16 | 17 | Signatures 18 | 19 | 20 | true 21 | 22 | 23 | 24 | 25 | 26 | 27 | 0 28 | 0 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | Qt::Horizontal 39 | 40 | 41 | 42 | 40 43 | 20 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | Close 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | SearchSignaturesWidget 62 | QWidget 63 |
searchsignatureswidget.h
64 | 1 65 |
66 |
67 | 68 | 69 |
70 | -------------------------------------------------------------------------------- /LE/dialogle.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #include "dialogle.h" 22 | 23 | #include "ui_dialogle.h" 24 | 25 | DialogLE::DialogLE(QWidget *pParent) : XShortcutsDialog(pParent, true), ui(new Ui::DialogLE) 26 | { 27 | ui->setupUi(this); 28 | } 29 | 30 | DialogLE::~DialogLE() 31 | { 32 | delete ui; 33 | } 34 | 35 | void DialogLE::adjustView() 36 | { 37 | } 38 | 39 | void DialogLE::setData(QIODevice *pDevice, FW_DEF::OPTIONS options) 40 | { 41 | if (options.sTitle != "") { 42 | setWindowTitle(options.sTitle); 43 | } 44 | 45 | ui->widget->setData(pDevice, options, 0, 0, 0); 46 | ui->widget->reload(); 47 | } 48 | 49 | void DialogLE::setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions) 50 | { 51 | ui->widget->setGlobal(pShortcuts, pXOptions); 52 | XShortcutsDialog::setGlobal(pShortcuts, pXOptions); 53 | } 54 | 55 | void DialogLE::registerShortcuts(bool bState) 56 | { 57 | Q_UNUSED(bState) 58 | } 59 | -------------------------------------------------------------------------------- /NE/dialogne.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #include "dialogne.h" 22 | 23 | #include "ui_dialogne.h" 24 | 25 | DialogNE::DialogNE(QWidget *pParent) : XShortcutsDialog(pParent, true), ui(new Ui::DialogNE) 26 | { 27 | ui->setupUi(this); 28 | } 29 | 30 | DialogNE::~DialogNE() 31 | { 32 | delete ui; 33 | } 34 | 35 | void DialogNE::adjustView() 36 | { 37 | } 38 | 39 | void DialogNE::setData(QIODevice *pDevice, FW_DEF::OPTIONS options) 40 | { 41 | if (options.sTitle != "") { 42 | setWindowTitle(options.sTitle); 43 | } 44 | 45 | ui->widget->setData(pDevice, options, 0, 0, 0); 46 | ui->widget->reload(); 47 | } 48 | 49 | void DialogNE::setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions) 50 | { 51 | ui->widget->setGlobal(pShortcuts, pXOptions); 52 | XShortcutsDialog::setGlobal(pShortcuts, pXOptions); 53 | } 54 | 55 | void DialogNE::registerShortcuts(bool bState) 56 | { 57 | Q_UNUSED(bState) 58 | } 59 | -------------------------------------------------------------------------------- /PE/dialogpe.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #include "dialogpe.h" 22 | 23 | #include "ui_dialogpe.h" 24 | 25 | DialogPE::DialogPE(QWidget *pParent) : XShortcutsDialog(pParent, true), ui(new Ui::DialogPE) 26 | { 27 | ui->setupUi(this); 28 | } 29 | 30 | DialogPE::~DialogPE() 31 | { 32 | delete ui; 33 | } 34 | 35 | void DialogPE::adjustView() 36 | { 37 | } 38 | 39 | void DialogPE::setData(QIODevice *pDevice, FW_DEF::OPTIONS options) 40 | { 41 | if (options.sTitle != "") { 42 | setWindowTitle(options.sTitle); 43 | } 44 | 45 | ui->widget->setData(pDevice, options, 0, 0, 0); 46 | ui->widget->reload(); 47 | } 48 | 49 | void DialogPE::setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions) 50 | { 51 | ui->widget->setGlobal(pShortcuts, pXOptions); 52 | XShortcutsDialog::setGlobal(pShortcuts, pXOptions); 53 | } 54 | 55 | void DialogPE::registerShortcuts(bool bState) 56 | { 57 | Q_UNUSED(bState) 58 | } 59 | -------------------------------------------------------------------------------- /SearchStrings/dialogsearchstrings.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef DIALOGSEARCHSTRINGS_H 22 | #define DIALOGSEARCHSTRINGS_H 23 | 24 | #include "searchstringswidget.h" 25 | #include "xshortcutsdialog.h" 26 | 27 | namespace Ui { 28 | class DialogSearchStrings; 29 | } 30 | 31 | class DialogSearchStrings : public XShortcutsDialog { 32 | Q_OBJECT 33 | 34 | public: 35 | explicit DialogSearchStrings(QWidget *pParent); 36 | ~DialogSearchStrings(); 37 | 38 | void setData(QIODevice *pDevice, XBinary::FT fileType, SearchStringsWidget::OPTIONS options, bool bAuto = false); 39 | void setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions); 40 | 41 | virtual void adjustView(); 42 | 43 | private slots: 44 | void on_pushButtonClose_clicked(); 45 | 46 | protected: 47 | virtual void registerShortcuts(bool bState); 48 | 49 | private: 50 | Ui::DialogSearchStrings *ui; 51 | }; 52 | 53 | #endif // DIALOGSEARCHSTRINGS_H 54 | -------------------------------------------------------------------------------- /DEX/dialogdex.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #include "dialogdex.h" 22 | 23 | #include "ui_dialogdex.h" 24 | 25 | DialogDEX::DialogDEX(QWidget *pParent) : XShortcutsDialog(pParent, true), ui(new Ui::DialogDEX) 26 | { 27 | ui->setupUi(this); 28 | } 29 | 30 | DialogDEX::~DialogDEX() 31 | { 32 | delete ui; 33 | } 34 | 35 | void DialogDEX::adjustView() 36 | { 37 | } 38 | 39 | void DialogDEX::setData(QIODevice *pDevice, FW_DEF::OPTIONS options) 40 | { 41 | if (options.sTitle != "") { 42 | setWindowTitle(options.sTitle); 43 | } 44 | 45 | ui->widget->setData(pDevice, options, 0, 0, 0); 46 | ui->widget->reload(); 47 | } 48 | 49 | void DialogDEX::setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions) 50 | { 51 | ui->widget->setGlobal(pShortcuts, pXOptions); 52 | XShortcutsDialog::setGlobal(pShortcuts, pXOptions); 53 | } 54 | 55 | void DialogDEX::registerShortcuts(bool bState) 56 | { 57 | Q_UNUSED(bState) 58 | } 59 | -------------------------------------------------------------------------------- /ELF/dialogelf.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #include "dialogelf.h" 22 | 23 | #include "ui_dialogelf.h" 24 | 25 | DialogELF::DialogELF(QWidget *pParent) : XShortcutsDialog(pParent, true), ui(new Ui::DialogELF) 26 | { 27 | ui->setupUi(this); 28 | } 29 | 30 | DialogELF::~DialogELF() 31 | { 32 | delete ui; 33 | } 34 | 35 | void DialogELF::adjustView() 36 | { 37 | } 38 | 39 | void DialogELF::setData(QIODevice *pDevice, FW_DEF::OPTIONS options) 40 | { 41 | if (options.sTitle != "") { 42 | setWindowTitle(options.sTitle); 43 | } 44 | 45 | ui->widget->setData(pDevice, options, 0, 0, 0); 46 | ui->widget->reload(); 47 | } 48 | 49 | void DialogELF::setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions) 50 | { 51 | ui->widget->setGlobal(pShortcuts, pXOptions); 52 | XShortcutsDialog::setGlobal(pShortcuts, pXOptions); 53 | } 54 | 55 | void DialogELF::registerShortcuts(bool bState) 56 | { 57 | Q_UNUSED(bState) 58 | } 59 | -------------------------------------------------------------------------------- /XAbstractWidgets/xgenerictablewidget.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef XGENERICTABLEWIDGET_H 22 | #define XGENERICTABLEWIDGET_H 23 | 24 | #include "xgenericabstractwidget.h" 25 | 26 | namespace Ui { 27 | class XGenericTableWidget; 28 | } 29 | 30 | class XGenericTableWidget : public XGenericAbstractWidget { 31 | Q_OBJECT 32 | 33 | public: 34 | explicit XGenericTableWidget(QWidget *parent = nullptr); 35 | ~XGenericTableWidget(); 36 | 37 | virtual void adjustView(); 38 | 39 | virtual void reloadData(bool bSaveSelection); 40 | 41 | private slots: 42 | void on_toolButtonTableReload_clicked(); 43 | void on_toolButtonTableSave_clicked(); 44 | void on_tableViewMain_customContextMenuRequested(const QPoint &pos); 45 | 46 | private: 47 | Ui::XGenericTableWidget *ui; 48 | qint64 g_nDataSize; 49 | QList g_listDataRecordsRows; 50 | QList g_listTitles; 51 | }; 52 | 53 | #endif // XGENERICTABLEWIDGET_H 54 | -------------------------------------------------------------------------------- /dialogprocessdata.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #include "dialogprocessdata.h" 22 | 23 | DialogProcessData::DialogProcessData(QWidget *pParent, ProcessData *pProcessData, XOptions *pOptions) : XDialogProcess(pParent) 24 | { 25 | this->m_pProcessData = pProcessData; 26 | 27 | pProcessData->setPdStruct(getPdStruct()); 28 | pProcessData->setOptions(pOptions); 29 | 30 | m_pThread = new QThread; 31 | 32 | pProcessData->moveToThread(m_pThread); 33 | 34 | connect(m_pThread, SIGNAL(started()), pProcessData, SLOT(process())); 35 | connect(pProcessData, SIGNAL(completed(qint64)), this, SLOT(onCompleted(qint64))); 36 | connect(pProcessData, SIGNAL(errorMessage(QString)), this, SLOT(errorMessageSlot(QString))); 37 | 38 | m_pThread->start(); 39 | } 40 | 41 | DialogProcessData::~DialogProcessData() 42 | { 43 | stop(); 44 | waitForFinished(); 45 | 46 | m_pThread->quit(); 47 | m_pThread->wait(); 48 | 49 | delete m_pThread; 50 | } 51 | -------------------------------------------------------------------------------- /MACH/dialogmach.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #include "dialogmach.h" 22 | 23 | #include "ui_dialogmach.h" 24 | 25 | DialogMACH::DialogMACH(QWidget *pParent) : XShortcutsDialog(pParent, true), ui(new Ui::DialogMACH) 26 | { 27 | ui->setupUi(this); 28 | } 29 | 30 | DialogMACH::~DialogMACH() 31 | { 32 | delete ui; 33 | } 34 | 35 | void DialogMACH::adjustView() 36 | { 37 | } 38 | 39 | void DialogMACH::setData(QIODevice *pDevice, const FW_DEF::OPTIONS &options) 40 | { 41 | if (options.sTitle != "") { 42 | setWindowTitle(options.sTitle); 43 | } 44 | 45 | ui->widget->setData(pDevice, options, 0, 0, 0); 46 | ui->widget->reload(); 47 | } 48 | 49 | void DialogMACH::setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions) 50 | { 51 | ui->widget->setGlobal(pShortcuts, pXOptions); 52 | XShortcutsDialog::setGlobal(pShortcuts, pXOptions); 53 | } 54 | 55 | void DialogMACH::registerShortcuts(bool bState) 56 | { 57 | Q_UNUSED(bState) 58 | } 59 | -------------------------------------------------------------------------------- /SearchSignatures/dialogsearchsignatures.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef DIALOGSEARCHSIGNATURES_H 22 | #define DIALOGSEARCHSIGNATURES_H 23 | 24 | #include "multisearch.h" 25 | #include "searchsignatureswidget.h" 26 | #include "xshortcutsdialog.h" 27 | 28 | namespace Ui { 29 | class DialogSearchSignatures; 30 | } 31 | 32 | class DialogSearchSignatures : public XShortcutsDialog { 33 | Q_OBJECT 34 | 35 | public: 36 | explicit DialogSearchSignatures(QWidget *pParent); 37 | ~DialogSearchSignatures(); 38 | void setData(QIODevice *pDevice, SearchSignaturesWidget::OPTIONS options, bool bAuto = false); 39 | void setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions); 40 | 41 | virtual void adjustView(); 42 | 43 | private slots: 44 | void on_pushButtonClose_clicked(); 45 | 46 | protected: 47 | virtual void registerShortcuts(bool bState); 48 | 49 | private: 50 | Ui::DialogSearchSignatures *ui; 51 | }; 52 | 53 | #endif // DIALOGSEARCHSIGNATURES_H 54 | -------------------------------------------------------------------------------- /dialogmodelinfo.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef DIALOGMODELINFO_H 22 | #define DIALOGMODELINFO_H 23 | 24 | #include "xshortcutsdialog.h" 25 | #include 26 | #include 27 | 28 | #include "xbinary.h" 29 | #include "xoptions.h" 30 | 31 | namespace Ui { 32 | class DialogModelInfo; 33 | } 34 | 35 | class DialogModelInfo : public XShortcutsDialog { 36 | Q_OBJECT 37 | 38 | public: 39 | explicit DialogModelInfo(QWidget *pParent = nullptr); 40 | ~DialogModelInfo(); 41 | 42 | virtual void adjustView(); 43 | void setData(QIODevice *pDevice, const QString &sTitle, QStandardItemModel *pModel); 44 | 45 | private slots: 46 | void on_pushButtonOK_clicked(); 47 | void on_pushButtonSave_clicked(); 48 | 49 | protected: 50 | virtual void registerShortcuts(bool bState); 51 | 52 | private: 53 | Ui::DialogModelInfo *ui; 54 | QIODevice *m_pDevice; 55 | QString m_sTitle; 56 | }; 57 | 58 | #endif // DIALOGMODELINFO_H 59 | -------------------------------------------------------------------------------- /AbstractWidgets/dialogsetgenericwidget.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2024-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in all 11 | * copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef DIALOGSETGENERICWIDGET_H 22 | #define DIALOGSETGENERICWIDGET_H 23 | 24 | #include "xshortcutsdialog.h" 25 | //#include "dialogxmainwidget.h" 26 | 27 | namespace Ui { 28 | class DialogSetGenericWidget; 29 | } 30 | 31 | class DialogSetGenericWidget : public XShortcutsDialog { 32 | Q_OBJECT 33 | 34 | public: 35 | explicit DialogSetGenericWidget(QWidget *pParent = nullptr); 36 | ~DialogSetGenericWidget(); 37 | 38 | void setData(QIODevice *pDevice, qint64 nOffset, qint64 nSize); 39 | 40 | virtual void adjustView(); 41 | 42 | protected: 43 | virtual void registerShortcuts(bool bState); 44 | 45 | private slots: 46 | void on_pushButtonCancel_clicked(); 47 | void on_pushButtonOK_clicked(); 48 | 49 | private: 50 | Ui::DialogSetGenericWidget *ui; 51 | QIODevice *g_pDevice; 52 | qint64 g_nOffset; 53 | qint64 g_nSize; 54 | }; 55 | 56 | #endif // DIALOGSETGENERICWIDGET_H 57 | -------------------------------------------------------------------------------- /MACHOFAT/machofatwidget.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef MACHOFATWIDGET_H 22 | #define MACHOFATWIDGET_H 23 | 24 | #include "../MACH/machwidget.h" 25 | 26 | namespace Ui { 27 | class MACHOFATWidget; 28 | } 29 | 30 | class MACHOFATWidget : public FormatWidget { 31 | Q_OBJECT 32 | 33 | public: 34 | explicit MACHOFATWidget(QWidget *pParent = nullptr); 35 | ~MACHOFATWidget(); 36 | 37 | virtual void clear(); 38 | virtual void cleanup(); 39 | virtual void reload(); 40 | 41 | protected: 42 | virtual SV _setValue(QVariant vValue, qint32 nStype, qint32 nNdata, qint32 nVtype, qint32 nPosition, qint64 nOffset); 43 | virtual void setReadonly(bool bState); 44 | virtual void blockSignals(bool bState); 45 | 46 | private slots: 47 | void reloadData(bool bSaveSelection); 48 | void on_comboBoxFilePart_currentIndexChanged(int nIndex); 49 | 50 | private: 51 | Ui::MACHOFATWidget *ui; 52 | QList g_listDevices; 53 | }; 54 | 55 | #endif // MACHOFATWIDGET_H 56 | -------------------------------------------------------------------------------- /AbstractWidgets/xgenerichexwidget.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | XGenericHexWidget 4 | 5 | 6 | 7 | 0 8 | 0 9 | 470 10 | 312 11 | 12 | 13 | 14 | Form 15 | 16 | 17 | 18 | 0 19 | 20 | 21 | 0 22 | 23 | 24 | 0 25 | 26 | 27 | 0 28 | 29 | 30 | 31 | 32 | 33 | 34 | Reload 35 | 36 | 37 | 38 | 39 | 40 | 41 | Size 42 | 43 | 44 | 45 | 46 | 47 | 48 | Qt::Horizontal 49 | 50 | 51 | 52 | 40 53 | 20 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | XHexView 69 | QScrollArea 70 |
xhexview.h
71 | 1 72 |
73 |
74 | 75 | 76 |
77 | -------------------------------------------------------------------------------- /XAbstractWidgets/xgenericabstractwidget.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in all 11 | * copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #include "xgenericabstractwidget.h" 22 | 23 | XGenericAbstractWidget::XGenericAbstractWidget(QWidget *parent) : XShortcutsWidget(parent) 24 | { 25 | m_dataRecordsOptions = {}; 26 | m_pDevice = nullptr; 27 | m_pXInfoDB = nullptr; 28 | } 29 | 30 | void XGenericAbstractWidget::setData(QIODevice *pDevice, XInfoDB *pXInfoDB, const XBinary::DATA_RECORDS_OPTIONS &dataRecordsOptions, bool bProcess) 31 | { 32 | m_pDevice = pDevice; 33 | m_pXInfoDB = pXInfoDB; 34 | m_dataRecordsOptions = dataRecordsOptions; 35 | 36 | if (bProcess) { 37 | reloadData(false); 38 | } 39 | } 40 | 41 | QIODevice *XGenericAbstractWidget::getDevice() const 42 | { 43 | return m_pDevice; 44 | } 45 | 46 | XInfoDB *XGenericAbstractWidget::getXInfoDB() const 47 | { 48 | return m_pXInfoDB; 49 | } 50 | 51 | const XBinary::DATA_RECORDS_OPTIONS &XGenericAbstractWidget::getRecordsOptions() const 52 | { 53 | return m_dataRecordsOptions; 54 | } 55 | -------------------------------------------------------------------------------- /AbstractWidgets/xgenerictablehexwidget.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | XGenericTableHexWidget 4 | 5 | 6 | 7 | 0 8 | 0 9 | 689 10 | 483 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 0 19 | 20 | 21 | 0 22 | 23 | 24 | 0 25 | 26 | 27 | 0 28 | 29 | 30 | 0 31 | 32 | 33 | 34 | 35 | Qt::Vertical 36 | 37 | 38 | 39 | 40 | 0 41 | 0 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | XGenericTableWidget 56 | QWidget 57 |
xgenerictablewidget.h
58 | 1 59 |
60 | 61 | XGenericHexWidget 62 | QWidget 63 |
xgenerichexwidget.h
64 | 1 65 |
66 |
67 | 68 | 69 |
70 | -------------------------------------------------------------------------------- /PE/peprocessdata.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef PEPROCESSDATA_H 22 | #define PEPROCESSDATA_H 23 | 24 | #include "pe_defs.h" 25 | #include "processdata.h" 26 | #include "specabstract.h" 27 | 28 | class PEProcessData : public ProcessData { 29 | Q_OBJECT 30 | 31 | public: 32 | explicit PEProcessData(qint32 nType, QStandardItemModel **ppModel, XPE *pPE, qint32 nNumber, qint64 nOffset, qint64 nSize, QVariant varInfo = QVariant()); 33 | 34 | virtual void _process(); 35 | virtual void ajustTableView(qint32 nType, QTableView *pTableView); 36 | virtual void ajustTreeView(qint32 nType, QTreeView *pTreeView); 37 | void handleCertRecord(QStandardItem *pParent, XPE::CERT_RECORD certRecord); 38 | virtual void adjustModel(QStandardItemModel *pModel); 39 | 40 | private: 41 | qint32 g_nType; 42 | XPE *g_pPE; 43 | QStandardItemModel **g_ppModel; 44 | qint32 g_nNumber; 45 | qint64 g_nOffset; 46 | qint64 g_nSize; 47 | QVariant g_varInfo; 48 | }; 49 | 50 | #endif // PEPROCESSDATA_H 51 | -------------------------------------------------------------------------------- /XAbstractWidgets/xgenericabstractwidget.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in all 11 | * copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef XGENERICABSTRACTWIDGET_H 22 | #define XGENERICABSTRACTWIDGET_H 23 | 24 | #include "xshortcutswidget.h" 25 | #include "xformats.h" 26 | #include "xinfodb.h" 27 | #include "xlineedithex.h" 28 | #include "xcomboboxex.h" 29 | #include "xdialogprocess.h" 30 | #include "xgetdatarecordsprocess.h" 31 | #include "xmodel_binary.h" 32 | 33 | class XGenericAbstractWidget : public XShortcutsWidget { 34 | Q_OBJECT 35 | 36 | public: 37 | explicit XGenericAbstractWidget(QWidget *parent = nullptr); 38 | 39 | void setData(QIODevice *pDevice, XInfoDB *pXInfoDB, const XBinary::DATA_RECORDS_OPTIONS &dataRecordsOptions, bool bProcess); 40 | 41 | QIODevice *getDevice() const; 42 | XInfoDB *getXInfoDB() const; 43 | const XBinary::DATA_RECORDS_OPTIONS &getRecordsOptions() const; 44 | 45 | private: 46 | QIODevice *m_pDevice; 47 | XInfoDB *m_pXInfoDB; 48 | XBinary::DATA_RECORDS_OPTIONS m_dataRecordsOptions; 49 | }; 50 | 51 | #endif // XGENERICABSTRACTWIDGET_H 52 | -------------------------------------------------------------------------------- /AbstractWidgets/xgenericheaderwidget.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2024-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in all 11 | * copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef XGENERICHEADERWIDGET_H 22 | #define XGENERICHEADERWIDGET_H 23 | 24 | #include "xformatwidget.h" 25 | 26 | namespace Ui { 27 | class XGenericHeaderWidget; 28 | } 29 | 30 | class XGenericHeaderWidget : public XFormatWidget { 31 | Q_OBJECT 32 | 33 | public: 34 | explicit XGenericHeaderWidget(QWidget *pParent = nullptr); 35 | ~XGenericHeaderWidget(); 36 | virtual void reloadData(bool bSaveSelection); 37 | virtual void adjustView(); 38 | 39 | private slots: 40 | void on_tableWidgetMain_currentCellChanged(int currentRow, int currentColumn, int previousRow, int previousColumn); 41 | void on_tableWidgetMain_customContextMenuRequested(const QPoint &pos); 42 | void on_toolButtonTableReload_clicked(); 43 | void on_toolButtonTableSize_clicked(); 44 | void on_toolButtonTableSave_clicked(); 45 | void on_tableWidgetMain_cellClicked(int nRow, int nColumn); 46 | 47 | private: 48 | Ui::XGenericHeaderWidget *ui; 49 | qint64 g_nDataSize; 50 | }; 51 | 52 | #endif // XGENERICHEADERWIDGET_H 53 | -------------------------------------------------------------------------------- /AbstractWidgets/xprocessdata.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef XPROCESSDATA_H 22 | #define XPROCESSDATA_H 23 | 24 | #include 25 | #include 26 | #include 27 | #include 28 | 29 | #include "xformatwidget.h" 30 | #include "xbinary.h" 31 | #include "xlineedithex.h" 32 | #include "xoptions.h" 33 | #include "specabstract.h" 34 | 35 | class XProcessData : public QObject { 36 | Q_OBJECT 37 | 38 | public: 39 | explicit XProcessData(); 40 | void setData(QStandardItemModel **ppModel, QList *pListHeaderRecords, XFW_DEF::CWOPTIONS *pCwOptions, XBinary::PDSTRUCT *pPdStruct); 41 | 42 | public slots: 43 | void process(); 44 | 45 | signals: 46 | void errorMessage(const QString &sText); 47 | void completed(qint64 nElapsed); 48 | 49 | private: 50 | QStandardItemModel **g_ppModel; 51 | QList *g_pListHeaderRecords; 52 | XFW_DEF::CWOPTIONS *g_pCwOptions; 53 | XBinary::PDSTRUCT *g_pPdStruct; 54 | qint32 g_nFreeIndex; 55 | }; 56 | 57 | #endif // XPROCESSDATA_H 58 | -------------------------------------------------------------------------------- /dialogsectionheader.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef DIALOGSECTIONHEADER_H 22 | #define DIALOGSECTIONHEADER_H 23 | 24 | #include 25 | 26 | #include "formatwidget.h" 27 | #include "xshortcutsdialog.h" 28 | 29 | namespace Ui { 30 | class DialogSectionHeader; 31 | } 32 | 33 | class DialogSectionHeader : public XShortcutsDialog { 34 | Q_OBJECT 35 | 36 | public: 37 | explicit DialogSectionHeader(QWidget *pParent); 38 | ~DialogSectionHeader(); 39 | 40 | void setWidget(FormatWidget *pWidget); 41 | void setData(QIODevice *pDevice, FW_DEF::OPTIONS options, quint32 nNumber, qint64 nOffset, const QString &sTitle, qint32 nType); // TODO remove 42 | void setData(const QString &sTitle); 43 | void setEdited(qint64 nDeviceOffset, qint64 nDeviceSize); 44 | virtual void setGlobal(XShortcuts *pShortcuts, XOptions *pXOptions); 45 | virtual void adjustView(); 46 | 47 | protected: 48 | virtual void registerShortcuts(bool bState); 49 | 50 | private: 51 | Ui::DialogSectionHeader *ui; 52 | FormatWidget *m_pWidget; 53 | }; 54 | 55 | #endif // DIALOGSECTIONHEADER_H 56 | -------------------------------------------------------------------------------- /XAbstractWidgets/xgetdatarecordsprocess.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in all 11 | * copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #include "xgetdatarecordsprocess.h" 22 | 23 | XGetDataRecordsProcess::XGetDataRecordsProcess(QObject *pParent) : XThreadObject(pParent) 24 | { 25 | m_pDevice = nullptr; 26 | g_pListDataRecordsRows = nullptr; 27 | m_pListTitles = nullptr; 28 | m_pPdStruct = nullptr; 29 | } 30 | 31 | void XGetDataRecordsProcess::setData(QIODevice *pDevice, const XBinary::DATA_RECORDS_OPTIONS &dataRecordsOptions, QList *pListDataRecordsRows, 32 | QList *pListTitles, XBinary::PDSTRUCT *pPdStruct) 33 | { 34 | m_pDevice = pDevice; 35 | m_dataRecordsOptions = dataRecordsOptions; 36 | g_pListDataRecordsRows = pListDataRecordsRows; 37 | m_pListTitles = pListTitles; 38 | m_pPdStruct = pPdStruct; 39 | } 40 | 41 | void XGetDataRecordsProcess::process() 42 | { 43 | XFormats::getDataRecordValues(m_dataRecordsOptions.pMemoryMap->fileType, m_pDevice, m_dataRecordsOptions, g_pListDataRecordsRows, m_pListTitles, false, -1, 44 | m_pPdStruct); 45 | } 46 | -------------------------------------------------------------------------------- /MSDOS/msdos_defs.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef MSDOS_DEFS_H 22 | #define MSDOS_DEFS_H 23 | 24 | #include "../formatwidget.h" 25 | #include "xmsdos.h" 26 | 27 | namespace SMSDOS { 28 | enum TYPE { 29 | TYPE_INFO = 0, 30 | TYPE_VISUALIZATION, 31 | TYPE_VIRUSTOTAL, 32 | TYPE_HEX, 33 | TYPE_DISASM, 34 | TYPE_HASH, 35 | TYPE_STRINGS, 36 | TYPE_SIGNATURES, 37 | TYPE_MEMORYMAP, 38 | TYPE_ENTROPY, 39 | TYPE_NFDSCAN, 40 | TYPE_EXTRACTOR, 41 | TYPE_SEARCH, 42 | TYPE_DIESCAN, 43 | TYPE_YARASCAN, 44 | TYPE_DOS_HEADER, 45 | TYPE_OVERLAY, 46 | __TYPE_size 47 | }; 48 | } // namespace SMSDOS 49 | 50 | namespace N_DOS_HEADER { 51 | enum DATA { 52 | e_magic = 0, 53 | e_cblp, 54 | e_cp, 55 | e_crlc, 56 | e_cparhdr, 57 | e_minalloc, 58 | e_maxalloc, 59 | e_ss, 60 | e_sp, 61 | e_csum, 62 | e_ip, 63 | e_cs, 64 | e_lfarlc, 65 | e_ovno, 66 | __data_size 67 | }; 68 | 69 | extern const FW_DEF::HEADER_RECORD records[__data_size]; 70 | } // namespace N_DOS_HEADER 71 | 72 | #endif // MSDOS_DEFS_H 73 | -------------------------------------------------------------------------------- /SearchSignatures/searchsignaturesoptionswidget.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef SEARCHSIGNATURESOPTIONSWIDGET_H 22 | #define SEARCHSIGNATURESOPTIONSWIDGET_H 23 | 24 | #include "xshortcutswidget.h" 25 | 26 | #include "xbinary.h" 27 | #include "xoptions.h" 28 | 29 | namespace Ui { 30 | class SearchSignaturesOptionsWidget; 31 | } 32 | 33 | class SearchSignaturesOptionsWidget : public XShortcutsWidget { 34 | Q_OBJECT 35 | 36 | public: 37 | explicit SearchSignaturesOptionsWidget(QWidget *pParent = nullptr); 38 | ~SearchSignaturesOptionsWidget(); 39 | 40 | void setOptions(XOptions *pOptions); 41 | virtual void adjustView(); 42 | static void setDefaultValues(XOptions *pOptions); 43 | virtual void reloadData(bool bSaveSelection); 44 | 45 | public slots: 46 | void save(); 47 | void reload(); 48 | 49 | private slots: 50 | void on_toolButtonSearchSignaturesPath_clicked(); 51 | 52 | protected: 53 | virtual void registerShortcuts(bool bState); 54 | 55 | private: 56 | Ui::SearchSignaturesOptionsWidget *ui; 57 | XOptions *m_pOptions; 58 | }; 59 | 60 | #endif // SEARCHSIGNATURESOPTIONSWIDGET_H 61 | -------------------------------------------------------------------------------- /AbstractWidgets/xdialogprocessdata.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #include "xdialogprocessdata.h" 22 | 23 | XDialogProcessData::XDialogProcessData(QWidget *pParent) : XDialogProcess(pParent) 24 | { 25 | g_pProcessData = new XProcessData; 26 | g_pThread = new QThread; 27 | 28 | g_pProcessData->moveToThread(g_pThread); 29 | 30 | connect(g_pThread, SIGNAL(started()), g_pProcessData, SLOT(process())); 31 | connect(g_pProcessData, SIGNAL(completed(qint64)), this, SLOT(onCompleted(qint64))); 32 | connect(g_pProcessData, SIGNAL(errorMessage(QString)), this, SLOT(errorMessageSlot(QString))); 33 | 34 | g_pThread->start(); 35 | } 36 | 37 | XDialogProcessData::~XDialogProcessData() 38 | { 39 | stop(); 40 | waitForFinished(); 41 | 42 | g_pThread->quit(); 43 | g_pThread->wait(); 44 | 45 | delete g_pThread; 46 | delete g_pProcessData; 47 | } 48 | 49 | void XDialogProcessData::setData(QStandardItemModel **ppModel, QList *pListHeaderRecords, XFW_DEF::CWOPTIONS *pCwOptions) 50 | { 51 | g_pProcessData->setData(ppModel, pListHeaderRecords, pCwOptions, getPdStruct()); 52 | g_pThread->start(); 53 | } 54 | -------------------------------------------------------------------------------- /AbstractWidgets/xmainwidgetadvanced.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2024-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in all 11 | * copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef XMAINWIDGETADVANCED_H 22 | #define XMAINWIDGETADVANCED_H 23 | 24 | #include "xmainwidget.h" 25 | #include "xextractorwidget.h" 26 | #include "xhexviewwidget.h" 27 | #include "xregionswidget.h" 28 | #include "xmemorymapwidget.h" 29 | #include "xmultidisasmwidget.h" 30 | #include "xsymbolswidget.h" 31 | #include "xvisualizationwidget.h" 32 | #include "yarawidgetadvanced.h" 33 | #include "nfdwidgetadvanced.h" 34 | #include "diewidgetadvanced.h" 35 | #include "xvirustotalwidget.h" 36 | #include "xhashwidget.h" 37 | #include "xentropywidget.h" 38 | 39 | class XMainWidgetAdvanced : public XMainWidget { 40 | Q_OBJECT 41 | public: 42 | explicit XMainWidgetAdvanced(QWidget *pParent = nullptr); 43 | 44 | virtual QTreeWidgetItem *_addBaseItems(QTreeWidget *pTreeWidget, XBinary::FT fileType); 45 | virtual XShortcutsWidget *createWidget(const XFW_DEF::CWOPTIONS &cwOptions); 46 | 47 | private slots: 48 | void showDemangleSlot(const QString &sString); 49 | void findValue(quint64 nValue, XBinary::ENDIAN endian); 50 | 51 | protected: 52 | virtual void _followLocation(quint64 nLocation, qint32 nLocationType, qint64 nSize, qint32 nWidgetType); 53 | }; 54 | 55 | #endif // XMAINWIDGETADVANCED_H 56 | -------------------------------------------------------------------------------- /AbstractWidgets/Structs/xne_defs.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef XNE_DEFS_H 22 | #define XNE_DEFS_H 23 | 24 | #include "../xformatwidget_def.h" 25 | 26 | namespace X_OS2_HEADER { 27 | enum DATA { 28 | ne_magic = 0, 29 | ne_ver, 30 | ne_rev, 31 | ne_enttab, 32 | ne_cbenttab, 33 | ne_crc, 34 | ne_flags, 35 | ne_autodata, 36 | ne_heap, 37 | ne_stack, 38 | ne_csip, 39 | ne_sssp, 40 | ne_cseg, 41 | ne_cmod, 42 | ne_cbnrestab, 43 | ne_segtab, 44 | ne_rsrctab, 45 | ne_restab, 46 | ne_modtab, 47 | ne_imptab, 48 | ne_nrestab, 49 | ne_cmovent, 50 | ne_align, 51 | ne_cres, 52 | ne_exetyp, 53 | ne_flagsothers, 54 | ne_pretthunks, 55 | ne_psegrefbytes, 56 | ne_swaparea, 57 | ne_expver, 58 | __data_size 59 | }; 60 | 61 | extern const XFW_DEF::HEADER_RECORD records[__data_size]; 62 | } // namespace X_OS2_HEADER 63 | 64 | namespace X_NE_SEGMENT { 65 | enum DATA { 66 | dwFileOffset = 0, 67 | dwFileSize, 68 | dwFlags, 69 | dwMinAllocSize, 70 | __data_size 71 | }; 72 | 73 | extern const XFW_DEF::HEADER_RECORD records[__data_size]; 74 | } // namespace X_NE_SEGMENT 75 | 76 | #endif // XNE_DEFS_H 77 | -------------------------------------------------------------------------------- /AbstractWidgets/dialogsetgenericwidget.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2024-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in all 11 | * copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #include "dialogsetgenericwidget.h" 22 | #include "ui_dialogsetgenericwidget.h" 23 | 24 | DialogSetGenericWidget::DialogSetGenericWidget(QWidget *pParent) : XShortcutsDialog(pParent), ui(new Ui::DialogSetGenericWidget) 25 | { 26 | ui->setupUi(this); 27 | 28 | g_pDevice = nullptr; 29 | g_nOffset = 0; 30 | g_nSize = 0; 31 | 32 | // XFormatWidget::adjustWidgetModeComboBox(ui->comboBoxMode); 33 | } 34 | 35 | DialogSetGenericWidget::~DialogSetGenericWidget() 36 | { 37 | delete ui; 38 | } 39 | 40 | void DialogSetGenericWidget::setData(QIODevice *pDevice, qint64 nOffset, qint64 nSize) 41 | { 42 | g_pDevice = pDevice; 43 | g_nOffset = nOffset; 44 | g_nSize = nSize; 45 | 46 | adjustView(); 47 | } 48 | 49 | void DialogSetGenericWidget::adjustView() 50 | { 51 | ui->lineEditOffset->setValue32_64(g_nOffset); 52 | ui->lineEditSize->setValue32_64(g_nSize); 53 | } 54 | 55 | void DialogSetGenericWidget::registerShortcuts(bool bState) 56 | { 57 | Q_UNUSED(bState) 58 | } 59 | 60 | void DialogSetGenericWidget::on_pushButtonCancel_clicked() 61 | { 62 | this->close(); 63 | } 64 | 65 | void DialogSetGenericWidget::on_pushButtonOK_clicked() 66 | { 67 | // TODO 68 | } 69 | -------------------------------------------------------------------------------- /AbstractWidgets/Structs/xmsdos_defs.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef XMSDOS_DEFS_H 22 | #define XMSDOS_DEFS_H 23 | 24 | #include "../xformatwidget_def.h" 25 | namespace XTYPE_MSDOS { 26 | 27 | namespace X_Exe_file { 28 | enum DATA { 29 | exe_signature = 0, 30 | exe_len_mod_512, 31 | exe_pages, 32 | exe_rle_count, 33 | exe_par_dir, 34 | exe_min_BSS, 35 | exe_max_BSS, 36 | exe_SS, 37 | exe_SP, 38 | exe_chksum, 39 | exe_IP, 40 | exe_CS, 41 | exe_rle_table, 42 | exe_iov, 43 | exe_sym_tab, 44 | __data_size 45 | }; 46 | 47 | extern const XFW_DEF::HEADER_RECORD records[__data_size]; 48 | } // namespace X_Exe_file 49 | 50 | namespace X_IMAGE_DOS_HEADER { 51 | enum DATA { 52 | e_magic = 0, 53 | e_cblp, 54 | e_cp, 55 | e_crlc, 56 | e_cparhdr, 57 | e_minalloc, 58 | e_maxalloc, 59 | e_ss, 60 | e_sp, 61 | e_csum, 62 | e_ip, 63 | e_cs, 64 | e_lfarlc, 65 | e_ovno, 66 | e_res, 67 | e_oemid, 68 | e_oeminfo, 69 | e_res2, 70 | e_lfanew, 71 | __data_size 72 | }; 73 | 74 | extern const XFW_DEF::HEADER_RECORD records[__data_size]; 75 | } // namespace X_IMAGE_DOS_HEADER 76 | 77 | } // namespace XTYPE_MSDOS 78 | 79 | #endif // XMSDOS_DEFS_H 80 | -------------------------------------------------------------------------------- /AbstractWidgets/xgenericdisasmwidget.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | XGenericDisasmWidget 4 | 5 | 6 | 7 | 0 8 | 0 9 | 470 10 | 312 11 | 12 | 13 | 14 | Form 15 | 16 | 17 | 18 | 0 19 | 20 | 21 | 0 22 | 23 | 24 | 0 25 | 26 | 27 | 0 28 | 29 | 30 | 31 | 32 | 33 | 34 | Reload 35 | 36 | 37 | 38 | 39 | 40 | 41 | Size 42 | 43 | 44 | 45 | 46 | 47 | 48 | Qt::Horizontal 49 | 50 | 51 | 52 | 40 53 | 20 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 0 65 | 0 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | XMultiDisasmWidget 75 | QWidget 76 |
xmultidisasmwidget.h
77 | 1 78 |
79 |
80 | 81 | 82 |
83 | -------------------------------------------------------------------------------- /PDF/pdfwidget.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2022-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef PDFWIDGET_H 22 | #define PDFWIDGET_H 23 | 24 | #include "../formatwidget.h" 25 | #include "pdf_defs.h" 26 | 27 | namespace Ui { 28 | class PDFWidget; 29 | } 30 | 31 | class PDFWidget : public FormatWidget { 32 | Q_OBJECT 33 | 34 | public: 35 | PDFWidget(QWidget *pParent = nullptr); 36 | PDFWidget(QIODevice *pDevice, FW_DEF::OPTIONS options, QWidget *pParent = nullptr); 37 | ~PDFWidget(); 38 | 39 | virtual void clear(); 40 | virtual void cleanup(); 41 | virtual void reload(); 42 | 43 | protected: 44 | virtual SV _setValue(QVariant vValue, int nStype, int nNdata, int nVtype, int nPosition, qint64 nOffset); 45 | virtual void setReadonly(bool bState); 46 | virtual void blockSignals(bool bState); 47 | virtual void reloadData(); 48 | virtual void _showInMemoryMapWindowOffset(qint64 nOffset); 49 | virtual void _showInHexWindow(qint64 nOffset, qint64 nSize); 50 | virtual void _findValue(quint64 nValue, bool bIsBigEndian); 51 | 52 | private slots: 53 | void on_checkBoxReadonly_toggled(bool bChecked); 54 | 55 | void on_treeWidgetNavi_currentItemChanged(QTreeWidgetItem *pCurrent, QTreeWidgetItem *pPrevious); 56 | 57 | private: 58 | Ui::PDFWidget *ui; 59 | }; 60 | 61 | #endif // PDFWIDGET_H 62 | -------------------------------------------------------------------------------- /XAbstractWidgets/dialogxstructchooser.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | DialogXStructChooser 4 | 5 | 6 | 7 | 0 8 | 0 9 | 607 10 | 137 11 | 12 | 13 | 14 | Dialog 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | Qt::Orientation::Horizontal 55 | 56 | 57 | 58 | 40 59 | 20 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | Cancel 68 | 69 | 70 | 71 | 72 | 73 | 74 | OK 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /AbstractWidgets/xgenerictablewidget.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2024-2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in all 11 | * copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #ifndef XGENERICTABLEWIDGET_H 22 | #define XGENERICTABLEWIDGET_H 23 | 24 | #include "xdialogprocessdata.h" 25 | 26 | namespace Ui { 27 | class XGenericTableWidget; 28 | } 29 | 30 | class XGenericTableWidget : public XFormatWidget { 31 | Q_OBJECT 32 | 33 | public: 34 | explicit XGenericTableWidget(QWidget *pParent = nullptr); 35 | ~XGenericTableWidget(); 36 | virtual void reloadData(bool bSaveSelection); 37 | virtual void adjustView(); 38 | void setCustomWidgetEnabled(bool bState); 39 | 40 | private slots: 41 | void on_tableViewMain_customContextMenuRequested(const QPoint &pos); 42 | void onTableView_currentRowChanged(const QModelIndex ¤t, const QModelIndex &previous); 43 | void on_tableViewMain_clicked(const QModelIndex &index); 44 | void on_toolButtonTableReload_clicked(); 45 | void on_toolButtonTableSize_clicked(); 46 | void on_toolButtonTableSave_clicked(); 47 | void on_tableViewMain_doubleClicked(const QModelIndex &index); 48 | void on_comboBoxDemangle_currentIndexChanged(int nIndex); 49 | 50 | private: 51 | Ui::XGenericTableWidget *ui; 52 | QStandardItemModel *g_pModel; 53 | QList g_listHeaderRecords; 54 | bool g_bCustomWidgetEnabled; 55 | }; 56 | 57 | #endif // XGENERICTABLEWIDGET_H 58 | -------------------------------------------------------------------------------- /AbstractWidgets/Structs/xarchives_defs.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2025 hors 2 | * 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy 4 | * of this software and associated documentation files (the "Software"), to deal 5 | * in the Software without restriction, including without limitation the rights 6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | * copies of the Software, and to permit persons to whom the Software is 8 | * furnished to do so, subject to the following conditions: 9 | * 10 | * The above copyright notice and this permission notice shall be included in 11 | * all copies or substantial portions of the Software. 12 | * 13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | * SOFTWARE. 20 | */ 21 | #include "xarchives_defs.h" 22 | 23 | namespace XTYPE_7ZIP { 24 | namespace X_SIGNATUREHEADER { 25 | const XFW_DEF::HEADER_RECORD records[__data_size] = { 26 | {kSignature, "kSignature", offsetof(XSevenZip::SIGNATUREHEADER, kSignature), 6, "array", XFW_DEF::VAL_TYPE_DATA_ARRAY | XFW_DEF::VAL_TYPE_HEX, -1}, 27 | {Major, "Major", offsetof(XSevenZip::SIGNATUREHEADER, Major), 1, "uint8", XFW_DEF::VAL_TYPE_DATA_INT | XFW_DEF::VAL_TYPE_VERSION, -1}, 28 | {Minor, "Minor", offsetof(XSevenZip::SIGNATUREHEADER, Minor), 1, "uint8", XFW_DEF::VAL_TYPE_DATA_INT | XFW_DEF::VAL_TYPE_VERSION, -1}, 29 | {StartHeaderCRC, "StartHeaderCRC", offsetof(XSevenZip::SIGNATUREHEADER, StartHeaderCRC), 4, "uint32", XFW_DEF::VAL_TYPE_DATA_INT, -1}, 30 | {NextHeaderOffset, "NextHeaderOffset", offsetof(XSevenZip::SIGNATUREHEADER, NextHeaderOffset), 8, "uint64", 31 | XFW_DEF::VAL_TYPE_DATA_INT | XFW_DEF::VAL_TYPE_OFFSET | XFW_DEF::VAL_TYPE_RELTOHEADEREND, -1}, 32 | {NextHeaderSize, "NextHeaderSize", offsetof(XSevenZip::SIGNATUREHEADER, NextHeaderSize), 8, "uint64", XFW_DEF::VAL_TYPE_DATA_INT | XFW_DEF::VAL_TYPE_SIZE, 33 | NextHeaderOffset}, 34 | {NextHeaderCRC, "NextHeaderCRC", offsetof(XSevenZip::SIGNATUREHEADER, NextHeaderCRC), 4, "uint32", XFW_DEF::VAL_TYPE_DATA_INT, -1}, 35 | }; 36 | } // namespace X_SIGNATUREHEADER 37 | } // namespace XTYPE_7ZIP 38 | --------------------------------------------------------------------------------