├── 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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
58 | 1
59 |
60 |
61 | XGenericHexWidget
62 | QWidget
63 |
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 |
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 |
--------------------------------------------------------------------------------