├── .gitignore ├── LICENSE ├── QtGuiPE.sln ├── QtGuiPE ├── GeneratedFiles │ ├── qrc_QtGuiPE.cpp │ ├── qrc_QtGuiPE_Characteristics.cpp │ ├── qrc_QtGuiPE_DLLCharacteristics.cpp │ ├── qrc_QtGuiPE_DataDirectory.cpp │ ├── qrc_QtGuiPE_ExceptTable.cpp │ ├── qrc_QtGuiPE_ExportTable.cpp │ ├── qrc_QtGuiPE_HexMode.cpp │ ├── qrc_QtGuiPE_ImportTable.cpp │ ├── qrc_QtGuiPE_Resource.cpp │ ├── qrc_QtGuiPE_Sections.cpp │ ├── qrc_QtGuiPE_Thunks.cpp │ ├── ui_QtGuiPE.h │ ├── ui_QtGuiPE_Characteristics.h │ ├── ui_QtGuiPE_DLLCharacteristics.h │ ├── ui_QtGuiPE_DataDirectory.h │ ├── ui_QtGuiPE_ExceptTable.h │ ├── ui_QtGuiPE_ExportTable.h │ ├── ui_QtGuiPE_HexMode.h │ ├── ui_QtGuiPE_ImportTable.h │ ├── ui_QtGuiPE_Resource.h │ ├── ui_QtGuiPE_Sections.h │ └── ui_QtGuiPE_Thunks.h ├── PE_FILE1.h ├── PE_FILE1S.cpp ├── PE_FILE1_EXCEPTION.cpp ├── PE_FILE1_EXCEPTION.h ├── QtGuiPE.cpp ├── QtGuiPE.h ├── QtGuiPE.qrc ├── QtGuiPE.rc ├── QtGuiPE.ui ├── QtGuiPE.vcxproj ├── QtGuiPE.vcxproj.filters ├── QtGuiPE_Characteristics.cpp ├── QtGuiPE_Characteristics.h ├── QtGuiPE_Characteristics.qrc ├── QtGuiPE_Characteristics.ui ├── QtGuiPE_DLLCharacteristics.cpp ├── QtGuiPE_DLLCharacteristics.h ├── QtGuiPE_DLLCharacteristics.qrc ├── QtGuiPE_DLLCharacteristics.ui ├── QtGuiPE_DataDirectory.cpp ├── QtGuiPE_DataDirectory.h ├── QtGuiPE_DataDirectory.qrc ├── QtGuiPE_DataDirectory.ui ├── QtGuiPE_ExceptTable.cpp ├── QtGuiPE_ExceptTable.h ├── QtGuiPE_ExceptTable.qrc ├── QtGuiPE_ExceptTable.ui ├── QtGuiPE_ExportTable.cpp ├── QtGuiPE_ExportTable.h ├── QtGuiPE_ExportTable.qrc ├── QtGuiPE_ExportTable.ui ├── QtGuiPE_HexMode │ ├── QHexView.cpp │ ├── QHexView.h │ ├── QtGuiPE_HexMode.cpp │ ├── QtGuiPE_HexMode.h │ ├── QtGuiPE_HexMode.qrc │ └── QtGuiPE_HexMode.ui ├── QtGuiPE_ImportTable.cpp ├── QtGuiPE_ImportTable.h ├── QtGuiPE_ImportTable.qrc ├── QtGuiPE_ImportTable.ui ├── QtGuiPE_Resource.cpp ├── QtGuiPE_Resource.h ├── QtGuiPE_Resource.qrc ├── QtGuiPE_Resource.ui ├── QtGuiPE_Sections.cpp ├── QtGuiPE_Sections.h ├── QtGuiPE_Sections.qrc ├── QtGuiPE_Sections.ui ├── QtGuiPE_Thunks.cpp ├── QtGuiPE_Thunks.h ├── QtGuiPE_Thunks.qrc ├── QtGuiPE_Thunks.ui ├── Resources │ ├── folder.bmp │ └── resource-icon.png ├── main.cpp ├── my_winnt.h └── resource.h └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | ## 4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore 5 | 6 | # User-specific files 7 | *.suo 8 | *.user 9 | *.userosscache 10 | *.sln.docstates 11 | 12 | # User-specific files (MonoDevelop/Xamarin Studio) 13 | *.userprefs 14 | 15 | # Build results 16 | [Dd]ebug/ 17 | [Dd]ebugPublic/ 18 | [Rr]elease/ 19 | [Rr]eleases/ 20 | x64/ 21 | x86/ 22 | bld/ 23 | [Bb]in/ 24 | [Oo]bj/ 25 | [Ll]og/ 26 | 27 | # Visual Studio 2015 cache/options directory 28 | .vs/ 29 | # Uncomment if you have tasks that create the project's static files in wwwroot 30 | #wwwroot/ 31 | 32 | # MSTest test Results 33 | [Tt]est[Rr]esult*/ 34 | [Bb]uild[Ll]og.* 35 | 36 | # NUNIT 37 | *.VisualState.xml 38 | TestResult.xml 39 | 40 | # Build Results of an ATL Project 41 | [Dd]ebugPS/ 42 | [Rr]eleasePS/ 43 | dlldata.c 44 | 45 | # Benchmark Results 46 | BenchmarkDotNet.Artifacts/ 47 | 48 | # .NET Core 49 | project.lock.json 50 | project.fragment.lock.json 51 | artifacts/ 52 | **/Properties/launchSettings.json 53 | 54 | *_i.c 55 | *_p.c 56 | *_i.h 57 | *.ilk 58 | *.meta 59 | *.obj 60 | *.pch 61 | *.pdb 62 | *.pgc 63 | *.pgd 64 | *.rsp 65 | *.sbr 66 | *.tlb 67 | *.tli 68 | *.tlh 69 | *.tmp 70 | *.tmp_proj 71 | *.log 72 | *.vspscc 73 | *.vssscc 74 | .builds 75 | *.pidb 76 | *.svclog 77 | *.scc 78 | 79 | # Chutzpah Test files 80 | _Chutzpah* 81 | 82 | # Visual C++ cache files 83 | ipch/ 84 | *.aps 85 | *.ncb 86 | *.opendb 87 | *.opensdf 88 | *.sdf 89 | *.cachefile 90 | *.VC.db 91 | *.VC.VC.opendb 92 | 93 | # Visual Studio profiler 94 | *.psess 95 | *.vsp 96 | *.vspx 97 | *.sap 98 | 99 | # TFS 2012 Local Workspace 100 | $tf/ 101 | 102 | # Guidance Automation Toolkit 103 | *.gpState 104 | 105 | # ReSharper is a .NET coding add-in 106 | _ReSharper*/ 107 | *.[Rr]e[Ss]harper 108 | *.DotSettings.user 109 | 110 | # JustCode is a .NET coding add-in 111 | .JustCode 112 | 113 | # TeamCity is a build add-in 114 | _TeamCity* 115 | 116 | # DotCover is a Code Coverage Tool 117 | *.dotCover 118 | 119 | # AxoCover is a Code Coverage Tool 120 | .axoCover/* 121 | !.axoCover/settings.json 122 | 123 | # Visual Studio code coverage results 124 | *.coverage 125 | *.coveragexml 126 | 127 | # NCrunch 128 | _NCrunch_* 129 | .*crunch*.local.xml 130 | nCrunchTemp_* 131 | 132 | # MightyMoose 133 | *.mm.* 134 | AutoTest.Net/ 135 | 136 | # Web workbench (sass) 137 | .sass-cache/ 138 | 139 | # Installshield output folder 140 | [Ee]xpress/ 141 | 142 | # DocProject is a documentation generator add-in 143 | DocProject/buildhelp/ 144 | DocProject/Help/*.HxT 145 | DocProject/Help/*.HxC 146 | DocProject/Help/*.hhc 147 | DocProject/Help/*.hhk 148 | DocProject/Help/*.hhp 149 | DocProject/Help/Html2 150 | DocProject/Help/html 151 | 152 | # Click-Once directory 153 | publish/ 154 | 155 | # Publish Web Output 156 | *.[Pp]ublish.xml 157 | *.azurePubxml 158 | # Note: Comment the next line if you want to checkin your web deploy settings, 159 | # but database connection strings (with potential passwords) will be unencrypted 160 | *.pubxml 161 | *.publishproj 162 | 163 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 164 | # checkin your Azure Web App publish settings, but sensitive information contained 165 | # in these scripts will be unencrypted 166 | PublishScripts/ 167 | 168 | # NuGet Packages 169 | *.nupkg 170 | # The packages folder can be ignored because of Package Restore 171 | **/packages/* 172 | # except build/, which is used as an MSBuild target. 173 | !**/packages/build/ 174 | # Uncomment if necessary however generally it will be regenerated when needed 175 | #!**/packages/repositories.config 176 | # NuGet v3's project.json files produces more ignorable files 177 | *.nuget.props 178 | *.nuget.targets 179 | 180 | # Microsoft Azure Build Output 181 | csx/ 182 | *.build.csdef 183 | 184 | # Microsoft Azure Emulator 185 | ecf/ 186 | rcf/ 187 | 188 | # Windows Store app package directories and files 189 | AppPackages/ 190 | BundleArtifacts/ 191 | Package.StoreAssociation.xml 192 | _pkginfo.txt 193 | *.appx 194 | 195 | # Visual Studio cache files 196 | # files ending in .cache can be ignored 197 | *.[Cc]ache 198 | # but keep track of directories ending in .cache 199 | !*.[Cc]ache/ 200 | 201 | # Others 202 | ClientBin/ 203 | ~$* 204 | *~ 205 | *.dbmdl 206 | *.dbproj.schemaview 207 | *.jfm 208 | *.pfx 209 | *.publishsettings 210 | orleans.codegen.cs 211 | 212 | # Since there are multiple workflows, uncomment next line to ignore bower_components 213 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 214 | #bower_components/ 215 | 216 | # RIA/Silverlight projects 217 | Generated_Code/ 218 | 219 | # Backup & report files from converting an old project file 220 | # to a newer Visual Studio version. Backup files are not needed, 221 | # because we have git ;-) 222 | _UpgradeReport_Files/ 223 | Backup*/ 224 | UpgradeLog*.XML 225 | UpgradeLog*.htm 226 | 227 | # SQL Server files 228 | *.mdf 229 | *.ldf 230 | *.ndf 231 | 232 | # Business Intelligence projects 233 | *.rdl.data 234 | *.bim.layout 235 | *.bim_*.settings 236 | 237 | # Microsoft Fakes 238 | FakesAssemblies/ 239 | 240 | # GhostDoc plugin setting file 241 | *.GhostDoc.xml 242 | 243 | # Node.js Tools for Visual Studio 244 | .ntvs_analysis.dat 245 | node_modules/ 246 | 247 | # Typescript v1 declaration files 248 | typings/ 249 | 250 | # Visual Studio 6 build log 251 | *.plg 252 | 253 | # Visual Studio 6 workspace options file 254 | *.opt 255 | 256 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) 257 | *.vbw 258 | 259 | # Visual Studio LightSwitch build output 260 | **/*.HTMLClient/GeneratedArtifacts 261 | **/*.DesktopClient/GeneratedArtifacts 262 | **/*.DesktopClient/ModelManifest.xml 263 | **/*.Server/GeneratedArtifacts 264 | **/*.Server/ModelManifest.xml 265 | _Pvt_Extensions 266 | 267 | # Paket dependency manager 268 | .paket/paket.exe 269 | paket-files/ 270 | 271 | # FAKE - F# Make 272 | .fake/ 273 | 274 | # JetBrains Rider 275 | .idea/ 276 | *.sln.iml 277 | 278 | # CodeRush 279 | .cr/ 280 | 281 | # Python Tools for Visual Studio (PTVS) 282 | __pycache__/ 283 | *.pyc 284 | 285 | # Cake - Uncomment if you are using it 286 | # tools/** 287 | # !tools/packages.config 288 | 289 | # Tabs Studio 290 | *.tss 291 | 292 | # Telerik's JustMock configuration file 293 | *.jmconfig 294 | 295 | # BizTalk build output 296 | *.btp.cs 297 | *.btm.cs 298 | *.odx.cs 299 | *.xsd.cs -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 0xdead4ead 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 | -------------------------------------------------------------------------------- /QtGuiPE.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25420.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QtGuiPE", "QtGuiPE\QtGuiPE.vcxproj", "{B12702AD-ABFB-343A-A199-8E24837244A3}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x64 = Debug|x64 11 | Release|x64 = Release|x64 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.ActiveCfg = Debug|x64 15 | {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.Build.0 = Debug|x64 16 | {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.ActiveCfg = Release|x64 17 | {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.Build.0 = Release|x64 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /QtGuiPE/GeneratedFiles/qrc_QtGuiPE.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Resource object code 3 | ** 4 | ** Created by: The Resource Compiler for Qt version 5.8.0 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #ifdef QT_NAMESPACE 10 | # define QT_RCC_PREPEND_NAMESPACE(name) ::QT_NAMESPACE::name 11 | # define QT_RCC_MANGLE_NAMESPACE0(x) x 12 | # define QT_RCC_MANGLE_NAMESPACE1(a, b) a##_##b 13 | # define QT_RCC_MANGLE_NAMESPACE2(a, b) QT_RCC_MANGLE_NAMESPACE1(a,b) 14 | # define QT_RCC_MANGLE_NAMESPACE(name) QT_RCC_MANGLE_NAMESPACE2( \ 15 | QT_RCC_MANGLE_NAMESPACE0(name), QT_RCC_MANGLE_NAMESPACE0(QT_NAMESPACE)) 16 | #else 17 | # define QT_RCC_PREPEND_NAMESPACE(name) name 18 | # define QT_RCC_MANGLE_NAMESPACE(name) name 19 | #endif 20 | 21 | #ifdef QT_NAMESPACE 22 | namespace QT_NAMESPACE { 23 | #endif 24 | 25 | #ifdef QT_NAMESPACE 26 | } 27 | #endif 28 | 29 | int QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE)(); 30 | int QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE)() 31 | { 32 | return 1; 33 | } 34 | 35 | int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE)(); 36 | int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE)() 37 | { 38 | return 1; 39 | } 40 | 41 | namespace { 42 | struct initializer { 43 | initializer() { QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE)(); } 44 | ~initializer() { QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE)(); } 45 | } dummy; 46 | } 47 | -------------------------------------------------------------------------------- /QtGuiPE/GeneratedFiles/qrc_QtGuiPE_Characteristics.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Resource object code 3 | ** 4 | ** Created by: The Resource Compiler for Qt version 5.8.0 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #ifdef QT_NAMESPACE 10 | # define QT_RCC_PREPEND_NAMESPACE(name) ::QT_NAMESPACE::name 11 | # define QT_RCC_MANGLE_NAMESPACE0(x) x 12 | # define QT_RCC_MANGLE_NAMESPACE1(a, b) a##_##b 13 | # define QT_RCC_MANGLE_NAMESPACE2(a, b) QT_RCC_MANGLE_NAMESPACE1(a,b) 14 | # define QT_RCC_MANGLE_NAMESPACE(name) QT_RCC_MANGLE_NAMESPACE2( \ 15 | QT_RCC_MANGLE_NAMESPACE0(name), QT_RCC_MANGLE_NAMESPACE0(QT_NAMESPACE)) 16 | #else 17 | # define QT_RCC_PREPEND_NAMESPACE(name) name 18 | # define QT_RCC_MANGLE_NAMESPACE(name) name 19 | #endif 20 | 21 | #ifdef QT_NAMESPACE 22 | namespace QT_NAMESPACE { 23 | #endif 24 | 25 | #ifdef QT_NAMESPACE 26 | } 27 | #endif 28 | 29 | int QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_Characteristics)(); 30 | int QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_Characteristics)() 31 | { 32 | return 1; 33 | } 34 | 35 | int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_Characteristics)(); 36 | int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_Characteristics)() 37 | { 38 | return 1; 39 | } 40 | 41 | namespace { 42 | struct initializer { 43 | initializer() { QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_Characteristics)(); } 44 | ~initializer() { QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_Characteristics)(); } 45 | } dummy; 46 | } 47 | -------------------------------------------------------------------------------- /QtGuiPE/GeneratedFiles/qrc_QtGuiPE_DLLCharacteristics.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Resource object code 3 | ** 4 | ** Created by: The Resource Compiler for Qt version 5.8.0 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #ifdef QT_NAMESPACE 10 | # define QT_RCC_PREPEND_NAMESPACE(name) ::QT_NAMESPACE::name 11 | # define QT_RCC_MANGLE_NAMESPACE0(x) x 12 | # define QT_RCC_MANGLE_NAMESPACE1(a, b) a##_##b 13 | # define QT_RCC_MANGLE_NAMESPACE2(a, b) QT_RCC_MANGLE_NAMESPACE1(a,b) 14 | # define QT_RCC_MANGLE_NAMESPACE(name) QT_RCC_MANGLE_NAMESPACE2( \ 15 | QT_RCC_MANGLE_NAMESPACE0(name), QT_RCC_MANGLE_NAMESPACE0(QT_NAMESPACE)) 16 | #else 17 | # define QT_RCC_PREPEND_NAMESPACE(name) name 18 | # define QT_RCC_MANGLE_NAMESPACE(name) name 19 | #endif 20 | 21 | #ifdef QT_NAMESPACE 22 | namespace QT_NAMESPACE { 23 | #endif 24 | 25 | #ifdef QT_NAMESPACE 26 | } 27 | #endif 28 | 29 | int QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_DLLCharacteristics)(); 30 | int QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_DLLCharacteristics)() 31 | { 32 | return 1; 33 | } 34 | 35 | int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_DLLCharacteristics)(); 36 | int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_DLLCharacteristics)() 37 | { 38 | return 1; 39 | } 40 | 41 | namespace { 42 | struct initializer { 43 | initializer() { QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_DLLCharacteristics)(); } 44 | ~initializer() { QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_DLLCharacteristics)(); } 45 | } dummy; 46 | } 47 | -------------------------------------------------------------------------------- /QtGuiPE/GeneratedFiles/qrc_QtGuiPE_DataDirectory.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Resource object code 3 | ** 4 | ** Created by: The Resource Compiler for Qt version 5.8.0 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #ifdef QT_NAMESPACE 10 | # define QT_RCC_PREPEND_NAMESPACE(name) ::QT_NAMESPACE::name 11 | # define QT_RCC_MANGLE_NAMESPACE0(x) x 12 | # define QT_RCC_MANGLE_NAMESPACE1(a, b) a##_##b 13 | # define QT_RCC_MANGLE_NAMESPACE2(a, b) QT_RCC_MANGLE_NAMESPACE1(a,b) 14 | # define QT_RCC_MANGLE_NAMESPACE(name) QT_RCC_MANGLE_NAMESPACE2( \ 15 | QT_RCC_MANGLE_NAMESPACE0(name), QT_RCC_MANGLE_NAMESPACE0(QT_NAMESPACE)) 16 | #else 17 | # define QT_RCC_PREPEND_NAMESPACE(name) name 18 | # define QT_RCC_MANGLE_NAMESPACE(name) name 19 | #endif 20 | 21 | #ifdef QT_NAMESPACE 22 | namespace QT_NAMESPACE { 23 | #endif 24 | 25 | #ifdef QT_NAMESPACE 26 | } 27 | #endif 28 | 29 | int QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_DataDirectory)(); 30 | int QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_DataDirectory)() 31 | { 32 | return 1; 33 | } 34 | 35 | int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_DataDirectory)(); 36 | int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_DataDirectory)() 37 | { 38 | return 1; 39 | } 40 | 41 | namespace { 42 | struct initializer { 43 | initializer() { QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_DataDirectory)(); } 44 | ~initializer() { QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_DataDirectory)(); } 45 | } dummy; 46 | } 47 | -------------------------------------------------------------------------------- /QtGuiPE/GeneratedFiles/qrc_QtGuiPE_ExceptTable.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Resource object code 3 | ** 4 | ** Created by: The Resource Compiler for Qt version 5.8.0 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #ifdef QT_NAMESPACE 10 | # define QT_RCC_PREPEND_NAMESPACE(name) ::QT_NAMESPACE::name 11 | # define QT_RCC_MANGLE_NAMESPACE0(x) x 12 | # define QT_RCC_MANGLE_NAMESPACE1(a, b) a##_##b 13 | # define QT_RCC_MANGLE_NAMESPACE2(a, b) QT_RCC_MANGLE_NAMESPACE1(a,b) 14 | # define QT_RCC_MANGLE_NAMESPACE(name) QT_RCC_MANGLE_NAMESPACE2( \ 15 | QT_RCC_MANGLE_NAMESPACE0(name), QT_RCC_MANGLE_NAMESPACE0(QT_NAMESPACE)) 16 | #else 17 | # define QT_RCC_PREPEND_NAMESPACE(name) name 18 | # define QT_RCC_MANGLE_NAMESPACE(name) name 19 | #endif 20 | 21 | #ifdef QT_NAMESPACE 22 | namespace QT_NAMESPACE { 23 | #endif 24 | 25 | #ifdef QT_NAMESPACE 26 | } 27 | #endif 28 | 29 | int QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_ExceptTable)(); 30 | int QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_ExceptTable)() 31 | { 32 | return 1; 33 | } 34 | 35 | int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_ExceptTable)(); 36 | int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_ExceptTable)() 37 | { 38 | return 1; 39 | } 40 | 41 | namespace { 42 | struct initializer { 43 | initializer() { QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_ExceptTable)(); } 44 | ~initializer() { QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_ExceptTable)(); } 45 | } dummy; 46 | } 47 | -------------------------------------------------------------------------------- /QtGuiPE/GeneratedFiles/qrc_QtGuiPE_ExportTable.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Resource object code 3 | ** 4 | ** Created by: The Resource Compiler for Qt version 5.8.0 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #ifdef QT_NAMESPACE 10 | # define QT_RCC_PREPEND_NAMESPACE(name) ::QT_NAMESPACE::name 11 | # define QT_RCC_MANGLE_NAMESPACE0(x) x 12 | # define QT_RCC_MANGLE_NAMESPACE1(a, b) a##_##b 13 | # define QT_RCC_MANGLE_NAMESPACE2(a, b) QT_RCC_MANGLE_NAMESPACE1(a,b) 14 | # define QT_RCC_MANGLE_NAMESPACE(name) QT_RCC_MANGLE_NAMESPACE2( \ 15 | QT_RCC_MANGLE_NAMESPACE0(name), QT_RCC_MANGLE_NAMESPACE0(QT_NAMESPACE)) 16 | #else 17 | # define QT_RCC_PREPEND_NAMESPACE(name) name 18 | # define QT_RCC_MANGLE_NAMESPACE(name) name 19 | #endif 20 | 21 | #ifdef QT_NAMESPACE 22 | namespace QT_NAMESPACE { 23 | #endif 24 | 25 | #ifdef QT_NAMESPACE 26 | } 27 | #endif 28 | 29 | int QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_ExportTable)(); 30 | int QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_ExportTable)() 31 | { 32 | return 1; 33 | } 34 | 35 | int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_ExportTable)(); 36 | int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_ExportTable)() 37 | { 38 | return 1; 39 | } 40 | 41 | namespace { 42 | struct initializer { 43 | initializer() { QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_ExportTable)(); } 44 | ~initializer() { QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_ExportTable)(); } 45 | } dummy; 46 | } 47 | -------------------------------------------------------------------------------- /QtGuiPE/GeneratedFiles/qrc_QtGuiPE_HexMode.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Resource object code 3 | ** 4 | ** Created by: The Resource Compiler for Qt version 5.8.0 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #ifdef QT_NAMESPACE 10 | # define QT_RCC_PREPEND_NAMESPACE(name) ::QT_NAMESPACE::name 11 | # define QT_RCC_MANGLE_NAMESPACE0(x) x 12 | # define QT_RCC_MANGLE_NAMESPACE1(a, b) a##_##b 13 | # define QT_RCC_MANGLE_NAMESPACE2(a, b) QT_RCC_MANGLE_NAMESPACE1(a,b) 14 | # define QT_RCC_MANGLE_NAMESPACE(name) QT_RCC_MANGLE_NAMESPACE2( \ 15 | QT_RCC_MANGLE_NAMESPACE0(name), QT_RCC_MANGLE_NAMESPACE0(QT_NAMESPACE)) 16 | #else 17 | # define QT_RCC_PREPEND_NAMESPACE(name) name 18 | # define QT_RCC_MANGLE_NAMESPACE(name) name 19 | #endif 20 | 21 | #ifdef QT_NAMESPACE 22 | namespace QT_NAMESPACE { 23 | #endif 24 | 25 | #ifdef QT_NAMESPACE 26 | } 27 | #endif 28 | 29 | int QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_HexMode)(); 30 | int QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_HexMode)() 31 | { 32 | return 1; 33 | } 34 | 35 | int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_HexMode)(); 36 | int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_HexMode)() 37 | { 38 | return 1; 39 | } 40 | 41 | namespace { 42 | struct initializer { 43 | initializer() { QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_HexMode)(); } 44 | ~initializer() { QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_HexMode)(); } 45 | } dummy; 46 | } 47 | -------------------------------------------------------------------------------- /QtGuiPE/GeneratedFiles/qrc_QtGuiPE_ImportTable.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Resource object code 3 | ** 4 | ** Created by: The Resource Compiler for Qt version 5.8.0 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #ifdef QT_NAMESPACE 10 | # define QT_RCC_PREPEND_NAMESPACE(name) ::QT_NAMESPACE::name 11 | # define QT_RCC_MANGLE_NAMESPACE0(x) x 12 | # define QT_RCC_MANGLE_NAMESPACE1(a, b) a##_##b 13 | # define QT_RCC_MANGLE_NAMESPACE2(a, b) QT_RCC_MANGLE_NAMESPACE1(a,b) 14 | # define QT_RCC_MANGLE_NAMESPACE(name) QT_RCC_MANGLE_NAMESPACE2( \ 15 | QT_RCC_MANGLE_NAMESPACE0(name), QT_RCC_MANGLE_NAMESPACE0(QT_NAMESPACE)) 16 | #else 17 | # define QT_RCC_PREPEND_NAMESPACE(name) name 18 | # define QT_RCC_MANGLE_NAMESPACE(name) name 19 | #endif 20 | 21 | #ifdef QT_NAMESPACE 22 | namespace QT_NAMESPACE { 23 | #endif 24 | 25 | #ifdef QT_NAMESPACE 26 | } 27 | #endif 28 | 29 | int QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_ImportTable)(); 30 | int QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_ImportTable)() 31 | { 32 | return 1; 33 | } 34 | 35 | int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_ImportTable)(); 36 | int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_ImportTable)() 37 | { 38 | return 1; 39 | } 40 | 41 | namespace { 42 | struct initializer { 43 | initializer() { QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_ImportTable)(); } 44 | ~initializer() { QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_ImportTable)(); } 45 | } dummy; 46 | } 47 | -------------------------------------------------------------------------------- /QtGuiPE/GeneratedFiles/qrc_QtGuiPE_Sections.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Resource object code 3 | ** 4 | ** Created by: The Resource Compiler for Qt version 5.8.0 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #ifdef QT_NAMESPACE 10 | # define QT_RCC_PREPEND_NAMESPACE(name) ::QT_NAMESPACE::name 11 | # define QT_RCC_MANGLE_NAMESPACE0(x) x 12 | # define QT_RCC_MANGLE_NAMESPACE1(a, b) a##_##b 13 | # define QT_RCC_MANGLE_NAMESPACE2(a, b) QT_RCC_MANGLE_NAMESPACE1(a,b) 14 | # define QT_RCC_MANGLE_NAMESPACE(name) QT_RCC_MANGLE_NAMESPACE2( \ 15 | QT_RCC_MANGLE_NAMESPACE0(name), QT_RCC_MANGLE_NAMESPACE0(QT_NAMESPACE)) 16 | #else 17 | # define QT_RCC_PREPEND_NAMESPACE(name) name 18 | # define QT_RCC_MANGLE_NAMESPACE(name) name 19 | #endif 20 | 21 | #ifdef QT_NAMESPACE 22 | namespace QT_NAMESPACE { 23 | #endif 24 | 25 | #ifdef QT_NAMESPACE 26 | } 27 | #endif 28 | 29 | int QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_Sections)(); 30 | int QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_Sections)() 31 | { 32 | return 1; 33 | } 34 | 35 | int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_Sections)(); 36 | int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_Sections)() 37 | { 38 | return 1; 39 | } 40 | 41 | namespace { 42 | struct initializer { 43 | initializer() { QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_Sections)(); } 44 | ~initializer() { QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_Sections)(); } 45 | } dummy; 46 | } 47 | -------------------------------------------------------------------------------- /QtGuiPE/GeneratedFiles/qrc_QtGuiPE_Thunks.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Resource object code 3 | ** 4 | ** Created by: The Resource Compiler for Qt version 5.8.0 5 | ** 6 | ** WARNING! All changes made in this file will be lost! 7 | *****************************************************************************/ 8 | 9 | #ifdef QT_NAMESPACE 10 | # define QT_RCC_PREPEND_NAMESPACE(name) ::QT_NAMESPACE::name 11 | # define QT_RCC_MANGLE_NAMESPACE0(x) x 12 | # define QT_RCC_MANGLE_NAMESPACE1(a, b) a##_##b 13 | # define QT_RCC_MANGLE_NAMESPACE2(a, b) QT_RCC_MANGLE_NAMESPACE1(a,b) 14 | # define QT_RCC_MANGLE_NAMESPACE(name) QT_RCC_MANGLE_NAMESPACE2( \ 15 | QT_RCC_MANGLE_NAMESPACE0(name), QT_RCC_MANGLE_NAMESPACE0(QT_NAMESPACE)) 16 | #else 17 | # define QT_RCC_PREPEND_NAMESPACE(name) name 18 | # define QT_RCC_MANGLE_NAMESPACE(name) name 19 | #endif 20 | 21 | #ifdef QT_NAMESPACE 22 | namespace QT_NAMESPACE { 23 | #endif 24 | 25 | #ifdef QT_NAMESPACE 26 | } 27 | #endif 28 | 29 | int QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_Thunks)(); 30 | int QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_Thunks)() 31 | { 32 | return 1; 33 | } 34 | 35 | int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_Thunks)(); 36 | int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_Thunks)() 37 | { 38 | return 1; 39 | } 40 | 41 | namespace { 42 | struct initializer { 43 | initializer() { QT_RCC_MANGLE_NAMESPACE(qInitResources_QtGuiPE_Thunks)(); } 44 | ~initializer() { QT_RCC_MANGLE_NAMESPACE(qCleanupResources_QtGuiPE_Thunks)(); } 45 | } dummy; 46 | } 47 | -------------------------------------------------------------------------------- /QtGuiPE/GeneratedFiles/ui_QtGuiPE_Characteristics.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | ** Form generated from reading UI file 'QtGuiPE_Characteristics.ui' 3 | ** 4 | ** Created by: Qt User Interface Compiler version 5.8.0 5 | ** 6 | ** WARNING! All changes made in this file will be lost when recompiling UI file! 7 | ********************************************************************************/ 8 | 9 | #ifndef UI_QTGUIPE_CHARACTERISTICS_H 10 | #define UI_QTGUIPE_CHARACTERISTICS_H 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | 22 | QT_BEGIN_NAMESPACE 23 | 24 | class Ui_QtGuiPE_CharacteristicsClass 25 | { 26 | public: 27 | QFrame *frame; 28 | QWidget *gridLayoutWidget_6; 29 | QGridLayout *gridLayout_6; 30 | QCheckBox *checkBox_9; 31 | QCheckBox *checkBox_10; 32 | QCheckBox *checkBox_12; 33 | QCheckBox *checkBox_15; 34 | QCheckBox *checkBox_11; 35 | QCheckBox *checkBox_13; 36 | QCheckBox *checkBox_14; 37 | QWidget *gridLayoutWidget_5; 38 | QGridLayout *gridLayout_5; 39 | QCheckBox *checkBox_4; 40 | QCheckBox *checkBox_7; 41 | QCheckBox *checkBox_8; 42 | QCheckBox *checkBox_3; 43 | QCheckBox *checkBox_5; 44 | QCheckBox *checkBox_2; 45 | QCheckBox *checkBox_6; 46 | QCheckBox *checkBox; 47 | 48 | void setupUi(QWidget *QtGuiPE_CharacteristicsClass) 49 | { 50 | if (QtGuiPE_CharacteristicsClass->objectName().isEmpty()) 51 | QtGuiPE_CharacteristicsClass->setObjectName(QStringLiteral("QtGuiPE_CharacteristicsClass")); 52 | QtGuiPE_CharacteristicsClass->resize(591, 219); 53 | frame = new QFrame(QtGuiPE_CharacteristicsClass); 54 | frame->setObjectName(QStringLiteral("frame")); 55 | frame->setGeometry(QRect(10, 9, 571, 201)); 56 | frame->setFrameShape(QFrame::WinPanel); 57 | frame->setFrameShadow(QFrame::Raised); 58 | gridLayoutWidget_6 = new QWidget(frame); 59 | gridLayoutWidget_6->setObjectName(QStringLiteral("gridLayoutWidget_6")); 60 | gridLayoutWidget_6->setGeometry(QRect(290, 10, 261, 173)); 61 | gridLayout_6 = new QGridLayout(gridLayoutWidget_6); 62 | gridLayout_6->setSpacing(6); 63 | gridLayout_6->setContentsMargins(11, 11, 11, 11); 64 | gridLayout_6->setObjectName(QStringLiteral("gridLayout_6")); 65 | gridLayout_6->setContentsMargins(0, 0, 0, 0); 66 | checkBox_9 = new QCheckBox(gridLayoutWidget_6); 67 | checkBox_9->setObjectName(QStringLiteral("checkBox_9")); 68 | checkBox_9->setEnabled(false); 69 | checkBox_9->setCheckable(true); 70 | checkBox_9->setChecked(false); 71 | checkBox_9->setAutoExclusive(false); 72 | checkBox_9->setTristate(false); 73 | 74 | gridLayout_6->addWidget(checkBox_9, 0, 0, 1, 1); 75 | 76 | checkBox_10 = new QCheckBox(gridLayoutWidget_6); 77 | checkBox_10->setObjectName(QStringLiteral("checkBox_10")); 78 | checkBox_10->setEnabled(false); 79 | checkBox_10->setCheckable(true); 80 | checkBox_10->setChecked(false); 81 | checkBox_10->setAutoExclusive(false); 82 | checkBox_10->setTristate(false); 83 | 84 | gridLayout_6->addWidget(checkBox_10, 1, 0, 1, 1); 85 | 86 | checkBox_12 = new QCheckBox(gridLayoutWidget_6); 87 | checkBox_12->setObjectName(QStringLiteral("checkBox_12")); 88 | checkBox_12->setEnabled(false); 89 | checkBox_12->setCheckable(true); 90 | checkBox_12->setChecked(false); 91 | checkBox_12->setAutoExclusive(false); 92 | checkBox_12->setTristate(false); 93 | 94 | gridLayout_6->addWidget(checkBox_12, 3, 0, 1, 1); 95 | 96 | checkBox_15 = new QCheckBox(gridLayoutWidget_6); 97 | checkBox_15->setObjectName(QStringLiteral("checkBox_15")); 98 | checkBox_15->setEnabled(false); 99 | checkBox_15->setCheckable(true); 100 | checkBox_15->setChecked(false); 101 | checkBox_15->setAutoExclusive(false); 102 | checkBox_15->setTristate(false); 103 | 104 | gridLayout_6->addWidget(checkBox_15, 6, 0, 1, 1); 105 | 106 | checkBox_11 = new QCheckBox(gridLayoutWidget_6); 107 | checkBox_11->setObjectName(QStringLiteral("checkBox_11")); 108 | checkBox_11->setEnabled(false); 109 | checkBox_11->setCheckable(true); 110 | checkBox_11->setChecked(false); 111 | checkBox_11->setAutoExclusive(false); 112 | checkBox_11->setTristate(false); 113 | 114 | gridLayout_6->addWidget(checkBox_11, 2, 0, 1, 1); 115 | 116 | checkBox_13 = new QCheckBox(gridLayoutWidget_6); 117 | checkBox_13->setObjectName(QStringLiteral("checkBox_13")); 118 | checkBox_13->setEnabled(false); 119 | checkBox_13->setCheckable(true); 120 | checkBox_13->setChecked(false); 121 | checkBox_13->setAutoExclusive(false); 122 | checkBox_13->setTristate(false); 123 | 124 | gridLayout_6->addWidget(checkBox_13, 4, 0, 1, 1); 125 | 126 | checkBox_14 = new QCheckBox(gridLayoutWidget_6); 127 | checkBox_14->setObjectName(QStringLiteral("checkBox_14")); 128 | checkBox_14->setEnabled(false); 129 | checkBox_14->setCheckable(true); 130 | checkBox_14->setChecked(false); 131 | checkBox_14->setAutoExclusive(false); 132 | checkBox_14->setTristate(false); 133 | 134 | gridLayout_6->addWidget(checkBox_14, 5, 0, 1, 1); 135 | 136 | gridLayoutWidget_5 = new QWidget(frame); 137 | gridLayoutWidget_5->setObjectName(QStringLiteral("gridLayoutWidget_5")); 138 | gridLayoutWidget_5->setGeometry(QRect(20, 10, 261, 181)); 139 | gridLayout_5 = new QGridLayout(gridLayoutWidget_5); 140 | gridLayout_5->setSpacing(6); 141 | gridLayout_5->setContentsMargins(11, 11, 11, 11); 142 | gridLayout_5->setObjectName(QStringLiteral("gridLayout_5")); 143 | gridLayout_5->setContentsMargins(0, 0, 0, 0); 144 | checkBox_4 = new QCheckBox(gridLayoutWidget_5); 145 | checkBox_4->setObjectName(QStringLiteral("checkBox_4")); 146 | checkBox_4->setEnabled(false); 147 | checkBox_4->setCheckable(true); 148 | checkBox_4->setChecked(false); 149 | checkBox_4->setAutoExclusive(false); 150 | checkBox_4->setTristate(false); 151 | 152 | gridLayout_5->addWidget(checkBox_4, 3, 0, 1, 1); 153 | 154 | checkBox_7 = new QCheckBox(gridLayoutWidget_5); 155 | checkBox_7->setObjectName(QStringLiteral("checkBox_7")); 156 | checkBox_7->setEnabled(false); 157 | checkBox_7->setCheckable(true); 158 | checkBox_7->setChecked(false); 159 | checkBox_7->setAutoExclusive(false); 160 | checkBox_7->setTristate(false); 161 | 162 | gridLayout_5->addWidget(checkBox_7, 6, 0, 1, 1); 163 | 164 | checkBox_8 = new QCheckBox(gridLayoutWidget_5); 165 | checkBox_8->setObjectName(QStringLiteral("checkBox_8")); 166 | checkBox_8->setEnabled(false); 167 | checkBox_8->setCheckable(true); 168 | checkBox_8->setChecked(false); 169 | checkBox_8->setAutoExclusive(false); 170 | checkBox_8->setTristate(false); 171 | 172 | gridLayout_5->addWidget(checkBox_8, 7, 0, 1, 1); 173 | 174 | checkBox_3 = new QCheckBox(gridLayoutWidget_5); 175 | checkBox_3->setObjectName(QStringLiteral("checkBox_3")); 176 | checkBox_3->setEnabled(false); 177 | checkBox_3->setCheckable(true); 178 | checkBox_3->setChecked(false); 179 | checkBox_3->setAutoExclusive(false); 180 | checkBox_3->setTristate(false); 181 | 182 | gridLayout_5->addWidget(checkBox_3, 2, 0, 1, 1); 183 | 184 | checkBox_5 = new QCheckBox(gridLayoutWidget_5); 185 | checkBox_5->setObjectName(QStringLiteral("checkBox_5")); 186 | checkBox_5->setEnabled(false); 187 | checkBox_5->setCheckable(true); 188 | checkBox_5->setChecked(false); 189 | checkBox_5->setAutoExclusive(false); 190 | checkBox_5->setTristate(false); 191 | 192 | gridLayout_5->addWidget(checkBox_5, 4, 0, 1, 1); 193 | 194 | checkBox_2 = new QCheckBox(gridLayoutWidget_5); 195 | checkBox_2->setObjectName(QStringLiteral("checkBox_2")); 196 | checkBox_2->setEnabled(false); 197 | checkBox_2->setCheckable(true); 198 | checkBox_2->setChecked(false); 199 | checkBox_2->setAutoExclusive(false); 200 | checkBox_2->setTristate(false); 201 | 202 | gridLayout_5->addWidget(checkBox_2, 1, 0, 1, 1); 203 | 204 | checkBox_6 = new QCheckBox(gridLayoutWidget_5); 205 | checkBox_6->setObjectName(QStringLiteral("checkBox_6")); 206 | checkBox_6->setEnabled(false); 207 | checkBox_6->setCheckable(true); 208 | checkBox_6->setChecked(false); 209 | checkBox_6->setAutoExclusive(false); 210 | checkBox_6->setTristate(false); 211 | 212 | gridLayout_5->addWidget(checkBox_6, 5, 0, 1, 1); 213 | 214 | checkBox = new QCheckBox(gridLayoutWidget_5); 215 | checkBox->setObjectName(QStringLiteral("checkBox")); 216 | checkBox->setEnabled(false); 217 | checkBox->setCheckable(true); 218 | checkBox->setChecked(false); 219 | checkBox->setAutoExclusive(false); 220 | checkBox->setTristate(false); 221 | 222 | gridLayout_5->addWidget(checkBox, 0, 0, 1, 1); 223 | 224 | 225 | retranslateUi(QtGuiPE_CharacteristicsClass); 226 | 227 | QMetaObject::connectSlotsByName(QtGuiPE_CharacteristicsClass); 228 | } // setupUi 229 | 230 | void retranslateUi(QWidget *QtGuiPE_CharacteristicsClass) 231 | { 232 | QtGuiPE_CharacteristicsClass->setWindowTitle(QApplication::translate("QtGuiPE_CharacteristicsClass", "QtGuiPE_Characteristics", Q_NULLPTR)); 233 | checkBox_9->setText(QApplication::translate("QtGuiPE_CharacteristicsClass", "Debugging information", Q_NULLPTR)); 234 | checkBox_10->setText(QApplication::translate("QtGuiPE_CharacteristicsClass", "Run from swap (removable)", Q_NULLPTR)); 235 | checkBox_12->setText(QApplication::translate("QtGuiPE_CharacteristicsClass", "System File", Q_NULLPTR)); 236 | checkBox_15->setText(QApplication::translate("QtGuiPE_CharacteristicsClass", "Bytes of machine word are reversed", Q_NULLPTR)); 237 | checkBox_11->setText(QApplication::translate("QtGuiPE_CharacteristicsClass", "Run from swap (NET)", Q_NULLPTR)); 238 | checkBox_13->setText(QApplication::translate("QtGuiPE_CharacteristicsClass", "File is a DLL", Q_NULLPTR)); 239 | checkBox_14->setText(QApplication::translate("QtGuiPE_CharacteristicsClass", "File should only be run on a UP machine", Q_NULLPTR)); 240 | checkBox_4->setText(QApplication::translate("QtGuiPE_CharacteristicsClass", "Local symbols stripped from file", Q_NULLPTR)); 241 | checkBox_7->setText(QApplication::translate("QtGuiPE_CharacteristicsClass", "Bytes of machine word are reversed", Q_NULLPTR)); 242 | checkBox_8->setText(QApplication::translate("QtGuiPE_CharacteristicsClass", "32 bit word machine", Q_NULLPTR)); 243 | checkBox_3->setText(QApplication::translate("QtGuiPE_CharacteristicsClass", "Line nunbers stripped from file", Q_NULLPTR)); 244 | checkBox_5->setText(QApplication::translate("QtGuiPE_CharacteristicsClass", "Aggressively trim working set", Q_NULLPTR)); 245 | checkBox_2->setText(QApplication::translate("QtGuiPE_CharacteristicsClass", "File is executable", Q_NULLPTR)); 246 | checkBox_6->setText(QApplication::translate("QtGuiPE_CharacteristicsClass", "Large addresses", Q_NULLPTR)); 247 | checkBox->setText(QApplication::translate("QtGuiPE_CharacteristicsClass", "Relocation info stripped from file", Q_NULLPTR)); 248 | } // retranslateUi 249 | 250 | }; 251 | 252 | namespace Ui { 253 | class QtGuiPE_CharacteristicsClass: public Ui_QtGuiPE_CharacteristicsClass {}; 254 | } // namespace Ui 255 | 256 | QT_END_NAMESPACE 257 | 258 | #endif // UI_QTGUIPE_CHARACTERISTICS_H 259 | -------------------------------------------------------------------------------- /QtGuiPE/GeneratedFiles/ui_QtGuiPE_DLLCharacteristics.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | ** Form generated from reading UI file 'QtGuiPE_DLLCharacteristics.ui' 3 | ** 4 | ** Created by: Qt User Interface Compiler version 5.8.0 5 | ** 6 | ** WARNING! All changes made in this file will be lost when recompiling UI file! 7 | ********************************************************************************/ 8 | 9 | #ifndef UI_QTGUIPE_DLLCHARACTERISTICS_H 10 | #define UI_QTGUIPE_DLLCHARACTERISTICS_H 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | 21 | QT_BEGIN_NAMESPACE 22 | 23 | class Ui_QtGuiPE_DLLCharacteristicsClass 24 | { 25 | public: 26 | QFrame *frame; 27 | QCheckBox *checkBox_8; 28 | QCheckBox *checkBox_4; 29 | QCheckBox *checkBox_3; 30 | QCheckBox *checkBox_6; 31 | QCheckBox *checkBox_5; 32 | QCheckBox *checkBox_2; 33 | QCheckBox *checkBox_7; 34 | QCheckBox *checkBox; 35 | QCheckBox *checkBox_9; 36 | QCheckBox *checkBox_15; 37 | QCheckBox *checkBox_13; 38 | QCheckBox *checkBox_12; 39 | QCheckBox *checkBox_14; 40 | QCheckBox *checkBox_10; 41 | QCheckBox *checkBox_11; 42 | 43 | void setupUi(QWidget *QtGuiPE_DLLCharacteristicsClass) 44 | { 45 | if (QtGuiPE_DLLCharacteristicsClass->objectName().isEmpty()) 46 | QtGuiPE_DLLCharacteristicsClass->setObjectName(QStringLiteral("QtGuiPE_DLLCharacteristicsClass")); 47 | QtGuiPE_DLLCharacteristicsClass->resize(299, 199); 48 | frame = new QFrame(QtGuiPE_DLLCharacteristicsClass); 49 | frame->setObjectName(QStringLiteral("frame")); 50 | frame->setGeometry(QRect(10, 10, 281, 181)); 51 | frame->setFrameShape(QFrame::WinPanel); 52 | frame->setFrameShadow(QFrame::Raised); 53 | checkBox_8 = new QCheckBox(frame); 54 | checkBox_8->setObjectName(QStringLiteral("checkBox_8")); 55 | checkBox_8->setEnabled(false); 56 | checkBox_8->setGeometry(QRect(10, 150, 111, 21)); 57 | checkBox_4 = new QCheckBox(frame); 58 | checkBox_4->setObjectName(QStringLiteral("checkBox_4")); 59 | checkBox_4->setEnabled(false); 60 | checkBox_4->setGeometry(QRect(10, 70, 121, 21)); 61 | checkBox_3 = new QCheckBox(frame); 62 | checkBox_3->setObjectName(QStringLiteral("checkBox_3")); 63 | checkBox_3->setEnabled(false); 64 | checkBox_3->setGeometry(QRect(10, 50, 121, 21)); 65 | checkBox_6 = new QCheckBox(frame); 66 | checkBox_6->setObjectName(QStringLiteral("checkBox_6")); 67 | checkBox_6->setEnabled(false); 68 | checkBox_6->setGeometry(QRect(10, 110, 111, 21)); 69 | checkBox_5 = new QCheckBox(frame); 70 | checkBox_5->setObjectName(QStringLiteral("checkBox_5")); 71 | checkBox_5->setEnabled(false); 72 | checkBox_5->setGeometry(QRect(10, 90, 111, 21)); 73 | checkBox_2 = new QCheckBox(frame); 74 | checkBox_2->setObjectName(QStringLiteral("checkBox_2")); 75 | checkBox_2->setEnabled(false); 76 | checkBox_2->setGeometry(QRect(10, 30, 121, 21)); 77 | checkBox_7 = new QCheckBox(frame); 78 | checkBox_7->setObjectName(QStringLiteral("checkBox_7")); 79 | checkBox_7->setEnabled(false); 80 | checkBox_7->setGeometry(QRect(10, 130, 111, 21)); 81 | checkBox = new QCheckBox(frame); 82 | checkBox->setObjectName(QStringLiteral("checkBox")); 83 | checkBox->setEnabled(false); 84 | checkBox->setGeometry(QRect(10, 10, 121, 21)); 85 | checkBox_9 = new QCheckBox(frame); 86 | checkBox_9->setObjectName(QStringLiteral("checkBox_9")); 87 | checkBox_9->setEnabled(false); 88 | checkBox_9->setGeometry(QRect(140, 10, 121, 21)); 89 | checkBox_15 = new QCheckBox(frame); 90 | checkBox_15->setObjectName(QStringLiteral("checkBox_15")); 91 | checkBox_15->setEnabled(false); 92 | checkBox_15->setGeometry(QRect(140, 130, 131, 21)); 93 | checkBox_13 = new QCheckBox(frame); 94 | checkBox_13->setObjectName(QStringLiteral("checkBox_13")); 95 | checkBox_13->setEnabled(false); 96 | checkBox_13->setGeometry(QRect(140, 90, 121, 21)); 97 | checkBox_12 = new QCheckBox(frame); 98 | checkBox_12->setObjectName(QStringLiteral("checkBox_12")); 99 | checkBox_12->setEnabled(false); 100 | checkBox_12->setGeometry(QRect(140, 70, 121, 21)); 101 | checkBox_14 = new QCheckBox(frame); 102 | checkBox_14->setObjectName(QStringLiteral("checkBox_14")); 103 | checkBox_14->setEnabled(false); 104 | checkBox_14->setGeometry(QRect(140, 110, 131, 21)); 105 | checkBox_10 = new QCheckBox(frame); 106 | checkBox_10->setObjectName(QStringLiteral("checkBox_10")); 107 | checkBox_10->setEnabled(false); 108 | checkBox_10->setGeometry(QRect(140, 30, 121, 21)); 109 | checkBox_11 = new QCheckBox(frame); 110 | checkBox_11->setObjectName(QStringLiteral("checkBox_11")); 111 | checkBox_11->setEnabled(false); 112 | checkBox_11->setGeometry(QRect(140, 50, 121, 21)); 113 | 114 | retranslateUi(QtGuiPE_DLLCharacteristicsClass); 115 | 116 | QMetaObject::connectSlotsByName(QtGuiPE_DLLCharacteristicsClass); 117 | } // setupUi 118 | 119 | void retranslateUi(QWidget *QtGuiPE_DLLCharacteristicsClass) 120 | { 121 | QtGuiPE_DLLCharacteristicsClass->setWindowTitle(QApplication::translate("QtGuiPE_DLLCharacteristicsClass", "QtGuiPE_DLLCharacteristics", Q_NULLPTR)); 122 | checkBox_8->setText(QApplication::translate("QtGuiPE_DLLCharacteristicsClass", "DLL NX", Q_NULLPTR)); 123 | checkBox_4->setText(QApplication::translate("QtGuiPE_DLLCharacteristicsClass", "DLL THREAD_TERM", Q_NULLPTR)); 124 | checkBox_3->setText(QApplication::translate("QtGuiPE_DLLCharacteristicsClass", "DLL THREAD_INIT", Q_NULLPTR)); 125 | checkBox_6->setText(QApplication::translate("QtGuiPE_DLLCharacteristicsClass", "DLL IS_MOVE", Q_NULLPTR)); 126 | checkBox_5->setText(QApplication::translate("QtGuiPE_DLLCharacteristicsClass", "DLL 64BIT_VA", Q_NULLPTR)); 127 | checkBox_2->setText(QApplication::translate("QtGuiPE_DLLCharacteristicsClass", "DLL PROCESS_TERM", Q_NULLPTR)); 128 | checkBox_7->setText(QApplication::translate("QtGuiPE_DLLCharacteristicsClass", "DLL FORCE", Q_NULLPTR)); 129 | checkBox->setText(QApplication::translate("QtGuiPE_DLLCharacteristicsClass", "DLL PROCESS_INIT", Q_NULLPTR)); 130 | checkBox_9->setText(QApplication::translate("QtGuiPE_DLLCharacteristicsClass", "DLL NO_ISOLATION", Q_NULLPTR)); 131 | checkBox_15->setText(QApplication::translate("QtGuiPE_DLLCharacteristicsClass", "DLL TERMINAL SERVER", Q_NULLPTR)); 132 | checkBox_13->setText(QApplication::translate("QtGuiPE_DLLCharacteristicsClass", "DLL WDM DRV", Q_NULLPTR)); 133 | checkBox_12->setText(QApplication::translate("QtGuiPE_DLLCharacteristicsClass", "DLL APPLICATION", Q_NULLPTR)); 134 | checkBox_14->setText(QApplication::translate("QtGuiPE_DLLCharacteristicsClass", "DLL CONTROL GUARD", Q_NULLPTR)); 135 | checkBox_10->setText(QApplication::translate("QtGuiPE_DLLCharacteristicsClass", "DLL NO_SEHANDLER", Q_NULLPTR)); 136 | checkBox_11->setText(QApplication::translate("QtGuiPE_DLLCharacteristicsClass", "DLL NO_BIND", Q_NULLPTR)); 137 | } // retranslateUi 138 | 139 | }; 140 | 141 | namespace Ui { 142 | class QtGuiPE_DLLCharacteristicsClass: public Ui_QtGuiPE_DLLCharacteristicsClass {}; 143 | } // namespace Ui 144 | 145 | QT_END_NAMESPACE 146 | 147 | #endif // UI_QTGUIPE_DLLCHARACTERISTICS_H 148 | -------------------------------------------------------------------------------- /QtGuiPE/GeneratedFiles/ui_QtGuiPE_DataDirectory.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | ** Form generated from reading UI file 'QtGuiPE_DataDirectory.ui' 3 | ** 4 | ** Created by: Qt User Interface Compiler version 5.8.0 5 | ** 6 | ** WARNING! All changes made in this file will be lost when recompiling UI file! 7 | ********************************************************************************/ 8 | 9 | #ifndef UI_QTGUIPE_DATADIRECTORY_H 10 | #define UI_QTGUIPE_DATADIRECTORY_H 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | 22 | QT_BEGIN_NAMESPACE 23 | 24 | class Ui_QtGuiPE_DataDirectoryClass 25 | { 26 | public: 27 | QFrame *frame; 28 | QFrame *frame_2; 29 | QLabel *label; 30 | QTableWidget *tableWidget; 31 | QLabel *label_2; 32 | 33 | void setupUi(QWidget *QtGuiPE_DataDirectoryClass) 34 | { 35 | if (QtGuiPE_DataDirectoryClass->objectName().isEmpty()) 36 | QtGuiPE_DataDirectoryClass->setObjectName(QStringLiteral("QtGuiPE_DataDirectoryClass")); 37 | QtGuiPE_DataDirectoryClass->resize(490, 519); 38 | QtGuiPE_DataDirectoryClass->setMouseTracking(true); 39 | frame = new QFrame(QtGuiPE_DataDirectoryClass); 40 | frame->setObjectName(QStringLiteral("frame")); 41 | frame->setGeometry(QRect(10, 10, 471, 501)); 42 | frame->setFrameShape(QFrame::WinPanel); 43 | frame->setFrameShadow(QFrame::Raised); 44 | frame_2 = new QFrame(frame); 45 | frame_2->setObjectName(QStringLiteral("frame_2")); 46 | frame_2->setGeometry(QRect(10, 10, 451, 481)); 47 | frame_2->setFrameShape(QFrame::Box); 48 | frame_2->setFrameShadow(QFrame::Raised); 49 | label = new QLabel(frame_2); 50 | label->setObjectName(QStringLiteral("label")); 51 | label->setGeometry(QRect(10, 0, 131, 21)); 52 | QFont font; 53 | font.setFamily(QStringLiteral("Lucida Console")); 54 | font.setPointSize(11); 55 | font.setUnderline(true); 56 | label->setFont(font); 57 | tableWidget = new QTableWidget(frame_2); 58 | if (tableWidget->columnCount() < 2) 59 | tableWidget->setColumnCount(2); 60 | QTableWidgetItem *__qtablewidgetitem = new QTableWidgetItem(); 61 | tableWidget->setHorizontalHeaderItem(0, __qtablewidgetitem); 62 | QTableWidgetItem *__qtablewidgetitem1 = new QTableWidgetItem(); 63 | tableWidget->setHorizontalHeaderItem(1, __qtablewidgetitem1); 64 | if (tableWidget->rowCount() < 16) 65 | tableWidget->setRowCount(16); 66 | QTableWidgetItem *__qtablewidgetitem2 = new QTableWidgetItem(); 67 | tableWidget->setVerticalHeaderItem(0, __qtablewidgetitem2); 68 | QTableWidgetItem *__qtablewidgetitem3 = new QTableWidgetItem(); 69 | tableWidget->setVerticalHeaderItem(1, __qtablewidgetitem3); 70 | QTableWidgetItem *__qtablewidgetitem4 = new QTableWidgetItem(); 71 | tableWidget->setVerticalHeaderItem(2, __qtablewidgetitem4); 72 | QTableWidgetItem *__qtablewidgetitem5 = new QTableWidgetItem(); 73 | tableWidget->setVerticalHeaderItem(3, __qtablewidgetitem5); 74 | QTableWidgetItem *__qtablewidgetitem6 = new QTableWidgetItem(); 75 | tableWidget->setVerticalHeaderItem(4, __qtablewidgetitem6); 76 | QTableWidgetItem *__qtablewidgetitem7 = new QTableWidgetItem(); 77 | tableWidget->setVerticalHeaderItem(5, __qtablewidgetitem7); 78 | QTableWidgetItem *__qtablewidgetitem8 = new QTableWidgetItem(); 79 | tableWidget->setVerticalHeaderItem(6, __qtablewidgetitem8); 80 | QTableWidgetItem *__qtablewidgetitem9 = new QTableWidgetItem(); 81 | tableWidget->setVerticalHeaderItem(7, __qtablewidgetitem9); 82 | QTableWidgetItem *__qtablewidgetitem10 = new QTableWidgetItem(); 83 | tableWidget->setVerticalHeaderItem(8, __qtablewidgetitem10); 84 | QTableWidgetItem *__qtablewidgetitem11 = new QTableWidgetItem(); 85 | tableWidget->setVerticalHeaderItem(9, __qtablewidgetitem11); 86 | QTableWidgetItem *__qtablewidgetitem12 = new QTableWidgetItem(); 87 | tableWidget->setVerticalHeaderItem(10, __qtablewidgetitem12); 88 | QTableWidgetItem *__qtablewidgetitem13 = new QTableWidgetItem(); 89 | tableWidget->setVerticalHeaderItem(11, __qtablewidgetitem13); 90 | QTableWidgetItem *__qtablewidgetitem14 = new QTableWidgetItem(); 91 | tableWidget->setVerticalHeaderItem(12, __qtablewidgetitem14); 92 | QTableWidgetItem *__qtablewidgetitem15 = new QTableWidgetItem(); 93 | tableWidget->setVerticalHeaderItem(13, __qtablewidgetitem15); 94 | QTableWidgetItem *__qtablewidgetitem16 = new QTableWidgetItem(); 95 | tableWidget->setVerticalHeaderItem(14, __qtablewidgetitem16); 96 | QTableWidgetItem *__qtablewidgetitem17 = new QTableWidgetItem(); 97 | tableWidget->setVerticalHeaderItem(15, __qtablewidgetitem17); 98 | tableWidget->setObjectName(QStringLiteral("tableWidget")); 99 | tableWidget->setEnabled(true); 100 | tableWidget->setGeometry(QRect(10, 20, 433, 447)); 101 | tableWidget->setMinimumSize(QSize(433, 447)); 102 | tableWidget->setMaximumSize(QSize(553, 447)); 103 | tableWidget->setBaseSize(QSize(0, 0)); 104 | tableWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); 105 | tableWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded); 106 | tableWidget->setSizeAdjustPolicy(QAbstractScrollArea::AdjustIgnored); 107 | tableWidget->setAutoScroll(true); 108 | tableWidget->setAutoScrollMargin(11); 109 | tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); 110 | tableWidget->setAlternatingRowColors(false); 111 | tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows); 112 | tableWidget->setIconSize(QSize(0, 0)); 113 | tableWidget->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); 114 | tableWidget->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel); 115 | tableWidget->setShowGrid(true); 116 | tableWidget->setGridStyle(Qt::SolidLine); 117 | tableWidget->setSortingEnabled(false); 118 | tableWidget->setWordWrap(true); 119 | tableWidget->setCornerButtonEnabled(true); 120 | tableWidget->horizontalHeader()->setCascadingSectionResizes(false); 121 | tableWidget->horizontalHeader()->setDefaultSectionSize(120); 122 | tableWidget->horizontalHeader()->setHighlightSections(true); 123 | tableWidget->horizontalHeader()->setMinimumSectionSize(120); 124 | tableWidget->horizontalHeader()->setProperty("showSortIndicator", QVariant(false)); 125 | tableWidget->horizontalHeader()->setStretchLastSection(false); 126 | tableWidget->verticalHeader()->setDefaultSectionSize(26); 127 | tableWidget->verticalHeader()->setMinimumSectionSize(26); 128 | tableWidget->verticalHeader()->setStretchLastSection(false); 129 | label_2 = new QLabel(frame_2); 130 | label_2->setObjectName(QStringLiteral("label_2")); 131 | label_2->setGeometry(QRect(150, 0, 271, 20)); 132 | QFont font1; 133 | font1.setPointSize(9); 134 | label_2->setFont(font1); 135 | 136 | retranslateUi(QtGuiPE_DataDirectoryClass); 137 | 138 | QMetaObject::connectSlotsByName(QtGuiPE_DataDirectoryClass); 139 | } // setupUi 140 | 141 | void retranslateUi(QWidget *QtGuiPE_DataDirectoryClass) 142 | { 143 | QtGuiPE_DataDirectoryClass->setWindowTitle(QApplication::translate("QtGuiPE_DataDirectoryClass", "QtGuiPE_DataDirectory", Q_NULLPTR)); 144 | label->setText(QApplication::translate("QtGuiPE_DataDirectoryClass", "DATA DIRECTORY", Q_NULLPTR)); 145 | QTableWidgetItem *___qtablewidgetitem = tableWidget->horizontalHeaderItem(0); 146 | ___qtablewidgetitem->setText(QApplication::translate("QtGuiPE_DataDirectoryClass", "RVA", Q_NULLPTR)); 147 | QTableWidgetItem *___qtablewidgetitem1 = tableWidget->horizontalHeaderItem(1); 148 | ___qtablewidgetitem1->setText(QApplication::translate("QtGuiPE_DataDirectoryClass", "SIZE", Q_NULLPTR)); 149 | QTableWidgetItem *___qtablewidgetitem2 = tableWidget->verticalHeaderItem(0); 150 | ___qtablewidgetitem2->setText(QApplication::translate("QtGuiPE_DataDirectoryClass", "Export Table", Q_NULLPTR)); 151 | QTableWidgetItem *___qtablewidgetitem3 = tableWidget->verticalHeaderItem(1); 152 | ___qtablewidgetitem3->setText(QApplication::translate("QtGuiPE_DataDirectoryClass", "Import Table", Q_NULLPTR)); 153 | QTableWidgetItem *___qtablewidgetitem4 = tableWidget->verticalHeaderItem(2); 154 | ___qtablewidgetitem4->setText(QApplication::translate("QtGuiPE_DataDirectoryClass", "Resourse Table", Q_NULLPTR)); 155 | QTableWidgetItem *___qtablewidgetitem5 = tableWidget->verticalHeaderItem(3); 156 | ___qtablewidgetitem5->setText(QApplication::translate("QtGuiPE_DataDirectoryClass", "Exception Table", Q_NULLPTR)); 157 | QTableWidgetItem *___qtablewidgetitem6 = tableWidget->verticalHeaderItem(4); 158 | ___qtablewidgetitem6->setText(QApplication::translate("QtGuiPE_DataDirectoryClass", "Security Table", Q_NULLPTR)); 159 | QTableWidgetItem *___qtablewidgetitem7 = tableWidget->verticalHeaderItem(5); 160 | ___qtablewidgetitem7->setText(QApplication::translate("QtGuiPE_DataDirectoryClass", "Base Relocation Table", Q_NULLPTR)); 161 | QTableWidgetItem *___qtablewidgetitem8 = tableWidget->verticalHeaderItem(6); 162 | ___qtablewidgetitem8->setText(QApplication::translate("QtGuiPE_DataDirectoryClass", "Debug Data", Q_NULLPTR)); 163 | QTableWidgetItem *___qtablewidgetitem9 = tableWidget->verticalHeaderItem(7); 164 | ___qtablewidgetitem9->setText(QApplication::translate("QtGuiPE_DataDirectoryClass", "Architecture Data", Q_NULLPTR)); 165 | QTableWidgetItem *___qtablewidgetitem10 = tableWidget->verticalHeaderItem(8); 166 | ___qtablewidgetitem10->setText(QApplication::translate("QtGuiPE_DataDirectoryClass", "Global Pointer", Q_NULLPTR)); 167 | QTableWidgetItem *___qtablewidgetitem11 = tableWidget->verticalHeaderItem(9); 168 | ___qtablewidgetitem11->setText(QApplication::translate("QtGuiPE_DataDirectoryClass", "TLS Table", Q_NULLPTR)); 169 | QTableWidgetItem *___qtablewidgetitem12 = tableWidget->verticalHeaderItem(10); 170 | ___qtablewidgetitem12->setText(QApplication::translate("QtGuiPE_DataDirectoryClass", "Load Config Table", Q_NULLPTR)); 171 | QTableWidgetItem *___qtablewidgetitem13 = tableWidget->verticalHeaderItem(11); 172 | ___qtablewidgetitem13->setText(QApplication::translate("QtGuiPE_DataDirectoryClass", "Bound Import", Q_NULLPTR)); 173 | QTableWidgetItem *___qtablewidgetitem14 = tableWidget->verticalHeaderItem(12); 174 | ___qtablewidgetitem14->setText(QApplication::translate("QtGuiPE_DataDirectoryClass", "IAT", Q_NULLPTR)); 175 | QTableWidgetItem *___qtablewidgetitem15 = tableWidget->verticalHeaderItem(13); 176 | ___qtablewidgetitem15->setText(QApplication::translate("QtGuiPE_DataDirectoryClass", "Delay Import Descriptor", Q_NULLPTR)); 177 | QTableWidgetItem *___qtablewidgetitem16 = tableWidget->verticalHeaderItem(14); 178 | ___qtablewidgetitem16->setText(QApplication::translate("QtGuiPE_DataDirectoryClass", "CLR Runtime Header", Q_NULLPTR)); 179 | QTableWidgetItem *___qtablewidgetitem17 = tableWidget->verticalHeaderItem(15); 180 | ___qtablewidgetitem17->setText(QApplication::translate("QtGuiPE_DataDirectoryClass", "Reserved", Q_NULLPTR)); 181 | label_2->setText(QApplication::translate("QtGuiPE_DataDirectoryClass", "Double Click or Press Enter to view data", Q_NULLPTR)); 182 | } // retranslateUi 183 | 184 | }; 185 | 186 | namespace Ui { 187 | class QtGuiPE_DataDirectoryClass: public Ui_QtGuiPE_DataDirectoryClass {}; 188 | } // namespace Ui 189 | 190 | QT_END_NAMESPACE 191 | 192 | #endif // UI_QTGUIPE_DATADIRECTORY_H 193 | -------------------------------------------------------------------------------- /QtGuiPE/GeneratedFiles/ui_QtGuiPE_ExceptTable.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | ** Form generated from reading UI file 'QtGuiPE_ExceptTable.ui' 3 | ** 4 | ** Created by: Qt User Interface Compiler version 5.8.0 5 | ** 6 | ** WARNING! All changes made in this file will be lost when recompiling UI file! 7 | ********************************************************************************/ 8 | 9 | #ifndef UI_QTGUIPE_EXCEPTTABLE_H 10 | #define UI_QTGUIPE_EXCEPTTABLE_H 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | 22 | QT_BEGIN_NAMESPACE 23 | 24 | class Ui_QtGuiPE_ExceptTableClass 25 | { 26 | public: 27 | QFrame *frame; 28 | QFrame *frame_2; 29 | QLabel *label; 30 | QTableWidget *tableWidget; 31 | 32 | void setupUi(QWidget *QtGuiPE_ExceptTableClass) 33 | { 34 | if (QtGuiPE_ExceptTableClass->objectName().isEmpty()) 35 | QtGuiPE_ExceptTableClass->setObjectName(QStringLiteral("QtGuiPE_ExceptTableClass")); 36 | QtGuiPE_ExceptTableClass->resize(600, 400); 37 | frame = new QFrame(QtGuiPE_ExceptTableClass); 38 | frame->setObjectName(QStringLiteral("frame")); 39 | frame->setGeometry(QRect(10, 10, 581, 381)); 40 | frame->setFrameShape(QFrame::WinPanel); 41 | frame->setFrameShadow(QFrame::Raised); 42 | frame_2 = new QFrame(frame); 43 | frame_2->setObjectName(QStringLiteral("frame_2")); 44 | frame_2->setGeometry(QRect(10, 10, 561, 361)); 45 | frame_2->setFrameShape(QFrame::Box); 46 | frame_2->setFrameShadow(QFrame::Raised); 47 | label = new QLabel(frame_2); 48 | label->setObjectName(QStringLiteral("label")); 49 | label->setGeometry(QRect(10, 0, 141, 21)); 50 | QFont font; 51 | font.setFamily(QStringLiteral("Lucida Console")); 52 | font.setPointSize(11); 53 | font.setUnderline(true); 54 | font.setStrikeOut(false); 55 | label->setFont(font); 56 | tableWidget = new QTableWidget(frame_2); 57 | tableWidget->setObjectName(QStringLiteral("tableWidget")); 58 | tableWidget->setGeometry(QRect(10, 20, 541, 331)); 59 | tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); 60 | tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows); 61 | tableWidget->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); 62 | tableWidget->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel); 63 | tableWidget->horizontalHeader()->setDefaultSectionSize(151); 64 | tableWidget->horizontalHeader()->setMinimumSectionSize(151); 65 | tableWidget->verticalHeader()->setMinimumSectionSize(30); 66 | 67 | retranslateUi(QtGuiPE_ExceptTableClass); 68 | 69 | QMetaObject::connectSlotsByName(QtGuiPE_ExceptTableClass); 70 | } // setupUi 71 | 72 | void retranslateUi(QWidget *QtGuiPE_ExceptTableClass) 73 | { 74 | QtGuiPE_ExceptTableClass->setWindowTitle(QApplication::translate("QtGuiPE_ExceptTableClass", "QtGuiPE_ExceptTable", Q_NULLPTR)); 75 | label->setText(QApplication::translate("QtGuiPE_ExceptTableClass", "EXCEPTION TABLE", Q_NULLPTR)); 76 | } // retranslateUi 77 | 78 | }; 79 | 80 | namespace Ui { 81 | class QtGuiPE_ExceptTableClass: public Ui_QtGuiPE_ExceptTableClass {}; 82 | } // namespace Ui 83 | 84 | QT_END_NAMESPACE 85 | 86 | #endif // UI_QTGUIPE_EXCEPTTABLE_H 87 | -------------------------------------------------------------------------------- /QtGuiPE/GeneratedFiles/ui_QtGuiPE_ExportTable.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | ** Form generated from reading UI file 'QtGuiPE_ExportTable.ui' 3 | ** 4 | ** Created by: Qt User Interface Compiler version 5.8.0 5 | ** 6 | ** WARNING! All changes made in this file will be lost when recompiling UI file! 7 | ********************************************************************************/ 8 | 9 | #ifndef UI_QTGUIPE_EXPORTTABLE_H 10 | #define UI_QTGUIPE_EXPORTTABLE_H 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | 23 | QT_BEGIN_NAMESPACE 24 | 25 | class Ui_QtGuiPE_ExportTableClass 26 | { 27 | public: 28 | QFrame *frame; 29 | QFrame *frame_2; 30 | QLabel *label; 31 | QTableWidget *tableWidget; 32 | QLabel *label_2; 33 | QLabel *label_3; 34 | QLabel *label_4; 35 | QLineEdit *Characteristics; 36 | QLineEdit *TimeDateStamp; 37 | QLineEdit *MajorVersion; 38 | QLineEdit *MinorVersion; 39 | QLabel *label_5; 40 | QLabel *label_6; 41 | QLabel *label_7; 42 | QLabel *label_8; 43 | QLabel *label_9; 44 | QLabel *label_10; 45 | QLineEdit *NumberOfFunctions; 46 | QLineEdit *NumberOfNames; 47 | QLineEdit *AddressOfFunctions; 48 | QLineEdit *AddressOfNames; 49 | QLineEdit *AddressOfNameOrdinals; 50 | QLabel *label_11; 51 | QLabel *label_12; 52 | QLineEdit *Name; 53 | QLineEdit *Base; 54 | QLineEdit *DLLName; 55 | QLabel *label_13; 56 | 57 | void setupUi(QWidget *QtGuiPE_ExportTableClass) 58 | { 59 | if (QtGuiPE_ExportTableClass->objectName().isEmpty()) 60 | QtGuiPE_ExportTableClass->setObjectName(QStringLiteral("QtGuiPE_ExportTableClass")); 61 | QtGuiPE_ExportTableClass->resize(1019, 420); 62 | frame = new QFrame(QtGuiPE_ExportTableClass); 63 | frame->setObjectName(QStringLiteral("frame")); 64 | frame->setGeometry(QRect(10, 10, 1001, 401)); 65 | frame->setFrameShape(QFrame::WinPanel); 66 | frame->setFrameShadow(QFrame::Raised); 67 | frame_2 = new QFrame(frame); 68 | frame_2->setObjectName(QStringLiteral("frame_2")); 69 | frame_2->setGeometry(QRect(10, 10, 981, 381)); 70 | frame_2->setFrameShape(QFrame::Box); 71 | frame_2->setFrameShadow(QFrame::Raised); 72 | label = new QLabel(frame_2); 73 | label->setObjectName(QStringLiteral("label")); 74 | label->setGeometry(QRect(10, 0, 121, 16)); 75 | QFont font; 76 | font.setFamily(QStringLiteral("Lucida Console")); 77 | font.setPointSize(11); 78 | font.setUnderline(true); 79 | label->setFont(font); 80 | tableWidget = new QTableWidget(frame_2); 81 | if (tableWidget->columnCount() < 5) 82 | tableWidget->setColumnCount(5); 83 | QTableWidgetItem *__qtablewidgetitem = new QTableWidgetItem(); 84 | tableWidget->setHorizontalHeaderItem(0, __qtablewidgetitem); 85 | QTableWidgetItem *__qtablewidgetitem1 = new QTableWidgetItem(); 86 | tableWidget->setHorizontalHeaderItem(1, __qtablewidgetitem1); 87 | QTableWidgetItem *__qtablewidgetitem2 = new QTableWidgetItem(); 88 | tableWidget->setHorizontalHeaderItem(2, __qtablewidgetitem2); 89 | QTableWidgetItem *__qtablewidgetitem3 = new QTableWidgetItem(); 90 | tableWidget->setHorizontalHeaderItem(3, __qtablewidgetitem3); 91 | QTableWidgetItem *__qtablewidgetitem4 = new QTableWidgetItem(); 92 | tableWidget->setHorizontalHeaderItem(4, __qtablewidgetitem4); 93 | tableWidget->setObjectName(QStringLiteral("tableWidget")); 94 | tableWidget->setGeometry(QRect(10, 20, 701, 351)); 95 | tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); 96 | tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows); 97 | tableWidget->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); 98 | tableWidget->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel); 99 | tableWidget->horizontalHeader()->setDefaultSectionSize(130); 100 | tableWidget->horizontalHeader()->setMinimumSectionSize(130); 101 | tableWidget->verticalHeader()->setMinimumSectionSize(30); 102 | label_2 = new QLabel(frame_2); 103 | label_2->setObjectName(QStringLiteral("label_2")); 104 | label_2->setGeometry(QRect(720, 50, 81, 16)); 105 | label_3 = new QLabel(frame_2); 106 | label_3->setObjectName(QStringLiteral("label_3")); 107 | label_3->setGeometry(QRect(720, 80, 81, 20)); 108 | label_4 = new QLabel(frame_2); 109 | label_4->setObjectName(QStringLiteral("label_4")); 110 | label_4->setGeometry(QRect(770, 110, 71, 20)); 111 | Characteristics = new QLineEdit(frame_2); 112 | Characteristics->setObjectName(QStringLiteral("Characteristics")); 113 | Characteristics->setGeometry(QRect(870, 50, 101, 20)); 114 | Characteristics->setReadOnly(true); 115 | TimeDateStamp = new QLineEdit(frame_2); 116 | TimeDateStamp->setObjectName(QStringLiteral("TimeDateStamp")); 117 | TimeDateStamp->setGeometry(QRect(870, 80, 101, 20)); 118 | TimeDateStamp->setReadOnly(true); 119 | MajorVersion = new QLineEdit(frame_2); 120 | MajorVersion->setObjectName(QStringLiteral("MajorVersion")); 121 | MajorVersion->setGeometry(QRect(880, 110, 51, 20)); 122 | MajorVersion->setReadOnly(true); 123 | MinorVersion = new QLineEdit(frame_2); 124 | MinorVersion->setObjectName(QStringLiteral("MinorVersion")); 125 | MinorVersion->setGeometry(QRect(880, 140, 51, 20)); 126 | MinorVersion->setReadOnly(true); 127 | label_5 = new QLabel(frame_2); 128 | label_5->setObjectName(QStringLiteral("label_5")); 129 | label_5->setGeometry(QRect(770, 140, 71, 21)); 130 | label_6 = new QLabel(frame_2); 131 | label_6->setObjectName(QStringLiteral("label_6")); 132 | label_6->setGeometry(QRect(720, 230, 131, 20)); 133 | label_7 = new QLabel(frame_2); 134 | label_7->setObjectName(QStringLiteral("label_7")); 135 | label_7->setGeometry(QRect(720, 260, 121, 20)); 136 | label_8 = new QLabel(frame_2); 137 | label_8->setObjectName(QStringLiteral("label_8")); 138 | label_8->setGeometry(QRect(720, 290, 131, 20)); 139 | label_9 = new QLabel(frame_2); 140 | label_9->setObjectName(QStringLiteral("label_9")); 141 | label_9->setGeometry(QRect(720, 320, 121, 20)); 142 | label_10 = new QLabel(frame_2); 143 | label_10->setObjectName(QStringLiteral("label_10")); 144 | label_10->setGeometry(QRect(720, 350, 151, 20)); 145 | NumberOfFunctions = new QLineEdit(frame_2); 146 | NumberOfFunctions->setObjectName(QStringLiteral("NumberOfFunctions")); 147 | NumberOfFunctions->setGeometry(QRect(870, 230, 101, 20)); 148 | NumberOfFunctions->setReadOnly(true); 149 | NumberOfNames = new QLineEdit(frame_2); 150 | NumberOfNames->setObjectName(QStringLiteral("NumberOfNames")); 151 | NumberOfNames->setGeometry(QRect(870, 260, 101, 20)); 152 | NumberOfNames->setReadOnly(true); 153 | AddressOfFunctions = new QLineEdit(frame_2); 154 | AddressOfFunctions->setObjectName(QStringLiteral("AddressOfFunctions")); 155 | AddressOfFunctions->setGeometry(QRect(870, 290, 101, 20)); 156 | AddressOfFunctions->setReadOnly(true); 157 | AddressOfNames = new QLineEdit(frame_2); 158 | AddressOfNames->setObjectName(QStringLiteral("AddressOfNames")); 159 | AddressOfNames->setGeometry(QRect(870, 320, 101, 20)); 160 | AddressOfNames->setReadOnly(true); 161 | AddressOfNameOrdinals = new QLineEdit(frame_2); 162 | AddressOfNameOrdinals->setObjectName(QStringLiteral("AddressOfNameOrdinals")); 163 | AddressOfNameOrdinals->setGeometry(QRect(870, 350, 101, 20)); 164 | AddressOfNameOrdinals->setReadOnly(true); 165 | label_11 = new QLabel(frame_2); 166 | label_11->setObjectName(QStringLiteral("label_11")); 167 | label_11->setGeometry(QRect(720, 170, 71, 20)); 168 | label_12 = new QLabel(frame_2); 169 | label_12->setObjectName(QStringLiteral("label_12")); 170 | label_12->setGeometry(QRect(720, 200, 47, 20)); 171 | Name = new QLineEdit(frame_2); 172 | Name->setObjectName(QStringLiteral("Name")); 173 | Name->setGeometry(QRect(870, 170, 101, 20)); 174 | Name->setReadOnly(true); 175 | Base = new QLineEdit(frame_2); 176 | Base->setObjectName(QStringLiteral("Base")); 177 | Base->setGeometry(QRect(870, 200, 101, 20)); 178 | Base->setReadOnly(true); 179 | DLLName = new QLineEdit(frame_2); 180 | DLLName->setObjectName(QStringLiteral("DLLName")); 181 | DLLName->setGeometry(QRect(870, 20, 101, 20)); 182 | DLLName->setReadOnly(true); 183 | label_13 = new QLabel(frame_2); 184 | label_13->setObjectName(QStringLiteral("label_13")); 185 | label_13->setGeometry(QRect(720, 20, 51, 20)); 186 | 187 | retranslateUi(QtGuiPE_ExportTableClass); 188 | 189 | QMetaObject::connectSlotsByName(QtGuiPE_ExportTableClass); 190 | } // setupUi 191 | 192 | void retranslateUi(QWidget *QtGuiPE_ExportTableClass) 193 | { 194 | QtGuiPE_ExportTableClass->setWindowTitle(QApplication::translate("QtGuiPE_ExportTableClass", "QtGuiPE_ExportTable", Q_NULLPTR)); 195 | label->setText(QApplication::translate("QtGuiPE_ExportTableClass", "EXPORT TABLE", Q_NULLPTR)); 196 | QTableWidgetItem *___qtablewidgetitem = tableWidget->horizontalHeaderItem(0); 197 | ___qtablewidgetitem->setText(QApplication::translate("QtGuiPE_ExportTableClass", "Ordinal", Q_NULLPTR)); 198 | QTableWidgetItem *___qtablewidgetitem1 = tableWidget->horizontalHeaderItem(1); 199 | ___qtablewidgetitem1->setText(QApplication::translate("QtGuiPE_ExportTableClass", "Name", Q_NULLPTR)); 200 | QTableWidgetItem *___qtablewidgetitem2 = tableWidget->horizontalHeaderItem(2); 201 | ___qtablewidgetitem2->setText(QApplication::translate("QtGuiPE_ExportTableClass", "RVA", Q_NULLPTR)); 202 | QTableWidgetItem *___qtablewidgetitem3 = tableWidget->horizontalHeaderItem(3); 203 | ___qtablewidgetitem3->setText(QApplication::translate("QtGuiPE_ExportTableClass", "RVA Name", Q_NULLPTR)); 204 | QTableWidgetItem *___qtablewidgetitem4 = tableWidget->horizontalHeaderItem(4); 205 | ___qtablewidgetitem4->setText(QApplication::translate("QtGuiPE_ExportTableClass", "RAW", Q_NULLPTR)); 206 | label_2->setText(QApplication::translate("QtGuiPE_ExportTableClass", "Characteristics", Q_NULLPTR)); 207 | label_3->setText(QApplication::translate("QtGuiPE_ExportTableClass", "Time Date Stamp", Q_NULLPTR)); 208 | label_4->setText(QApplication::translate("QtGuiPE_ExportTableClass", "Major Version", Q_NULLPTR)); 209 | label_5->setText(QApplication::translate("QtGuiPE_ExportTableClass", "Minor Version", Q_NULLPTR)); 210 | label_6->setText(QApplication::translate("QtGuiPE_ExportTableClass", "Number of Functions", Q_NULLPTR)); 211 | label_7->setText(QApplication::translate("QtGuiPE_ExportTableClass", "Number of Names", Q_NULLPTR)); 212 | label_8->setText(QApplication::translate("QtGuiPE_ExportTableClass", "Address of Functions(RVA)", Q_NULLPTR)); 213 | label_9->setText(QApplication::translate("QtGuiPE_ExportTableClass", "Address of Names(RVA)", Q_NULLPTR)); 214 | label_10->setText(QApplication::translate("QtGuiPE_ExportTableClass", "Address of Name Ordinal(RVA)", Q_NULLPTR)); 215 | label_11->setText(QApplication::translate("QtGuiPE_ExportTableClass", "Name(RVA)", Q_NULLPTR)); 216 | label_12->setText(QApplication::translate("QtGuiPE_ExportTableClass", "Base", Q_NULLPTR)); 217 | label_13->setText(QApplication::translate("QtGuiPE_ExportTableClass", "DLL Name", Q_NULLPTR)); 218 | } // retranslateUi 219 | 220 | }; 221 | 222 | namespace Ui { 223 | class QtGuiPE_ExportTableClass: public Ui_QtGuiPE_ExportTableClass {}; 224 | } // namespace Ui 225 | 226 | QT_END_NAMESPACE 227 | 228 | #endif // UI_QTGUIPE_EXPORTTABLE_H 229 | -------------------------------------------------------------------------------- /QtGuiPE/GeneratedFiles/ui_QtGuiPE_HexMode.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | ** Form generated from reading UI file 'QtGuiPE_HexMode.ui' 3 | ** 4 | ** Created by: Qt User Interface Compiler version 5.8.0 5 | ** 6 | ** WARNING! All changes made in this file will be lost when recompiling UI file! 7 | ********************************************************************************/ 8 | 9 | #ifndef UI_QTGUIPE_HEXMODE_H 10 | #define UI_QTGUIPE_HEXMODE_H 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | 21 | QT_BEGIN_NAMESPACE 22 | 23 | class Ui_QtGuiPE_HexModeClass 24 | { 25 | public: 26 | QFrame *frame; 27 | QFrame *frame_2; 28 | QLabel *label; 29 | 30 | void setupUi(QWidget *QtGuiPE_HexModeClass) 31 | { 32 | if (QtGuiPE_HexModeClass->objectName().isEmpty()) 33 | QtGuiPE_HexModeClass->setObjectName(QStringLiteral("QtGuiPE_HexModeClass")); 34 | QtGuiPE_HexModeClass->resize(689, 400); 35 | frame = new QFrame(QtGuiPE_HexModeClass); 36 | frame->setObjectName(QStringLiteral("frame")); 37 | frame->setGeometry(QRect(10, 10, 671, 381)); 38 | frame->setFrameShape(QFrame::WinPanel); 39 | frame->setFrameShadow(QFrame::Raised); 40 | frame_2 = new QFrame(frame); 41 | frame_2->setObjectName(QStringLiteral("frame_2")); 42 | frame_2->setGeometry(QRect(10, 10, 651, 361)); 43 | frame_2->setFrameShape(QFrame::Box); 44 | frame_2->setFrameShadow(QFrame::Raised); 45 | label = new QLabel(frame_2); 46 | label->setObjectName(QStringLiteral("label")); 47 | label->setGeometry(QRect(10, 0, 91, 16)); 48 | QFont font; 49 | font.setFamily(QStringLiteral("Lucida Console")); 50 | font.setPointSize(11); 51 | font.setUnderline(true); 52 | label->setFont(font); 53 | 54 | retranslateUi(QtGuiPE_HexModeClass); 55 | 56 | QMetaObject::connectSlotsByName(QtGuiPE_HexModeClass); 57 | } // setupUi 58 | 59 | void retranslateUi(QWidget *QtGuiPE_HexModeClass) 60 | { 61 | QtGuiPE_HexModeClass->setWindowTitle(QApplication::translate("QtGuiPE_HexModeClass", "QtGuiPE_HexMode", Q_NULLPTR)); 62 | label->setText(QApplication::translate("QtGuiPE_HexModeClass", "HEX MODE", Q_NULLPTR)); 63 | } // retranslateUi 64 | 65 | }; 66 | 67 | namespace Ui { 68 | class QtGuiPE_HexModeClass: public Ui_QtGuiPE_HexModeClass {}; 69 | } // namespace Ui 70 | 71 | QT_END_NAMESPACE 72 | 73 | #endif // UI_QTGUIPE_HEXMODE_H 74 | -------------------------------------------------------------------------------- /QtGuiPE/GeneratedFiles/ui_QtGuiPE_ImportTable.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | ** Form generated from reading UI file 'QtGuiPE_ImportTable.ui' 3 | ** 4 | ** Created by: Qt User Interface Compiler version 5.8.0 5 | ** 6 | ** WARNING! All changes made in this file will be lost when recompiling UI file! 7 | ********************************************************************************/ 8 | 9 | #ifndef UI_QTGUIPE_IMPORTTABLE_H 10 | #define UI_QTGUIPE_IMPORTTABLE_H 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | 22 | QT_BEGIN_NAMESPACE 23 | 24 | class Ui_QtGuiPE_ImportTableClass 25 | { 26 | public: 27 | QFrame *frame; 28 | QFrame *frame_2; 29 | QLabel *label; 30 | QTableWidget *tableWidget; 31 | QLabel *label_2; 32 | 33 | void setupUi(QWidget *QtGuiPE_ImportTableClass) 34 | { 35 | if (QtGuiPE_ImportTableClass->objectName().isEmpty()) 36 | QtGuiPE_ImportTableClass->setObjectName(QStringLiteral("QtGuiPE_ImportTableClass")); 37 | QtGuiPE_ImportTableClass->resize(977, 289); 38 | frame = new QFrame(QtGuiPE_ImportTableClass); 39 | frame->setObjectName(QStringLiteral("frame")); 40 | frame->setGeometry(QRect(9, 9, 951, 271)); 41 | frame->setFrameShape(QFrame::WinPanel); 42 | frame->setFrameShadow(QFrame::Raised); 43 | frame_2 = new QFrame(frame); 44 | frame_2->setObjectName(QStringLiteral("frame_2")); 45 | frame_2->setGeometry(QRect(10, 10, 931, 251)); 46 | frame_2->setFrameShape(QFrame::Box); 47 | frame_2->setFrameShadow(QFrame::Raised); 48 | label = new QLabel(frame_2); 49 | label->setObjectName(QStringLiteral("label")); 50 | label->setGeometry(QRect(10, 0, 121, 21)); 51 | QFont font; 52 | font.setFamily(QStringLiteral("Lucida Console")); 53 | font.setPointSize(11); 54 | font.setUnderline(true); 55 | font.setStrikeOut(false); 56 | label->setFont(font); 57 | tableWidget = new QTableWidget(frame_2); 58 | if (tableWidget->columnCount() < 6) 59 | tableWidget->setColumnCount(6); 60 | QTableWidgetItem *__qtablewidgetitem = new QTableWidgetItem(); 61 | tableWidget->setHorizontalHeaderItem(0, __qtablewidgetitem); 62 | QTableWidgetItem *__qtablewidgetitem1 = new QTableWidgetItem(); 63 | tableWidget->setHorizontalHeaderItem(1, __qtablewidgetitem1); 64 | QTableWidgetItem *__qtablewidgetitem2 = new QTableWidgetItem(); 65 | tableWidget->setHorizontalHeaderItem(2, __qtablewidgetitem2); 66 | QTableWidgetItem *__qtablewidgetitem3 = new QTableWidgetItem(); 67 | tableWidget->setHorizontalHeaderItem(3, __qtablewidgetitem3); 68 | QTableWidgetItem *__qtablewidgetitem4 = new QTableWidgetItem(); 69 | tableWidget->setHorizontalHeaderItem(4, __qtablewidgetitem4); 70 | QTableWidgetItem *__qtablewidgetitem5 = new QTableWidgetItem(); 71 | tableWidget->setHorizontalHeaderItem(5, __qtablewidgetitem5); 72 | tableWidget->setObjectName(QStringLiteral("tableWidget")); 73 | tableWidget->setGeometry(QRect(10, 21, 911, 221)); 74 | tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); 75 | tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows); 76 | tableWidget->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); 77 | tableWidget->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel); 78 | tableWidget->horizontalHeader()->setDefaultSectionSize(151); 79 | tableWidget->horizontalHeader()->setMinimumSectionSize(151); 80 | tableWidget->verticalHeader()->setMinimumSectionSize(30); 81 | label_2 = new QLabel(frame_2); 82 | label_2->setObjectName(QStringLiteral("label_2")); 83 | label_2->setGeometry(QRect(50, 0, 431, 20)); 84 | QFont font1; 85 | font1.setPointSize(9); 86 | label_2->setFont(font1); 87 | label_2->setTextFormat(Qt::AutoText); 88 | label_2->setAlignment(Qt::AlignCenter); 89 | 90 | retranslateUi(QtGuiPE_ImportTableClass); 91 | 92 | QMetaObject::connectSlotsByName(QtGuiPE_ImportTableClass); 93 | } // setupUi 94 | 95 | void retranslateUi(QWidget *QtGuiPE_ImportTableClass) 96 | { 97 | QtGuiPE_ImportTableClass->setWindowTitle(QApplication::translate("QtGuiPE_ImportTableClass", "QtGuiPE_ImportTable", Q_NULLPTR)); 98 | label->setText(QApplication::translate("QtGuiPE_ImportTableClass", "IMPORT TABLE", Q_NULLPTR)); 99 | QTableWidgetItem *___qtablewidgetitem = tableWidget->horizontalHeaderItem(0); 100 | ___qtablewidgetitem->setText(QApplication::translate("QtGuiPE_ImportTableClass", "DLL Name", Q_NULLPTR)); 101 | QTableWidgetItem *___qtablewidgetitem1 = tableWidget->horizontalHeaderItem(1); 102 | ___qtablewidgetitem1->setText(QApplication::translate("QtGuiPE_ImportTableClass", "Original First Thunk", Q_NULLPTR)); 103 | QTableWidgetItem *___qtablewidgetitem2 = tableWidget->horizontalHeaderItem(2); 104 | ___qtablewidgetitem2->setText(QApplication::translate("QtGuiPE_ImportTableClass", "Time Date Stamp", Q_NULLPTR)); 105 | QTableWidgetItem *___qtablewidgetitem3 = tableWidget->horizontalHeaderItem(3); 106 | ___qtablewidgetitem3->setText(QApplication::translate("QtGuiPE_ImportTableClass", "Forwarder Chain", Q_NULLPTR)); 107 | QTableWidgetItem *___qtablewidgetitem4 = tableWidget->horizontalHeaderItem(4); 108 | ___qtablewidgetitem4->setText(QApplication::translate("QtGuiPE_ImportTableClass", "Name", Q_NULLPTR)); 109 | QTableWidgetItem *___qtablewidgetitem5 = tableWidget->horizontalHeaderItem(5); 110 | ___qtablewidgetitem5->setText(QApplication::translate("QtGuiPE_ImportTableClass", "First Thunk", Q_NULLPTR)); 111 | label_2->setText(QApplication::translate("QtGuiPE_ImportTableClass", "Double click or Press Enter to view DLL import", Q_NULLPTR)); 112 | } // retranslateUi 113 | 114 | }; 115 | 116 | namespace Ui { 117 | class QtGuiPE_ImportTableClass: public Ui_QtGuiPE_ImportTableClass {}; 118 | } // namespace Ui 119 | 120 | QT_END_NAMESPACE 121 | 122 | #endif // UI_QTGUIPE_IMPORTTABLE_H 123 | -------------------------------------------------------------------------------- /QtGuiPE/GeneratedFiles/ui_QtGuiPE_Resource.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | ** Form generated from reading UI file 'QtGuiPE_Resource.ui' 3 | ** 4 | ** Created by: Qt User Interface Compiler version 5.8.0 5 | ** 6 | ** WARNING! All changes made in this file will be lost when recompiling UI file! 7 | ********************************************************************************/ 8 | 9 | #ifndef UI_QTGUIPE_RESOURCE_H 10 | #define UI_QTGUIPE_RESOURCE_H 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | 22 | QT_BEGIN_NAMESPACE 23 | 24 | class Ui_QtGuiPE_ResourceClass 25 | { 26 | public: 27 | QFrame *frame; 28 | QFrame *frame_2; 29 | QLabel *label; 30 | QTreeWidget *treeWidget; 31 | 32 | void setupUi(QWidget *QtGuiPE_ResourceClass) 33 | { 34 | if (QtGuiPE_ResourceClass->objectName().isEmpty()) 35 | QtGuiPE_ResourceClass->setObjectName(QStringLiteral("QtGuiPE_ResourceClass")); 36 | QtGuiPE_ResourceClass->resize(853, 400); 37 | frame = new QFrame(QtGuiPE_ResourceClass); 38 | frame->setObjectName(QStringLiteral("frame")); 39 | frame->setGeometry(QRect(9, 9, 831, 381)); 40 | frame->setFrameShape(QFrame::WinPanel); 41 | frame->setFrameShadow(QFrame::Raised); 42 | frame_2 = new QFrame(frame); 43 | frame_2->setObjectName(QStringLiteral("frame_2")); 44 | frame_2->setGeometry(QRect(10, 10, 811, 361)); 45 | frame_2->setFrameShape(QFrame::Box); 46 | frame_2->setFrameShadow(QFrame::Raised); 47 | label = new QLabel(frame_2); 48 | label->setObjectName(QStringLiteral("label")); 49 | label->setGeometry(QRect(10, 0, 131, 16)); 50 | QFont font; 51 | font.setFamily(QStringLiteral("Lucida Console")); 52 | font.setPointSize(11); 53 | font.setUnderline(true); 54 | label->setFont(font); 55 | label->setFrameShadow(QFrame::Raised); 56 | treeWidget = new QTreeWidget(frame_2); 57 | treeWidget->setObjectName(QStringLiteral("treeWidget")); 58 | treeWidget->setGeometry(QRect(10, 20, 791, 331)); 59 | treeWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); 60 | treeWidget->setHeaderHidden(false); 61 | treeWidget->header()->setVisible(true); 62 | treeWidget->header()->setDefaultSectionSize(135); 63 | 64 | retranslateUi(QtGuiPE_ResourceClass); 65 | 66 | QMetaObject::connectSlotsByName(QtGuiPE_ResourceClass); 67 | } // setupUi 68 | 69 | void retranslateUi(QWidget *QtGuiPE_ResourceClass) 70 | { 71 | QtGuiPE_ResourceClass->setWindowTitle(QApplication::translate("QtGuiPE_ResourceClass", "QtGuiPE_Resource", Q_NULLPTR)); 72 | label->setText(QApplication::translate("QtGuiPE_ResourceClass", "RESOURCE TABLE", Q_NULLPTR)); 73 | QTreeWidgetItem *___qtreewidgetitem = treeWidget->headerItem(); 74 | ___qtreewidgetitem->setText(5, QApplication::translate("QtGuiPE_ResourceClass", "SUBLANG", Q_NULLPTR)); 75 | ___qtreewidgetitem->setText(4, QApplication::translate("QtGuiPE_ResourceClass", "LANG", Q_NULLPTR)); 76 | ___qtreewidgetitem->setText(3, QApplication::translate("QtGuiPE_ResourceClass", "Size", Q_NULLPTR)); 77 | ___qtreewidgetitem->setText(2, QApplication::translate("QtGuiPE_ResourceClass", "RAW", Q_NULLPTR)); 78 | ___qtreewidgetitem->setText(1, QApplication::translate("QtGuiPE_ResourceClass", "RVA", Q_NULLPTR)); 79 | ___qtreewidgetitem->setText(0, QApplication::translate("QtGuiPE_ResourceClass", "Type\\Name Resource", Q_NULLPTR)); 80 | } // retranslateUi 81 | 82 | }; 83 | 84 | namespace Ui { 85 | class QtGuiPE_ResourceClass: public Ui_QtGuiPE_ResourceClass {}; 86 | } // namespace Ui 87 | 88 | QT_END_NAMESPACE 89 | 90 | #endif // UI_QTGUIPE_RESOURCE_H 91 | -------------------------------------------------------------------------------- /QtGuiPE/GeneratedFiles/ui_QtGuiPE_Sections.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | ** Form generated from reading UI file 'QtGuiPE_Sections.ui' 3 | ** 4 | ** Created by: Qt User Interface Compiler version 5.8.0 5 | ** 6 | ** WARNING! All changes made in this file will be lost when recompiling UI file! 7 | ********************************************************************************/ 8 | 9 | #ifndef UI_QTGUIPE_SECTIONS_H 10 | #define UI_QTGUIPE_SECTIONS_H 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | 22 | QT_BEGIN_NAMESPACE 23 | 24 | class Ui_QtGuiPE_SectionsClass 25 | { 26 | public: 27 | QFrame *frame; 28 | QFrame *frame_2; 29 | QLabel *label; 30 | QTableWidget *tableWidget; 31 | 32 | void setupUi(QWidget *QtGuiPE_SectionsClass) 33 | { 34 | if (QtGuiPE_SectionsClass->objectName().isEmpty()) 35 | QtGuiPE_SectionsClass->setObjectName(QStringLiteral("QtGuiPE_SectionsClass")); 36 | QtGuiPE_SectionsClass->resize(829, 354); 37 | frame = new QFrame(QtGuiPE_SectionsClass); 38 | frame->setObjectName(QStringLiteral("frame")); 39 | frame->setGeometry(QRect(10, 10, 811, 331)); 40 | frame->setFrameShape(QFrame::WinPanel); 41 | frame->setFrameShadow(QFrame::Raised); 42 | frame_2 = new QFrame(frame); 43 | frame_2->setObjectName(QStringLiteral("frame_2")); 44 | frame_2->setGeometry(QRect(10, 10, 791, 311)); 45 | frame_2->setFrameShape(QFrame::Box); 46 | frame_2->setFrameShadow(QFrame::Raised); 47 | label = new QLabel(frame_2); 48 | label->setObjectName(QStringLiteral("label")); 49 | label->setGeometry(QRect(10, 0, 91, 16)); 50 | QFont font; 51 | font.setFamily(QStringLiteral("Lucida Console")); 52 | font.setPointSize(11); 53 | font.setUnderline(true); 54 | label->setFont(font); 55 | tableWidget = new QTableWidget(frame_2); 56 | if (tableWidget->columnCount() < 6) 57 | tableWidget->setColumnCount(6); 58 | QTableWidgetItem *__qtablewidgetitem = new QTableWidgetItem(); 59 | tableWidget->setHorizontalHeaderItem(0, __qtablewidgetitem); 60 | QTableWidgetItem *__qtablewidgetitem1 = new QTableWidgetItem(); 61 | tableWidget->setHorizontalHeaderItem(1, __qtablewidgetitem1); 62 | QTableWidgetItem *__qtablewidgetitem2 = new QTableWidgetItem(); 63 | tableWidget->setHorizontalHeaderItem(2, __qtablewidgetitem2); 64 | QTableWidgetItem *__qtablewidgetitem3 = new QTableWidgetItem(); 65 | tableWidget->setHorizontalHeaderItem(3, __qtablewidgetitem3); 66 | QTableWidgetItem *__qtablewidgetitem4 = new QTableWidgetItem(); 67 | tableWidget->setHorizontalHeaderItem(4, __qtablewidgetitem4); 68 | QTableWidgetItem *__qtablewidgetitem5 = new QTableWidgetItem(); 69 | tableWidget->setHorizontalHeaderItem(5, __qtablewidgetitem5); 70 | tableWidget->setObjectName(QStringLiteral("tableWidget")); 71 | tableWidget->setGeometry(QRect(10, 20, 771, 281)); 72 | tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); 73 | tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows); 74 | tableWidget->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); 75 | tableWidget->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel); 76 | tableWidget->horizontalHeader()->setDefaultSectionSize(126); 77 | tableWidget->horizontalHeader()->setMinimumSectionSize(126); 78 | tableWidget->verticalHeader()->setMinimumSectionSize(30); 79 | 80 | retranslateUi(QtGuiPE_SectionsClass); 81 | 82 | QMetaObject::connectSlotsByName(QtGuiPE_SectionsClass); 83 | } // setupUi 84 | 85 | void retranslateUi(QWidget *QtGuiPE_SectionsClass) 86 | { 87 | QtGuiPE_SectionsClass->setWindowTitle(QApplication::translate("QtGuiPE_SectionsClass", "QtGuiPE_Sections", Q_NULLPTR)); 88 | label->setText(QApplication::translate("QtGuiPE_SectionsClass", "SECTIONS", Q_NULLPTR)); 89 | QTableWidgetItem *___qtablewidgetitem = tableWidget->horizontalHeaderItem(0); 90 | ___qtablewidgetitem->setText(QApplication::translate("QtGuiPE_SectionsClass", "Name", Q_NULLPTR)); 91 | QTableWidgetItem *___qtablewidgetitem1 = tableWidget->horizontalHeaderItem(1); 92 | ___qtablewidgetitem1->setText(QApplication::translate("QtGuiPE_SectionsClass", "RVA Size", Q_NULLPTR)); 93 | QTableWidgetItem *___qtablewidgetitem2 = tableWidget->horizontalHeaderItem(2); 94 | ___qtablewidgetitem2->setText(QApplication::translate("QtGuiPE_SectionsClass", "RVA Offset", Q_NULLPTR)); 95 | QTableWidgetItem *___qtablewidgetitem3 = tableWidget->horizontalHeaderItem(3); 96 | ___qtablewidgetitem3->setText(QApplication::translate("QtGuiPE_SectionsClass", "RAW Size", Q_NULLPTR)); 97 | QTableWidgetItem *___qtablewidgetitem4 = tableWidget->horizontalHeaderItem(4); 98 | ___qtablewidgetitem4->setText(QApplication::translate("QtGuiPE_SectionsClass", "RAW Offset", Q_NULLPTR)); 99 | QTableWidgetItem *___qtablewidgetitem5 = tableWidget->horizontalHeaderItem(5); 100 | ___qtablewidgetitem5->setText(QApplication::translate("QtGuiPE_SectionsClass", "Characteristics", Q_NULLPTR)); 101 | #ifndef QT_NO_TOOLTIP 102 | tableWidget->setToolTip(QString()); 103 | #endif // QT_NO_TOOLTIP 104 | } // retranslateUi 105 | 106 | }; 107 | 108 | namespace Ui { 109 | class QtGuiPE_SectionsClass: public Ui_QtGuiPE_SectionsClass {}; 110 | } // namespace Ui 111 | 112 | QT_END_NAMESPACE 113 | 114 | #endif // UI_QTGUIPE_SECTIONS_H 115 | -------------------------------------------------------------------------------- /QtGuiPE/GeneratedFiles/ui_QtGuiPE_Thunks.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | ** Form generated from reading UI file 'QtGuiPE_Thunks.ui' 3 | ** 4 | ** Created by: Qt User Interface Compiler version 5.8.0 5 | ** 6 | ** WARNING! All changes made in this file will be lost when recompiling UI file! 7 | ********************************************************************************/ 8 | 9 | #ifndef UI_QTGUIPE_THUNKS_H 10 | #define UI_QTGUIPE_THUNKS_H 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | 22 | QT_BEGIN_NAMESPACE 23 | 24 | class Ui_QtGuiPE_ThunksClass 25 | { 26 | public: 27 | QFrame *frame; 28 | QFrame *frame_2; 29 | QLabel *label; 30 | QTableWidget *tableWidget; 31 | 32 | void setupUi(QWidget *QtGuiPE_ThunksClass) 33 | { 34 | if (QtGuiPE_ThunksClass->objectName().isEmpty()) 35 | QtGuiPE_ThunksClass->setObjectName(QStringLiteral("QtGuiPE_ThunksClass")); 36 | QtGuiPE_ThunksClass->resize(945, 311); 37 | frame = new QFrame(QtGuiPE_ThunksClass); 38 | frame->setObjectName(QStringLiteral("frame")); 39 | frame->setGeometry(QRect(10, 10, 921, 291)); 40 | frame->setFrameShape(QFrame::WinPanel); 41 | frame->setFrameShadow(QFrame::Raised); 42 | frame_2 = new QFrame(frame); 43 | frame_2->setObjectName(QStringLiteral("frame_2")); 44 | frame_2->setGeometry(QRect(10, 10, 901, 271)); 45 | frame_2->setFrameShape(QFrame::Box); 46 | frame_2->setFrameShadow(QFrame::Raised); 47 | label = new QLabel(frame_2); 48 | label->setObjectName(QStringLiteral("label")); 49 | label->setGeometry(QRect(10, 0, 81, 16)); 50 | QFont font; 51 | font.setFamily(QStringLiteral("Lucida Console")); 52 | font.setPointSize(11); 53 | font.setUnderline(true); 54 | label->setFont(font); 55 | tableWidget = new QTableWidget(frame_2); 56 | if (tableWidget->columnCount() < 5) 57 | tableWidget->setColumnCount(5); 58 | QTableWidgetItem *__qtablewidgetitem = new QTableWidgetItem(); 59 | tableWidget->setHorizontalHeaderItem(0, __qtablewidgetitem); 60 | QTableWidgetItem *__qtablewidgetitem1 = new QTableWidgetItem(); 61 | tableWidget->setHorizontalHeaderItem(1, __qtablewidgetitem1); 62 | QTableWidgetItem *__qtablewidgetitem2 = new QTableWidgetItem(); 63 | tableWidget->setHorizontalHeaderItem(2, __qtablewidgetitem2); 64 | QTableWidgetItem *__qtablewidgetitem3 = new QTableWidgetItem(); 65 | tableWidget->setHorizontalHeaderItem(3, __qtablewidgetitem3); 66 | QTableWidgetItem *__qtablewidgetitem4 = new QTableWidgetItem(); 67 | tableWidget->setHorizontalHeaderItem(4, __qtablewidgetitem4); 68 | tableWidget->setObjectName(QStringLiteral("tableWidget")); 69 | tableWidget->setGeometry(QRect(10, 20, 881, 241)); 70 | tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); 71 | tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows); 72 | tableWidget->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); 73 | tableWidget->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel); 74 | tableWidget->horizontalHeader()->setDefaultSectionSize(170); 75 | tableWidget->horizontalHeader()->setMinimumSectionSize(170); 76 | tableWidget->verticalHeader()->setMinimumSectionSize(30); 77 | 78 | retranslateUi(QtGuiPE_ThunksClass); 79 | 80 | QMetaObject::connectSlotsByName(QtGuiPE_ThunksClass); 81 | } // setupUi 82 | 83 | void retranslateUi(QWidget *QtGuiPE_ThunksClass) 84 | { 85 | QtGuiPE_ThunksClass->setWindowTitle(QApplication::translate("QtGuiPE_ThunksClass", "QtGuiPE_Thunks", Q_NULLPTR)); 86 | label->setText(QApplication::translate("QtGuiPE_ThunksClass", "THUNKS", Q_NULLPTR)); 87 | QTableWidgetItem *___qtablewidgetitem = tableWidget->horizontalHeaderItem(0); 88 | ___qtablewidgetitem->setText(QApplication::translate("QtGuiPE_ThunksClass", "API Name", Q_NULLPTR)); 89 | QTableWidgetItem *___qtablewidgetitem1 = tableWidget->horizontalHeaderItem(1); 90 | ___qtablewidgetitem1->setText(QApplication::translate("QtGuiPE_ThunksClass", "Thunk Value", Q_NULLPTR)); 91 | QTableWidgetItem *___qtablewidgetitem2 = tableWidget->horizontalHeaderItem(2); 92 | ___qtablewidgetitem2->setText(QApplication::translate("QtGuiPE_ThunksClass", "Thunk RVA", Q_NULLPTR)); 93 | QTableWidgetItem *___qtablewidgetitem3 = tableWidget->horizontalHeaderItem(3); 94 | ___qtablewidgetitem3->setText(QApplication::translate("QtGuiPE_ThunksClass", "Thunk RAW", Q_NULLPTR)); 95 | QTableWidgetItem *___qtablewidgetitem4 = tableWidget->horizontalHeaderItem(4); 96 | ___qtablewidgetitem4->setText(QApplication::translate("QtGuiPE_ThunksClass", "Hint", Q_NULLPTR)); 97 | } // retranslateUi 98 | 99 | }; 100 | 101 | namespace Ui { 102 | class QtGuiPE_ThunksClass: public Ui_QtGuiPE_ThunksClass {}; 103 | } // namespace Ui 104 | 105 | QT_END_NAMESPACE 106 | 107 | #endif // UI_QTGUIPE_THUNKS_H 108 | -------------------------------------------------------------------------------- /QtGuiPE/PE_FILE1.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "my_winnt.h" 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | #pragma warning(disable: 4430) 10 | 11 | #pragma warning(disable: 4723 ) 12 | #pragma warning(disable: 4577 ) // 13 | class PE_FILE; 14 | 15 | extern PE_FILE file; 16 | using std::unique_ptr; 17 | using std::vector; 18 | using std::wstring; 19 | using std::string; 20 | 21 | 22 | 23 | typedef struct { 24 | unique_ptr export_header; 25 | unique_ptr export_name; 26 | unique_ptr > export_rva; 27 | unique_ptr > export_names; 28 | unique_ptr > export_adress_names_rva; 29 | unique_ptr > export_ordinals; 30 | } PE_FILE_EXPORT_TABLE; 31 | 32 | typedef struct { 33 | vector import_headers; 34 | unique_ptr > dll_names_of_import_desc; 35 | unique_ptr > > func_names_of_import_desc; 36 | unique_ptr > > image_thunk32; 37 | unique_ptr > > image_thunk64; 38 | unique_ptr > > image_import_names; 39 | } PE_FILE_IMPORT_TABLE; 40 | 41 | 42 | typedef struct { 43 | LPCTSTR lpszName; 44 | wstring szResName; 45 | DWORD RVAData; 46 | DWORD ResourceSize; 47 | WORD wIDLanguage; 48 | } PE_FILE_RESOURCE_NAME; 49 | 50 | typedef struct { 51 | LPTSTR lpszType; 52 | wstring szResType; 53 | vector names; 54 | } PE_FILE_RESOURCE_TYPE; 55 | 56 | typedef struct { 57 | DWORD BeginAddress; 58 | DWORD EndAddress; 59 | DWORD ExceptionHandler; 60 | DWORD HandlerData; 61 | DWORD PrologEndAdress; 62 | } __declspec(align(4)) PE_FILE_EXCEPTION_ENTRY_MIPS32; //for MIPS32 63 | 64 | typedef struct { 65 | DWORD BeginAddress; 66 | DWORD EndAddress; 67 | DWORD UnwindInformation; 68 | } __declspec(align(4)) PE_FILE_EXCEPTION_ENTRY_X64; //for x86-64, Itanium 69 | 70 | typedef struct { 71 | union { 72 | DWORD PrologLength : 8; 73 | DWORD FunctionLength : 22; 74 | DWORD bit32Flag : 1; 75 | DWORD ExceptionFlag : 1; 76 | DWORD BeginAddress; 77 | }; 78 | } __declspec(align(4)) PE_FILE_EXCEPTION_ENTRY_OTHER; //for PPC,ARM,SH3,SH4 79 | 80 | BOOL read_char_cs_forcheck32bitPE(LONG e_lfanew, LPWORD CHAR_CS, HANDLE hFile); 81 | BOOL read_dos_header(PIMAGE_DOS_HEADER dos, HANDLE hFile); 82 | BOOL read_signature(LONG e_lfanew, LPDWORD sig, HANDLE hFile); 83 | BOOL read_file_header(LONG e_lfanew, PIMAGE_FILE_HEADER fh, HANDLE hFile); 84 | BOOL read_optional_header32(LONG e_lfanew, PIMAGE_OPTIONAL_HEADER32 op32, HANDLE hFile); 85 | BOOL read_optional_header64(LONG e_lfanew, PIMAGE_OPTIONAL_HEADER64 op64, HANDLE hFile); 86 | BOOL read_section_headers(LONG Distance, vector* sections, WORD NumberOfSections, HANDLE hFile); 87 | BOOL read_export_table(DWORD AlignmentSection, vector* sections, DWORD RVAoffset, PE_FILE_EXPORT_TABLE* expt, HANDLE hFile); 88 | BOOL read_import_table(BOOL pe32,DWORD AlignmentSection, vector* sections, DWORD RVAoffset, PE_FILE_IMPORT_TABLE* impt, HANDLE hFile); 89 | BOOL read_except_table_mips32(DWORD AlignmentSection, vector* sections,DWORD RVAoffset,vector* except_table, HANDLE hFile); 90 | BOOL read_except_table_x64(DWORD AlignmentSection, vector* sections,DWORD RVAoffset, vector* except_table, HANDLE hFile); 91 | BOOL read_except_table_other(DWORD AlignmentSection, vector* sections,DWORD RVAoffset, vector* except_table, HANDLE hFile); 92 | 93 | BOOL getListResource(vector* res, LPCTSTR filename); 94 | BOOL CALLBACK ListResourceTypes(HMODULE hModule, LPTSTR lpszType, LONG_PTR lParam); 95 | BOOL CALLBACK ListResourceNames(HMODULE hModule, LPCTSTR lpType, LPTSTR lpName, LONG_PTR lParam); 96 | BOOL CALLBACK ListResourceLanguages(HMODULE hModule, LPCTSTR lpszType, LPCTSTR lpszName, WORD wIDLanguage, LONG_PTR lParam); 97 | 98 | WORD defSection(vector* sections, DWORD rva, DWORD Alignment); 99 | DWORD rvaToOff(vector* sections, DWORD rva, DWORD Alignment); 100 | 101 | 102 | 103 | 104 | 105 | 106 | //TYPICAL PORTABLE EXE FILE LAYOUT 107 | class PE_FILE { 108 | public: 109 | DWORD _STATE; 110 | wstring pathfile; 111 | 112 | unique_ptr dos_header; 113 | unique_ptr Signature; 114 | unique_ptr file_header; 115 | unique_ptr op_header32; 116 | unique_ptr op_header64; 117 | 118 | vector section_headers; 119 | 120 | unique_ptr export_table; 121 | unique_ptr import_table; 122 | 123 | vector resources; 124 | vector exception_table_mips32; 125 | vector exception_table_x64; 126 | vector exception_table_other; 127 | 128 | 129 | void read(LPCTSTR pathfile); 130 | 131 | //BOOL open() 132 | 133 | 134 | //CONSTRUCTORS DEFAULT??? 135 | PE_FILE(); 136 | explicit PE_FILE(const PE_FILE&) = delete; 137 | PE_FILE(PE_FILE&&) = default; 138 | PE_FILE& operator=(const PE_FILE&) = delete; 139 | PE_FILE& operator=(PE_FILE&&) = default; 140 | ~PE_FILE() = default; 141 | 142 | //search index section 143 | 144 | 145 | 146 | HANDLE hFile; 147 | BOOL PE32; //for 32bit machine??? 148 | 149 | 150 | }; 151 | 152 | -------------------------------------------------------------------------------- /QtGuiPE/PE_FILE1_EXCEPTION.cpp: -------------------------------------------------------------------------------- 1 | #include "PE_FILE1.h" 2 | #include "PE_FILE1_EXCEPTION.h" 3 | #include 4 | 5 | 6 | DWORD PE_FILE_Exception(DWORD dwExceptionCodeReceived, 7 | LPEXCEPTION_POINTERS lpExceptionInfo, LPTSTR szBuffer, PE_FILE* file) 8 | { 9 | CloseHandle(file->hFile); 10 | LPTSTR error; 11 | switch (dwExceptionCodeReceived) { 12 | case PE_FILE_INVALID_DOS_HEADER: { 13 | error = _T("Code: %08X, trapped at %08X:%08X\nPE_FILE_INVALID_DOS_HEADER!!!"); 14 | file->_STATE = PE_FILE_INVALID_DOS_HEADER; 15 | break; 16 | } 17 | case PE_FILE_INVALID_PE_HEADER: { 18 | error = _T("Code: %08X, trapped at %08X:%08X\nPE_FILE_INVALID_PE_HEADER!!!"); 19 | file->_STATE = PE_FILE_INVALID_PE_HEADER; 20 | break; 21 | } 22 | case PE_FILE_BAD_READ: { 23 | error = _T("Code: %08X, trapped at %08X:%08X\nPE_FILE_BAD_READ!!!"); 24 | file->_STATE = PE_FILE_BAD_READ; 25 | break; 26 | } 27 | case PE_FILE_BAD_WRITE: { 28 | error = _T("Code: %08X, trapped at %08X:%08X\nPE_FILE_BAD_WRITE!!!"); 29 | file->_STATE = PE_FILE_BAD_READ; 30 | break; 31 | } 32 | case PE_FILE_NOT_OPEN: { 33 | error = _T("Code: %08X, trapped at %08X:%08X\nPE_FILE_NOT_OPEN!!!"); 34 | file->_STATE = PE_FILE_NOT_OPEN; 35 | break; 36 | } 37 | } 38 | 39 | wsprintf(szBuffer, error, 40 | lpExceptionInfo->ExceptionRecord->ExceptionCode, lpExceptionInfo->ContextRecord->SegCs, lpExceptionInfo->ContextRecord->Rip); 41 | PE_FILE_WriteLog(szBuffer); 42 | return EXCEPTION_EXECUTE_HANDLER; 43 | } 44 | 45 | void PE_FILE_WriteLog(LPCTSTR str) { 46 | qDebug() << QString::fromWCharArray(str); 47 | } -------------------------------------------------------------------------------- /QtGuiPE/PE_FILE1_EXCEPTION.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define PE_FILE_MAXCHAR_ERROR 256 4 | 5 | #define PE_FILE_NO_ERRORS 0x00000000 6 | #define PE_FILE_NOT_INITIALIZED 0xFFFFFFFF 7 | #define PE_FILE_INVALID_DOS_HEADER 0xA0000000 8 | #define PE_FILE_INVALID_PE_HEADER 0xB0000000 9 | #define PE_FILE_BAD_READ 0xC0000000 10 | #define PE_FILE_BAD_WRITE 0xD0000000 11 | #define PE_FILE_NOT_OPEN 0xE0000000 12 | 13 | typedef unsigned int PE_FILE_EXCPT; 14 | DWORD PE_FILE_Exception(DWORD dwExceptionCodeReceived, 15 | LPEXCEPTION_POINTERS lpExceptionInfo, LPTSTR szBuffer, PE_FILE* file); 16 | 17 | void PE_FILE_WriteLog(LPCTSTR str); 18 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "ui_QtGuiPE.h" 5 | #include "PE_FILE1.h" 6 | #include "PE_FILE1_EXCEPTION.h" 7 | #include 8 | #include "QtGuiPE_DataDirectory.h" 9 | #include "QtGuiPE_Sections.h" 10 | #include "QtGuiPE_Characteristics.h" 11 | #include "QtGuiPE_DLLCharacteristics.h" 12 | //#include "QtGuiPE_HexMode\QtGuiPE_HexMode.h" 13 | 14 | class QtGuiPE : public QMainWindow 15 | { 16 | Q_OBJECT 17 | 18 | public: 19 | 20 | QtGuiPE(QWidget *parent = Q_NULLPTR); 21 | void fill_fields(); 22 | bool ReadPE(const QString& pathfile); 23 | private: 24 | 25 | QtGuiPE_DataDirectory data_directory; 26 | QtGuiPE_Sections sections; 27 | QtGuiPE_Characteristics characteristics_fh; 28 | QtGuiPE_DLLCharacteristics dllcharacteristics; 29 | 30 | Ui::QtGuiPEClass ui; 31 | //PE_FILE* file; 32 | 33 | 34 | 35 | 36 | 37 | protected: 38 | void closeEvent(QCloseEvent *event) override; 39 | 40 | private Q_SLOTS: 41 | void open_file_slot(); 42 | void data_directory_slot(); 43 | void sections_slot(); 44 | void characteristics_slot(); 45 | void dllcharacteristics_slot(); 46 | 47 | 48 | void quit(); 49 | }; 50 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xdead4ead/PE-VIEWER/165aa34f34fb9bc8640adb1cbd249f50466679b6/QtGuiPE/QtGuiPE.rc -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E} 14 | qrc;* 15 | false 16 | 17 | 18 | {99349809-55BA-4b9d-BF79-8FDBB0286EB3} 19 | ui 20 | 21 | 22 | {D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E} 23 | qrc;* 24 | false 25 | 26 | 27 | {71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11} 28 | moc;h;cpp 29 | False 30 | 31 | 32 | {c359db82-d66b-4064-9ac2-6f46ad2ee1da} 33 | cpp;moc 34 | False 35 | 36 | 37 | {e7e953f2-664e-458c-82fd-5a89aed07baa} 38 | cpp;moc 39 | False 40 | 41 | 42 | 43 | 44 | Source Files 45 | 46 | 47 | Source Files 48 | 49 | 50 | Generated Files 51 | 52 | 53 | Source Files 54 | 55 | 56 | Generated Files\Debug 57 | 58 | 59 | Generated Files\Release 60 | 61 | 62 | Generated Files 63 | 64 | 65 | Source Files 66 | 67 | 68 | Generated Files\Debug 69 | 70 | 71 | Generated Files\Release 72 | 73 | 74 | Generated Files 75 | 76 | 77 | Source Files 78 | 79 | 80 | Source Files 81 | 82 | 83 | Generated Files 84 | 85 | 86 | Generated Files\Debug 87 | 88 | 89 | Generated Files\Release 90 | 91 | 92 | Generated Files\Debug 93 | 94 | 95 | Generated Files\Release 96 | 97 | 98 | Generated Files 99 | 100 | 101 | Source Files 102 | 103 | 104 | Generated Files\Debug 105 | 106 | 107 | Generated Files\Release 108 | 109 | 110 | Generated Files 111 | 112 | 113 | Source Files 114 | 115 | 116 | Generated Files\Debug 117 | 118 | 119 | Generated Files\Release 120 | 121 | 122 | Generated Files\Debug 123 | 124 | 125 | Generated Files\Release 126 | 127 | 128 | Generated Files 129 | 130 | 131 | Generated Files 132 | 133 | 134 | Source Files 135 | 136 | 137 | Source Files 138 | 139 | 140 | Source Files 141 | 142 | 143 | Source Files 144 | 145 | 146 | Generated Files 147 | 148 | 149 | Generated Files\Debug 150 | 151 | 152 | Generated Files\Release 153 | 154 | 155 | Generated Files 156 | 157 | 158 | Source Files 159 | 160 | 161 | Generated Files\Debug 162 | 163 | 164 | Generated Files\Release 165 | 166 | 167 | Generated Files\Debug 168 | 169 | 170 | Generated Files\Release 171 | 172 | 173 | Generated Files\Debug 174 | 175 | 176 | Generated Files\Release 177 | 178 | 179 | Generated Files 180 | 181 | 182 | Source Files 183 | 184 | 185 | Source Files 186 | 187 | 188 | 189 | 190 | Header Files 191 | 192 | 193 | Form Files 194 | 195 | 196 | Resource Files 197 | 198 | 199 | Header Files 200 | 201 | 202 | Resource Files 203 | 204 | 205 | Form Files 206 | 207 | 208 | Form Files 209 | 210 | 211 | Header Files 212 | 213 | 214 | Resource Files 215 | 216 | 217 | Resource Files 218 | 219 | 220 | Header Files 221 | 222 | 223 | Form Files 224 | 225 | 226 | Form Files 227 | 228 | 229 | Header Files 230 | 231 | 232 | Resource Files 233 | 234 | 235 | Form Files 236 | 237 | 238 | Header Files 239 | 240 | 241 | Resource Files 242 | 243 | 244 | Form Files 245 | 246 | 247 | Form Files 248 | 249 | 250 | Header Files 251 | 252 | 253 | Header Files 254 | 255 | 256 | Resource Files 257 | 258 | 259 | Resource Files 260 | 261 | 262 | Resource Files 263 | 264 | 265 | Header Files 266 | 267 | 268 | Form Files 269 | 270 | 271 | Form Files 272 | 273 | 274 | Header Files 275 | 276 | 277 | Resource Files 278 | 279 | 280 | Form Files 281 | 282 | 283 | Header Files 284 | 285 | 286 | Resource Files 287 | 288 | 289 | 290 | 291 | Generated Files 292 | 293 | 294 | Header Files 295 | 296 | 297 | Header Files 298 | 299 | 300 | Generated Files 301 | 302 | 303 | Generated Files 304 | 305 | 306 | Generated Files 307 | 308 | 309 | Generated Files 310 | 311 | 312 | Generated Files 313 | 314 | 315 | Generated Files 316 | 317 | 318 | Generated Files 319 | 320 | 321 | Header Files 322 | 323 | 324 | Header Files 325 | 326 | 327 | Generated Files 328 | 329 | 330 | Generated Files 331 | 332 | 333 | Generated Files 334 | 335 | 336 | Header Files 337 | 338 | 339 | 340 | 341 | 342 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_Characteristics.cpp: -------------------------------------------------------------------------------- 1 | #include "QtGuiPE_Characteristics.h" 2 | 3 | QtGuiPE_Characteristics::QtGuiPE_Characteristics(QWidget *parent) 4 | : QWidget(parent) 5 | { 6 | ui.setupUi(this); 7 | } 8 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_Characteristics.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "ui_QtGuiPE_Characteristics.h" 5 | 6 | class QtGuiPE_Characteristics : public QWidget 7 | { 8 | Q_OBJECT 9 | 10 | public: 11 | QtGuiPE_Characteristics(QWidget *parent = Q_NULLPTR); 12 | 13 | 14 | Ui::QtGuiPE_CharacteristicsClass ui; 15 | }; 16 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_Characteristics.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_Characteristics.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | QtGuiPE_CharacteristicsClass 4 | 5 | 6 | 7 | 0 8 | 0 9 | 591 10 | 219 11 | 12 | 13 | 14 | QtGuiPE_Characteristics 15 | 16 | 17 | 18 | 19 | 10 20 | 9 21 | 571 22 | 201 23 | 24 | 25 | 26 | QFrame::WinPanel 27 | 28 | 29 | QFrame::Raised 30 | 31 | 32 | 33 | 34 | 290 35 | 10 36 | 261 37 | 173 38 | 39 | 40 | 41 | 42 | 43 | 44 | false 45 | 46 | 47 | Debugging information 48 | 49 | 50 | true 51 | 52 | 53 | false 54 | 55 | 56 | false 57 | 58 | 59 | false 60 | 61 | 62 | 63 | 64 | 65 | 66 | false 67 | 68 | 69 | Run from swap (removable) 70 | 71 | 72 | true 73 | 74 | 75 | false 76 | 77 | 78 | false 79 | 80 | 81 | false 82 | 83 | 84 | 85 | 86 | 87 | 88 | false 89 | 90 | 91 | System File 92 | 93 | 94 | true 95 | 96 | 97 | false 98 | 99 | 100 | false 101 | 102 | 103 | false 104 | 105 | 106 | 107 | 108 | 109 | 110 | false 111 | 112 | 113 | Bytes of machine word are reversed 114 | 115 | 116 | true 117 | 118 | 119 | false 120 | 121 | 122 | false 123 | 124 | 125 | false 126 | 127 | 128 | 129 | 130 | 131 | 132 | false 133 | 134 | 135 | Run from swap (NET) 136 | 137 | 138 | true 139 | 140 | 141 | false 142 | 143 | 144 | false 145 | 146 | 147 | false 148 | 149 | 150 | 151 | 152 | 153 | 154 | false 155 | 156 | 157 | File is a DLL 158 | 159 | 160 | true 161 | 162 | 163 | false 164 | 165 | 166 | false 167 | 168 | 169 | false 170 | 171 | 172 | 173 | 174 | 175 | 176 | false 177 | 178 | 179 | File should only be run on a UP machine 180 | 181 | 182 | true 183 | 184 | 185 | false 186 | 187 | 188 | false 189 | 190 | 191 | false 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 20 201 | 10 202 | 261 203 | 181 204 | 205 | 206 | 207 | 208 | 209 | 210 | false 211 | 212 | 213 | Local symbols stripped from file 214 | 215 | 216 | true 217 | 218 | 219 | false 220 | 221 | 222 | false 223 | 224 | 225 | false 226 | 227 | 228 | 229 | 230 | 231 | 232 | false 233 | 234 | 235 | Bytes of machine word are reversed 236 | 237 | 238 | true 239 | 240 | 241 | false 242 | 243 | 244 | false 245 | 246 | 247 | false 248 | 249 | 250 | 251 | 252 | 253 | 254 | false 255 | 256 | 257 | 32 bit word machine 258 | 259 | 260 | true 261 | 262 | 263 | false 264 | 265 | 266 | false 267 | 268 | 269 | false 270 | 271 | 272 | 273 | 274 | 275 | 276 | false 277 | 278 | 279 | Line nunbers stripped from file 280 | 281 | 282 | true 283 | 284 | 285 | false 286 | 287 | 288 | false 289 | 290 | 291 | false 292 | 293 | 294 | 295 | 296 | 297 | 298 | false 299 | 300 | 301 | Aggressively trim working set 302 | 303 | 304 | true 305 | 306 | 307 | false 308 | 309 | 310 | false 311 | 312 | 313 | false 314 | 315 | 316 | 317 | 318 | 319 | 320 | false 321 | 322 | 323 | File is executable 324 | 325 | 326 | true 327 | 328 | 329 | false 330 | 331 | 332 | false 333 | 334 | 335 | false 336 | 337 | 338 | 339 | 340 | 341 | 342 | false 343 | 344 | 345 | Large addresses 346 | 347 | 348 | true 349 | 350 | 351 | false 352 | 353 | 354 | false 355 | 356 | 357 | false 358 | 359 | 360 | 361 | 362 | 363 | 364 | false 365 | 366 | 367 | Relocation info stripped from file 368 | 369 | 370 | true 371 | 372 | 373 | false 374 | 375 | 376 | false 377 | 378 | 379 | false 380 | 381 | 382 | 383 | 384 | 385 | 386 | 387 | 388 | 389 | 390 | 391 | 392 | 393 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_DLLCharacteristics.cpp: -------------------------------------------------------------------------------- 1 | #include "QtGuiPE_DLLCharacteristics.h" 2 | 3 | QtGuiPE_DLLCharacteristics::QtGuiPE_DLLCharacteristics(QWidget *parent) 4 | : QWidget(parent) 5 | { 6 | ui.setupUi(this); 7 | } 8 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_DLLCharacteristics.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "ui_QtGuiPE_DLLCharacteristics.h" 5 | 6 | class QtGuiPE_DLLCharacteristics : public QWidget 7 | { 8 | Q_OBJECT 9 | 10 | public: 11 | QtGuiPE_DLLCharacteristics(QWidget *parent = Q_NULLPTR); 12 | 13 | 14 | Ui::QtGuiPE_DLLCharacteristicsClass ui; 15 | }; 16 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_DLLCharacteristics.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_DLLCharacteristics.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | QtGuiPE_DLLCharacteristicsClass 4 | 5 | 6 | 7 | 0 8 | 0 9 | 299 10 | 199 11 | 12 | 13 | 14 | QtGuiPE_DLLCharacteristics 15 | 16 | 17 | 18 | 19 | 10 20 | 10 21 | 281 22 | 181 23 | 24 | 25 | 26 | QFrame::WinPanel 27 | 28 | 29 | QFrame::Raised 30 | 31 | 32 | 33 | false 34 | 35 | 36 | 37 | 10 38 | 150 39 | 111 40 | 21 41 | 42 | 43 | 44 | DLL NX 45 | 46 | 47 | 48 | 49 | false 50 | 51 | 52 | 53 | 10 54 | 70 55 | 121 56 | 21 57 | 58 | 59 | 60 | DLL THREAD_TERM 61 | 62 | 63 | 64 | 65 | false 66 | 67 | 68 | 69 | 10 70 | 50 71 | 121 72 | 21 73 | 74 | 75 | 76 | DLL THREAD_INIT 77 | 78 | 79 | 80 | 81 | false 82 | 83 | 84 | 85 | 10 86 | 110 87 | 111 88 | 21 89 | 90 | 91 | 92 | DLL IS_MOVE 93 | 94 | 95 | 96 | 97 | false 98 | 99 | 100 | 101 | 10 102 | 90 103 | 111 104 | 21 105 | 106 | 107 | 108 | DLL 64BIT_VA 109 | 110 | 111 | 112 | 113 | false 114 | 115 | 116 | 117 | 10 118 | 30 119 | 121 120 | 21 121 | 122 | 123 | 124 | DLL PROCESS_TERM 125 | 126 | 127 | 128 | 129 | false 130 | 131 | 132 | 133 | 10 134 | 130 135 | 111 136 | 21 137 | 138 | 139 | 140 | DLL FORCE 141 | 142 | 143 | 144 | 145 | false 146 | 147 | 148 | 149 | 10 150 | 10 151 | 121 152 | 21 153 | 154 | 155 | 156 | DLL PROCESS_INIT 157 | 158 | 159 | 160 | 161 | false 162 | 163 | 164 | 165 | 140 166 | 10 167 | 121 168 | 21 169 | 170 | 171 | 172 | DLL NO_ISOLATION 173 | 174 | 175 | 176 | 177 | false 178 | 179 | 180 | 181 | 140 182 | 130 183 | 131 184 | 21 185 | 186 | 187 | 188 | DLL TERMINAL SERVER 189 | 190 | 191 | 192 | 193 | false 194 | 195 | 196 | 197 | 140 198 | 90 199 | 121 200 | 21 201 | 202 | 203 | 204 | DLL WDM DRV 205 | 206 | 207 | 208 | 209 | false 210 | 211 | 212 | 213 | 140 214 | 70 215 | 121 216 | 21 217 | 218 | 219 | 220 | DLL APPLICATION 221 | 222 | 223 | 224 | 225 | false 226 | 227 | 228 | 229 | 140 230 | 110 231 | 131 232 | 21 233 | 234 | 235 | 236 | DLL CONTROL GUARD 237 | 238 | 239 | 240 | 241 | false 242 | 243 | 244 | 245 | 140 246 | 30 247 | 121 248 | 21 249 | 250 | 251 | 252 | DLL NO_SEHANDLER 253 | 254 | 255 | 256 | 257 | false 258 | 259 | 260 | 261 | 140 262 | 50 263 | 121 264 | 21 265 | 266 | 267 | 268 | DLL NO_BIND 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_DataDirectory.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include "ui_QtGuiPE_DataDirectory.h" 6 | #include 7 | #include "QtGuiPE_ExportTable.h" 8 | #include "QtGuiPE_ImportTable.h" 9 | #include "QtGuiPE_Resource.h" 10 | #include "QtGuiPE_ExceptTable.h" 11 | #include "QtGuiPE_HexMode\QtGuiPE_HexMode.h" 12 | #include 13 | class QtGuiPE_DataDirectory : public QWidget 14 | { 15 | Q_OBJECT 16 | 17 | public: 18 | QtGuiPE_DataDirectory(QWidget *parent = Q_NULLPTR); 19 | void fill_fields(); 20 | void clear_fields_in_all_tables(); 21 | QtGuiPE_HexMode hex_mode; 22 | 23 | private: 24 | Ui::QtGuiPE_DataDirectoryClass ui; 25 | QtGuiPE_ExportTable export_table; 26 | QtGuiPE_ImportTable import_table; 27 | QtGuiPE_Resource resource; 28 | QtGuiPE_ExceptTable except_table; 29 | 30 | //QMenu* m_pmnu; 31 | 32 | public Q_SLOTS: 33 | void data_directory_tableActivated_slot(int row, int column); 34 | //void slotMenuActivated(QAction* pAction); 35 | }; 36 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_DataDirectory.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_DataDirectory.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | QtGuiPE_DataDirectoryClass 4 | 5 | 6 | 7 | 0 8 | 0 9 | 490 10 | 519 11 | 12 | 13 | 14 | true 15 | 16 | 17 | QtGuiPE_DataDirectory 18 | 19 | 20 | 21 | 22 | 10 23 | 10 24 | 471 25 | 501 26 | 27 | 28 | 29 | QFrame::WinPanel 30 | 31 | 32 | QFrame::Raised 33 | 34 | 35 | 36 | 37 | 10 38 | 10 39 | 451 40 | 481 41 | 42 | 43 | 44 | QFrame::Box 45 | 46 | 47 | QFrame::Raised 48 | 49 | 50 | 51 | 52 | 10 53 | 0 54 | 131 55 | 21 56 | 57 | 58 | 59 | 60 | Lucida Console 61 | 11 62 | true 63 | 64 | 65 | 66 | DATA DIRECTORY 67 | 68 | 69 | 70 | 71 | true 72 | 73 | 74 | 75 | 10 76 | 20 77 | 433 78 | 447 79 | 80 | 81 | 82 | 83 | 433 84 | 447 85 | 86 | 87 | 88 | 89 | 553 90 | 447 91 | 92 | 93 | 94 | 95 | 0 96 | 0 97 | 98 | 99 | 100 | Qt::ScrollBarAlwaysOff 101 | 102 | 103 | Qt::ScrollBarAsNeeded 104 | 105 | 106 | QAbstractScrollArea::AdjustIgnored 107 | 108 | 109 | true 110 | 111 | 112 | 11 113 | 114 | 115 | QAbstractItemView::NoEditTriggers 116 | 117 | 118 | false 119 | 120 | 121 | QAbstractItemView::SelectRows 122 | 123 | 124 | 125 | 0 126 | 0 127 | 128 | 129 | 130 | QAbstractItemView::ScrollPerPixel 131 | 132 | 133 | QAbstractItemView::ScrollPerPixel 134 | 135 | 136 | true 137 | 138 | 139 | Qt::SolidLine 140 | 141 | 142 | false 143 | 144 | 145 | true 146 | 147 | 148 | true 149 | 150 | 151 | false 152 | 153 | 154 | 120 155 | 156 | 157 | true 158 | 159 | 160 | 120 161 | 162 | 163 | false 164 | 165 | 166 | false 167 | 168 | 169 | 26 170 | 171 | 172 | 26 173 | 174 | 175 | false 176 | 177 | 178 | 179 | Export Table 180 | 181 | 182 | 183 | 184 | Import Table 185 | 186 | 187 | 188 | 189 | Resourse Table 190 | 191 | 192 | 193 | 194 | Exception Table 195 | 196 | 197 | 198 | 199 | Security Table 200 | 201 | 202 | 203 | 204 | Base Relocation Table 205 | 206 | 207 | 208 | 209 | Debug Data 210 | 211 | 212 | 213 | 214 | Architecture Data 215 | 216 | 217 | 218 | 219 | Global Pointer 220 | 221 | 222 | 223 | 224 | TLS Table 225 | 226 | 227 | 228 | 229 | Load Config Table 230 | 231 | 232 | 233 | 234 | Bound Import 235 | 236 | 237 | 238 | 239 | IAT 240 | 241 | 242 | 243 | 244 | Delay Import Descriptor 245 | 246 | 247 | 248 | 249 | CLR Runtime Header 250 | 251 | 252 | 253 | 254 | Reserved 255 | 256 | 257 | 258 | 259 | RVA 260 | 261 | 262 | 263 | 264 | SIZE 265 | 266 | 267 | 268 | 269 | 270 | 271 | 150 272 | 0 273 | 271 274 | 20 275 | 276 | 277 | 278 | 279 | 9 280 | 281 | 282 | 283 | Double Click or Press Enter to view data 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_ExceptTable.cpp: -------------------------------------------------------------------------------- 1 | #include "QtGuiPE_ExceptTable.h" 2 | #include "PE_FILE1.h" 3 | QtGuiPE_ExceptTable::QtGuiPE_ExceptTable(QWidget *parent) 4 | : QWidget(parent) 5 | { 6 | ui.setupUi(this); 7 | } 8 | 9 | void QtGuiPE_ExceptTable::fill_fields() { 10 | if ((file.file_header->Machine == IMAGE_FILE_MACHINE_IA64) || 11 | (file.file_header->Machine == IMAGE_FILE_MACHINE_AMD64)) { 12 | 13 | ui.tableWidget->insertColumn(0); 14 | ui.tableWidget->insertColumn(1); 15 | ui.tableWidget->insertColumn(2); 16 | ui.tableWidget->setHorizontalHeaderLabels(QStringList() << "Begin Address" << "End Address" << "Unwind Info"); 17 | for (DWORD i = 0; i < file.exception_table_x64.size(); i++) { 18 | ui.tableWidget->insertRow(i); 19 | ui.tableWidget->setItem(i, 0, new QTableWidgetItem(QString("%1").arg(file.exception_table_x64[i].BeginAddress, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 20 | ui.tableWidget->setItem(i, 1, new QTableWidgetItem(QString("%1").arg(file.exception_table_x64[i].EndAddress, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 21 | ui.tableWidget->setItem(i, 2, new QTableWidgetItem(QString("%1").arg(file.exception_table_x64[i].UnwindInformation, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 22 | } 23 | } 24 | else if (file.file_header->Machine == IMAGE_FILE_MACHINE_R3000) { 25 | ui.tableWidget->insertColumn(0); 26 | ui.tableWidget->insertColumn(1); 27 | ui.tableWidget->insertColumn(2); 28 | ui.tableWidget->insertColumn(3); 29 | ui.tableWidget->insertColumn(4); 30 | ui.tableWidget->setHorizontalHeaderLabels(QStringList() << "Begin Address" << "End Address" << "Exception Handler" << "Handler Data" << "Prolog End Address"); 31 | for (DWORD i = 0; i < file.exception_table_mips32.size(); i++) { 32 | ui.tableWidget->insertRow(i); 33 | ui.tableWidget->setItem(i, 0, new QTableWidgetItem(QString("%1").arg(file.exception_table_mips32[i].BeginAddress, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 34 | ui.tableWidget->setItem(i, 1, new QTableWidgetItem(QString("%1").arg(file.exception_table_mips32[i].EndAddress, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 35 | ui.tableWidget->setItem(i, 2, new QTableWidgetItem(QString("%1").arg(file.exception_table_mips32[i].ExceptionHandler, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 36 | ui.tableWidget->setItem(i, 3, new QTableWidgetItem(QString("%1").arg(file.exception_table_mips32[i].HandlerData, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 37 | ui.tableWidget->setItem(i, 4, new QTableWidgetItem(QString("%1").arg(file.exception_table_mips32[i].PrologEndAdress, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 38 | } 39 | } 40 | else { 41 | ui.tableWidget->insertColumn(0); 42 | ui.tableWidget->setHorizontalHeaderLabels(QStringList() << "Begin Address"); 43 | for (DWORD i = 0; i < file.exception_table_other.size(); i++) { 44 | ui.tableWidget->insertRow(i); 45 | ui.tableWidget->setItem(i, 0, new QTableWidgetItem(QString("%1").arg(file.exception_table_other[i].BeginAddress, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 46 | } 47 | } 48 | } 49 | 50 | void QtGuiPE_ExceptTable::clear_fields_table() { 51 | ui.tableWidget->clearContents(); 52 | ui.tableWidget->setRowCount(0); 53 | ui.tableWidget->setColumnCount(0); 54 | } -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_ExceptTable.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "ui_QtGuiPE_ExceptTable.h" 5 | 6 | class QtGuiPE_ExceptTable : public QWidget 7 | { 8 | Q_OBJECT 9 | 10 | public: 11 | QtGuiPE_ExceptTable(QWidget *parent = Q_NULLPTR); 12 | void fill_fields(); 13 | void clear_fields_table(); 14 | private: 15 | Ui::QtGuiPE_ExceptTableClass ui; 16 | }; 17 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_ExceptTable.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_ExceptTable.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | QtGuiPE_ExceptTableClass 4 | 5 | 6 | 7 | 0 8 | 0 9 | 600 10 | 400 11 | 12 | 13 | 14 | QtGuiPE_ExceptTable 15 | 16 | 17 | 18 | 19 | 10 20 | 10 21 | 581 22 | 381 23 | 24 | 25 | 26 | QFrame::WinPanel 27 | 28 | 29 | QFrame::Raised 30 | 31 | 32 | 33 | 34 | 10 35 | 10 36 | 561 37 | 361 38 | 39 | 40 | 41 | QFrame::Box 42 | 43 | 44 | QFrame::Raised 45 | 46 | 47 | 48 | 49 | 10 50 | 0 51 | 141 52 | 21 53 | 54 | 55 | 56 | 57 | Lucida Console 58 | 11 59 | true 60 | false 61 | 62 | 63 | 64 | EXCEPTION TABLE 65 | 66 | 67 | 68 | 69 | 70 | 10 71 | 20 72 | 541 73 | 331 74 | 75 | 76 | 77 | QAbstractItemView::NoEditTriggers 78 | 79 | 80 | QAbstractItemView::SelectRows 81 | 82 | 83 | QAbstractItemView::ScrollPerPixel 84 | 85 | 86 | QAbstractItemView::ScrollPerPixel 87 | 88 | 89 | 151 90 | 91 | 92 | 151 93 | 94 | 95 | 30 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_ExportTable.cpp: -------------------------------------------------------------------------------- 1 | #include "QtGuiPE_ExportTable.h" 2 | #include "PE_FILE1.h" 3 | QtGuiPE_ExportTable::QtGuiPE_ExportTable(QWidget *parent) 4 | : QWidget(parent) 5 | { 6 | ui.setupUi(this); 7 | } 8 | 9 | void QtGuiPE_ExportTable::fill_fields() { 10 | DWORD RVA; 11 | if (file.PE32) 12 | RVA = file.op_header32->DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].VirtualAddress; 13 | else 14 | RVA = file.op_header64->DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].VirtualAddress; 15 | 16 | if (RVA) { 17 | ui.Characteristics->setText(QString("%1").arg(file.export_table->export_header->Characteristics, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper()); 18 | ui.TimeDateStamp->setText(QString("%1").arg(file.export_table->export_header->TimeDateStamp, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper()); 19 | ui.MajorVersion->setText(QString("%1").arg(file.export_table->export_header->MajorVersion, sizeof(WORD) * 2, 16, QLatin1Char('0')).toUpper()); 20 | ui.MinorVersion->setText(QString("%1").arg(file.export_table->export_header->MinorVersion, sizeof(WORD) * 2, 16, QLatin1Char('0')).toUpper()); 21 | ui.Name->setText(QString("%1").arg(file.export_table->export_header->Name, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper()); 22 | ui.Base->setText(QString("%1").arg(file.export_table->export_header->Base, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper()); 23 | ui.NumberOfFunctions->setText(QString("%1").arg(file.export_table->export_header->NumberOfFunctions, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper()); 24 | ui.NumberOfNames->setText(QString("%1").arg(file.export_table->export_header->NumberOfNames, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper()); 25 | ui.AddressOfFunctions->setText(QString("%1").arg(file.export_table->export_header->AddressOfFunctions, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper()); 26 | ui.AddressOfNames->setText(QString("%1").arg(file.export_table->export_header->AddressOfNames, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper()); 27 | ui.AddressOfNameOrdinals->setText(QString("%1").arg(file.export_table->export_header->AddressOfNameOrdinals, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper()); 28 | ui.DLLName->setText((*file.export_table->export_name).c_str()); 29 | 30 | for (DWORD i = 0; i < file.export_table->export_header->NumberOfFunctions; i++) { 31 | ui.tableWidget->insertRow(i); 32 | ui.tableWidget->setItem(i, 0, new QTableWidgetItem(QString("%1").arg((*file.export_table->export_ordinals)[i], sizeof(WORD) * 2, 16, QLatin1Char('0')).toUpper())); 33 | ui.tableWidget->setItem(i, 1, new QTableWidgetItem((*file.export_table->export_names)[i].c_str())); 34 | ui.tableWidget->setItem(i, 2, new QTableWidgetItem(QString("%1").arg((*file.export_table->export_rva)[i], sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 35 | ui.tableWidget->setItem(i, 3, new QTableWidgetItem(QString("%1").arg((*file.export_table->export_adress_names_rva)[i], sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 36 | if (file.PE32) { 37 | DWORD offset = rvaToOff(&file.section_headers, (*file.export_table->export_rva)[i], file.op_header32->SectionAlignment); 38 | ui.tableWidget->setItem(i, 4, new QTableWidgetItem(QString("%1").arg(offset, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 39 | } 40 | else { 41 | DWORD offset = rvaToOff(&file.section_headers, (*file.export_table->export_rva)[i], file.op_header64->SectionAlignment); 42 | ui.tableWidget->setItem(i, 4, new QTableWidgetItem(QString("%1").arg(offset, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 43 | } 44 | } 45 | } 46 | } 47 | 48 | void QtGuiPE_ExportTable::clear_fields_table() { 49 | ui.tableWidget->clearContents(); 50 | ui.tableWidget->setRowCount(0); 51 | } -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_ExportTable.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "ui_QtGuiPE_ExportTable.h" 5 | 6 | class QtGuiPE_ExportTable : public QWidget 7 | { 8 | Q_OBJECT 9 | 10 | public: 11 | 12 | QtGuiPE_ExportTable(QWidget *parent = Q_NULLPTR); 13 | void fill_fields(); 14 | void clear_fields_table(); 15 | private: 16 | Ui::QtGuiPE_ExportTableClass ui; 17 | }; 18 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_ExportTable.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_ExportTable.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | QtGuiPE_ExportTableClass 4 | 5 | 6 | 7 | 0 8 | 0 9 | 1019 10 | 420 11 | 12 | 13 | 14 | QtGuiPE_ExportTable 15 | 16 | 17 | 18 | 19 | 10 20 | 10 21 | 1001 22 | 401 23 | 24 | 25 | 26 | QFrame::WinPanel 27 | 28 | 29 | QFrame::Raised 30 | 31 | 32 | 33 | 34 | 10 35 | 10 36 | 981 37 | 381 38 | 39 | 40 | 41 | QFrame::Box 42 | 43 | 44 | QFrame::Raised 45 | 46 | 47 | 48 | 49 | 10 50 | 0 51 | 121 52 | 16 53 | 54 | 55 | 56 | 57 | Lucida Console 58 | 11 59 | true 60 | 61 | 62 | 63 | EXPORT TABLE 64 | 65 | 66 | 67 | 68 | 69 | 10 70 | 20 71 | 701 72 | 351 73 | 74 | 75 | 76 | QAbstractItemView::NoEditTriggers 77 | 78 | 79 | QAbstractItemView::SelectRows 80 | 81 | 82 | QAbstractItemView::ScrollPerPixel 83 | 84 | 85 | QAbstractItemView::ScrollPerPixel 86 | 87 | 88 | 130 89 | 90 | 91 | 130 92 | 93 | 94 | 30 95 | 96 | 97 | 98 | Ordinal 99 | 100 | 101 | 102 | 103 | Name 104 | 105 | 106 | 107 | 108 | RVA 109 | 110 | 111 | 112 | 113 | RVA Name 114 | 115 | 116 | 117 | 118 | RAW 119 | 120 | 121 | 122 | 123 | 124 | 125 | 720 126 | 50 127 | 81 128 | 16 129 | 130 | 131 | 132 | Characteristics 133 | 134 | 135 | 136 | 137 | 138 | 720 139 | 80 140 | 81 141 | 20 142 | 143 | 144 | 145 | Time Date Stamp 146 | 147 | 148 | 149 | 150 | 151 | 770 152 | 110 153 | 71 154 | 20 155 | 156 | 157 | 158 | Major Version 159 | 160 | 161 | 162 | 163 | 164 | 870 165 | 50 166 | 101 167 | 20 168 | 169 | 170 | 171 | true 172 | 173 | 174 | 175 | 176 | 177 | 870 178 | 80 179 | 101 180 | 20 181 | 182 | 183 | 184 | true 185 | 186 | 187 | 188 | 189 | 190 | 880 191 | 110 192 | 51 193 | 20 194 | 195 | 196 | 197 | true 198 | 199 | 200 | 201 | 202 | 203 | 880 204 | 140 205 | 51 206 | 20 207 | 208 | 209 | 210 | true 211 | 212 | 213 | 214 | 215 | 216 | 770 217 | 140 218 | 71 219 | 21 220 | 221 | 222 | 223 | Minor Version 224 | 225 | 226 | 227 | 228 | 229 | 720 230 | 230 231 | 131 232 | 20 233 | 234 | 235 | 236 | Number of Functions 237 | 238 | 239 | 240 | 241 | 242 | 720 243 | 260 244 | 121 245 | 20 246 | 247 | 248 | 249 | Number of Names 250 | 251 | 252 | 253 | 254 | 255 | 720 256 | 290 257 | 131 258 | 20 259 | 260 | 261 | 262 | Address of Functions(RVA) 263 | 264 | 265 | 266 | 267 | 268 | 720 269 | 320 270 | 121 271 | 20 272 | 273 | 274 | 275 | Address of Names(RVA) 276 | 277 | 278 | 279 | 280 | 281 | 720 282 | 350 283 | 151 284 | 20 285 | 286 | 287 | 288 | Address of Name Ordinal(RVA) 289 | 290 | 291 | 292 | 293 | 294 | 870 295 | 230 296 | 101 297 | 20 298 | 299 | 300 | 301 | true 302 | 303 | 304 | 305 | 306 | 307 | 870 308 | 260 309 | 101 310 | 20 311 | 312 | 313 | 314 | true 315 | 316 | 317 | 318 | 319 | 320 | 870 321 | 290 322 | 101 323 | 20 324 | 325 | 326 | 327 | true 328 | 329 | 330 | 331 | 332 | 333 | 870 334 | 320 335 | 101 336 | 20 337 | 338 | 339 | 340 | true 341 | 342 | 343 | 344 | 345 | 346 | 870 347 | 350 348 | 101 349 | 20 350 | 351 | 352 | 353 | true 354 | 355 | 356 | 357 | 358 | 359 | 720 360 | 170 361 | 71 362 | 20 363 | 364 | 365 | 366 | Name(RVA) 367 | 368 | 369 | 370 | 371 | 372 | 720 373 | 200 374 | 47 375 | 20 376 | 377 | 378 | 379 | Base 380 | 381 | 382 | 383 | 384 | 385 | 870 386 | 170 387 | 101 388 | 20 389 | 390 | 391 | 392 | true 393 | 394 | 395 | 396 | 397 | 398 | 870 399 | 200 400 | 101 401 | 20 402 | 403 | 404 | 405 | true 406 | 407 | 408 | 409 | 410 | 411 | 870 412 | 20 413 | 101 414 | 20 415 | 416 | 417 | 418 | true 419 | 420 | 421 | 422 | 423 | 424 | 720 425 | 20 426 | 51 427 | 20 428 | 429 | 430 | 431 | DLL Name 432 | 433 | 434 | 435 | 436 | 437 | 438 | 439 | 440 | 441 | 442 | 443 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_HexMode/QHexView.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | 6 | class QHexView : public QAbstractScrollArea 7 | 8 | { 9 | public: 10 | class DataStorage 11 | { 12 | public: 13 | virtual ~DataStorage() {}; 14 | virtual QByteArray getData(std::size_t position, std::size_t length) = 0; 15 | virtual std::size_t size() = 0; 16 | }; 17 | 18 | 19 | class DataStorageArray : public DataStorage 20 | { 21 | public: 22 | DataStorageArray(const QByteArray &arr); 23 | virtual QByteArray getData(std::size_t position, std::size_t length); 24 | virtual std::size_t size(); 25 | private: 26 | QByteArray m_data; 27 | }; 28 | 29 | class DataStorageFile : public DataStorage 30 | { 31 | public: 32 | DataStorageFile(const QString &fileName); 33 | virtual QByteArray getData(std::size_t position, std::size_t length); 34 | virtual std::size_t size(); 35 | private: 36 | QFile m_file; 37 | }; 38 | 39 | 40 | 41 | QHexView(QWidget *parent = 0); 42 | ~QHexView(); 43 | 44 | public slots: 45 | void setData(DataStorage *pData); 46 | void clear(); 47 | void showFromOffset(std::size_t offset); 48 | 49 | protected: 50 | void paintEvent(QPaintEvent *event); 51 | void keyPressEvent(QKeyEvent *event); 52 | void mouseMoveEvent(QMouseEvent *event); 53 | void mousePressEvent(QMouseEvent *event); 54 | private: 55 | DataStorage *m_pdata; 56 | std::size_t m_posAddr; 57 | std::size_t m_posHex; 58 | std::size_t m_posAscii; 59 | std::size_t m_charWidth; 60 | std::size_t m_charHeight; 61 | 62 | 63 | std::size_t m_selectBegin; 64 | std::size_t m_selectEnd; 65 | std::size_t m_selectInit; 66 | std::size_t m_cursorPos; 67 | 68 | // 69 | bool bool_off; 70 | std::size_t sb_valueoff; 71 | 72 | QSize fullSize() const; 73 | void resetSelection(); 74 | void resetSelection(int pos); 75 | void setSelection(int pos); 76 | void ensureVisible(); 77 | void setCursorPos(int pos); 78 | std::size_t cursorPos(const QPoint &position); 79 | }; 80 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_HexMode/QtGuiPE_HexMode.cpp: -------------------------------------------------------------------------------- 1 | #include "QtGuiPE_HexMode.h" 2 | 3 | QtGuiPE_HexMode::QtGuiPE_HexMode(QWidget *parent) 4 | : QWidget(parent) 5 | { 6 | ui.setupUi(this); 7 | qhw.setParent(ui.frame_2); 8 | qhw.setGeometry(QRect(9, 19, 631, 331)); 9 | } 10 | 11 | 12 | void QtGuiPE_HexMode::setData(QHexView::DataStorage *pData) { 13 | qhw.setData(pData); 14 | } 15 | 16 | 17 | void QtGuiPE_HexMode::offset(std::size_t offset) { 18 | qhw.showFromOffset(offset); 19 | 20 | } -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_HexMode/QtGuiPE_HexMode.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "ui_QtGuiPE_HexMode.h" 5 | #include "QHexView.h" 6 | class QtGuiPE_HexMode : public QWidget 7 | { 8 | Q_OBJECT 9 | 10 | public: 11 | QtGuiPE_HexMode(QWidget *parent = Q_NULLPTR); 12 | 13 | void setData(QHexView::DataStorage *pData); 14 | void offset(std::size_t offset); 15 | private: 16 | Ui::QtGuiPE_HexModeClass ui; 17 | QHexView qhw; 18 | }; 19 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_HexMode/QtGuiPE_HexMode.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_HexMode/QtGuiPE_HexMode.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | QtGuiPE_HexModeClass 4 | 5 | 6 | 7 | 0 8 | 0 9 | 689 10 | 400 11 | 12 | 13 | 14 | QtGuiPE_HexMode 15 | 16 | 17 | 18 | 19 | 10 20 | 10 21 | 671 22 | 381 23 | 24 | 25 | 26 | QFrame::WinPanel 27 | 28 | 29 | QFrame::Raised 30 | 31 | 32 | 33 | 34 | 10 35 | 10 36 | 651 37 | 361 38 | 39 | 40 | 41 | QFrame::Box 42 | 43 | 44 | QFrame::Raised 45 | 46 | 47 | 48 | 49 | 10 50 | 0 51 | 91 52 | 16 53 | 54 | 55 | 56 | 57 | Lucida Console 58 | 11 59 | true 60 | 61 | 62 | 63 | HEX MODE 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_ImportTable.cpp: -------------------------------------------------------------------------------- 1 | #include "QtGuiPE_ImportTable.h" 2 | #include "PE_FILE1.h" 3 | QtGuiPE_ImportTable::QtGuiPE_ImportTable(QWidget *parent) 4 | : QWidget(parent) 5 | { 6 | ui.setupUi(this); 7 | QObject::connect(ui.tableWidget, SIGNAL(cellActivated(int, int)), this, SLOT(import_thunks_slot(int, int))); 8 | } 9 | 10 | void QtGuiPE_ImportTable::fill_fields() { 11 | DWORD RVA; 12 | if (file.PE32) 13 | RVA = file.op_header32->DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress; 14 | else 15 | RVA = file.op_header64->DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress; 16 | 17 | if (RVA) { 18 | for (int i = 0; i < file.import_table->import_headers.size(); i++) { 19 | 20 | ui.tableWidget->insertRow(i); 21 | ui.tableWidget->setItem(i, 0, new QTableWidgetItem(QString((*file.import_table->dll_names_of_import_desc)[i].c_str()))); 22 | ui.tableWidget->setItem(i, 1, new QTableWidgetItem(QString("%1").arg(file.import_table->import_headers[i].OriginalFirstThunk, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 23 | ui.tableWidget->setItem(i, 2, new QTableWidgetItem(QString("%1").arg(file.import_table->import_headers[i].TimeDateStamp, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 24 | ui.tableWidget->setItem(i, 3, new QTableWidgetItem(QString("%1").arg(file.import_table->import_headers[i].ForwarderChain, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 25 | ui.tableWidget->setItem(i, 4, new QTableWidgetItem(QString("%1").arg(file.import_table->import_headers[i].Name, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 26 | ui.tableWidget->setItem(i, 5, new QTableWidgetItem(QString("%1").arg(file.import_table->import_headers[i].FirstThunk, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 27 | } 28 | } 29 | } 30 | 31 | void QtGuiPE_ImportTable::import_thunks_slot(int row, int column) { 32 | thunks_table.fill(row, column); 33 | thunks_table.setWindowTitle(QString("QtGuiPE ") + QString("THUNKS ") + QString((*file.import_table->dll_names_of_import_desc)[row].c_str())); 34 | thunks_table.setWindowFlags(Qt::Widget | Qt::WindowCloseButtonHint | Qt::WindowMinimizeButtonHint | Qt::MSWindowsFixedSizeDialogHint); 35 | thunks_table.show(); 36 | } 37 | 38 | void QtGuiPE_ImportTable::clear_fields_table() { 39 | ui.tableWidget->clearContents(); 40 | ui.tableWidget->setRowCount(0); 41 | } -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_ImportTable.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "ui_QtGuiPE_ImportTable.h" 5 | #include "QtGuiPE_Thunks.h" 6 | 7 | class QtGuiPE_ImportTable : public QWidget 8 | { 9 | Q_OBJECT 10 | 11 | public: 12 | QtGuiPE_ImportTable(QWidget *parent = Q_NULLPTR); 13 | void fill_fields(); 14 | void clear_fields_table(); 15 | private: 16 | QtGuiPE_Thunks thunks_table; 17 | Ui::QtGuiPE_ImportTableClass ui; 18 | public Q_SLOTS: 19 | void import_thunks_slot(int row, int column); 20 | }; 21 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_ImportTable.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_ImportTable.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | QtGuiPE_ImportTableClass 4 | 5 | 6 | 7 | 0 8 | 0 9 | 977 10 | 289 11 | 12 | 13 | 14 | QtGuiPE_ImportTable 15 | 16 | 17 | 18 | 19 | 9 20 | 9 21 | 951 22 | 271 23 | 24 | 25 | 26 | QFrame::WinPanel 27 | 28 | 29 | QFrame::Raised 30 | 31 | 32 | 33 | 34 | 10 35 | 10 36 | 931 37 | 251 38 | 39 | 40 | 41 | QFrame::Box 42 | 43 | 44 | QFrame::Raised 45 | 46 | 47 | 48 | 49 | 10 50 | 0 51 | 121 52 | 21 53 | 54 | 55 | 56 | 57 | Lucida Console 58 | 11 59 | true 60 | false 61 | 62 | 63 | 64 | IMPORT TABLE 65 | 66 | 67 | 68 | 69 | 70 | 10 71 | 21 72 | 911 73 | 221 74 | 75 | 76 | 77 | QAbstractItemView::NoEditTriggers 78 | 79 | 80 | QAbstractItemView::SelectRows 81 | 82 | 83 | QAbstractItemView::ScrollPerPixel 84 | 85 | 86 | QAbstractItemView::ScrollPerPixel 87 | 88 | 89 | 151 90 | 91 | 92 | 151 93 | 94 | 95 | 30 96 | 97 | 98 | 99 | DLL Name 100 | 101 | 102 | 103 | 104 | Original First Thunk 105 | 106 | 107 | 108 | 109 | Time Date Stamp 110 | 111 | 112 | 113 | 114 | Forwarder Chain 115 | 116 | 117 | 118 | 119 | Name 120 | 121 | 122 | 123 | 124 | First Thunk 125 | 126 | 127 | 128 | 129 | 130 | 131 | 50 132 | 0 133 | 431 134 | 20 135 | 136 | 137 | 138 | 139 | 9 140 | 141 | 142 | 143 | Double click or Press Enter to view DLL import 144 | 145 | 146 | Qt::AutoText 147 | 148 | 149 | Qt::AlignCenter 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_Resource.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "ui_QtGuiPE_Resource.h" 5 | //#include "QtGuiPE.h" 6 | class QtGuiPE_Resource : public QWidget 7 | { 8 | Q_OBJECT 9 | 10 | public: 11 | QtGuiPE_Resource(QWidget *parent = Q_NULLPTR); 12 | 13 | void fill_fields(); 14 | void clear_fields(); 15 | private: 16 | Ui::QtGuiPE_ResourceClass ui; 17 | }; 18 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_Resource.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | Resources/folder.bmp 4 | Resources/resource-icon.png 5 | 6 | 7 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_Resource.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | QtGuiPE_ResourceClass 4 | 5 | 6 | 7 | 0 8 | 0 9 | 853 10 | 400 11 | 12 | 13 | 14 | QtGuiPE_Resource 15 | 16 | 17 | 18 | 19 | 9 20 | 9 21 | 831 22 | 381 23 | 24 | 25 | 26 | QFrame::WinPanel 27 | 28 | 29 | QFrame::Raised 30 | 31 | 32 | 33 | 34 | 10 35 | 10 36 | 811 37 | 361 38 | 39 | 40 | 41 | QFrame::Box 42 | 43 | 44 | QFrame::Raised 45 | 46 | 47 | 48 | 49 | 10 50 | 0 51 | 131 52 | 16 53 | 54 | 55 | 56 | 57 | Lucida Console 58 | 11 59 | true 60 | 61 | 62 | 63 | QFrame::Raised 64 | 65 | 66 | RESOURCE TABLE 67 | 68 | 69 | 70 | 71 | 72 | 10 73 | 20 74 | 791 75 | 331 76 | 77 | 78 | 79 | QAbstractItemView::NoEditTriggers 80 | 81 | 82 | false 83 | 84 | 85 | true 86 | 87 | 88 | 135 89 | 90 | 91 | 92 | Type\Name Resource 93 | 94 | 95 | 96 | 97 | RVA 98 | 99 | 100 | 101 | 102 | RAW 103 | 104 | 105 | 106 | 107 | Size 108 | 109 | 110 | 111 | 112 | LANG 113 | 114 | 115 | 116 | 117 | SUBLANG 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_Sections.cpp: -------------------------------------------------------------------------------- 1 | #include "QtGuiPE_Sections.h" 2 | #include "PE_FILE1.h" 3 | QtGuiPE_Sections::QtGuiPE_Sections(QWidget *parent) 4 | : QWidget(parent) 5 | { 6 | ui.setupUi(this); 7 | } 8 | 9 | void QtGuiPE_Sections::fill_fields() { 10 | for (WORD i = 0; i < file.file_header->NumberOfSections; i++) 11 | { 12 | ui.tableWidget->insertRow(i); 13 | ui.tableWidget->setItem(i, 0, new QTableWidgetItem(QString((char*)file.section_headers[i].Name))); 14 | ui.tableWidget->setItem(i, 1, new QTableWidgetItem(QString("%1").arg(file.section_headers[i].Misc.VirtualSize, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 15 | ui.tableWidget->setItem(i, 2, new QTableWidgetItem(QString("%1").arg(file.section_headers[i].VirtualAddress, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 16 | ui.tableWidget->setItem(i, 3, new QTableWidgetItem(QString("%1").arg(file.section_headers[i].SizeOfRawData, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 17 | ui.tableWidget->setItem(i, 4, new QTableWidgetItem(QString("%1").arg(file.section_headers[i].PointerToRawData, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 18 | // ui.tableWidget->setItem(i, 5, new QTableWidgetItem(QString("%1").arg(file.section_headers[i].PointerToRelocations, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 19 | // ui.tableWidget->setItem(i, 6, new QTableWidgetItem(QString("%1").arg(file.section_headers[i].PointerToLinenumbers, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 20 | // ui.tableWidget->setItem(i, 7, new QTableWidgetItem(QString("%1").arg(file.section_headers[i].NumberOfRelocations, sizeof(WORD) * 2, 16, QLatin1Char('0')).toUpper())); 21 | // ui.tableWidget->setItem(i, 8, new QTableWidgetItem(QString("%1").arg(file.section_headers[i].NumberOfLinenumbers, sizeof(WORD) * 2, 16, QLatin1Char('0')).toUpper())); 22 | ui.tableWidget->setItem(i, 5, new QTableWidgetItem(QString("%1").arg(file.section_headers[i].Characteristics, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 23 | } 24 | } 25 | 26 | void QtGuiPE_Sections::clear_fields_table() { 27 | ui.tableWidget->clearContents(); 28 | ui.tableWidget->setRowCount(0); 29 | } -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_Sections.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "ui_QtGuiPE_Sections.h" 5 | #include "QtGuiPE_HexMode\QtGuiPE_HexMode.h" 6 | class QtGuiPE_Sections : public QWidget 7 | { 8 | Q_OBJECT 9 | 10 | public: 11 | QtGuiPE_Sections(QWidget *parent = Q_NULLPTR); 12 | void fill_fields(); 13 | void clear_fields_table(); 14 | QtGuiPE_HexMode hex_mode; 15 | private: 16 | Ui::QtGuiPE_SectionsClass ui; 17 | 18 | }; 19 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_Sections.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_Sections.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | QtGuiPE_SectionsClass 4 | 5 | 6 | 7 | 0 8 | 0 9 | 829 10 | 354 11 | 12 | 13 | 14 | QtGuiPE_Sections 15 | 16 | 17 | 18 | 19 | 10 20 | 10 21 | 811 22 | 331 23 | 24 | 25 | 26 | QFrame::WinPanel 27 | 28 | 29 | QFrame::Raised 30 | 31 | 32 | 33 | 34 | 10 35 | 10 36 | 791 37 | 311 38 | 39 | 40 | 41 | QFrame::Box 42 | 43 | 44 | QFrame::Raised 45 | 46 | 47 | 48 | 49 | 10 50 | 0 51 | 91 52 | 16 53 | 54 | 55 | 56 | 57 | Lucida Console 58 | 11 59 | true 60 | 61 | 62 | 63 | SECTIONS 64 | 65 | 66 | 67 | 68 | 69 | 10 70 | 20 71 | 771 72 | 281 73 | 74 | 75 | 76 | 77 | 78 | 79 | QAbstractItemView::NoEditTriggers 80 | 81 | 82 | QAbstractItemView::SelectRows 83 | 84 | 85 | QAbstractItemView::ScrollPerPixel 86 | 87 | 88 | QAbstractItemView::ScrollPerPixel 89 | 90 | 91 | 126 92 | 93 | 94 | 126 95 | 96 | 97 | 30 98 | 99 | 100 | 101 | Name 102 | 103 | 104 | 105 | 106 | RVA Size 107 | 108 | 109 | 110 | 111 | RVA Offset 112 | 113 | 114 | 115 | 116 | RAW Size 117 | 118 | 119 | 120 | 121 | RAW Offset 122 | 123 | 124 | 125 | 126 | Characteristics 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_Thunks.cpp: -------------------------------------------------------------------------------- 1 | #include "QtGuiPE_Thunks.h" 2 | #include 3 | #include "PE_FILE1.h" 4 | QtGuiPE_Thunks::QtGuiPE_Thunks(QWidget *parent) 5 | : QWidget(parent) 6 | { 7 | ui.setupUi(this); 8 | } 9 | 10 | void QtGuiPE_Thunks::fill(int row, int column) { 11 | ui.tableWidget->clearContents(); 12 | ui.tableWidget->setRowCount(0); 13 | 14 | if (file.PE32) { 15 | if (file.op_header32->DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress) { 16 | int ii = 0; 17 | DWORD th_rvafirst = file.import_table->import_headers[row].OriginalFirstThunk; 18 | for (vector::iterator ptd32 = (*file.import_table->image_thunk32)[row].begin(); 19 | ptd32 != (*file.import_table->image_thunk32)[row].end(); 20 | ptd32++) { 21 | 22 | ui.tableWidget->insertRow(ii); 23 | ui.tableWidget->setItem(ii, 0, new QTableWidgetItem(QString((*file.import_table->func_names_of_import_desc)[row][ii].c_str()))); 24 | ui.tableWidget->setItem(ii, 1, new QTableWidgetItem(QString("%1").arg(ptd32->u1.AddressOfData, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 25 | ui.tableWidget->setItem(ii, 2, new QTableWidgetItem(QString("%1").arg(th_rvafirst + (ii * sizeof(DWORD)), sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 26 | DWORD offset = rvaToOff(&file.section_headers, th_rvafirst + (ii * sizeof(DWORD)), file.op_header32->SectionAlignment); 27 | ui.tableWidget->setItem(ii, 3, new QTableWidgetItem(QString("%1").arg(offset, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 28 | WORD Hint = (*file.import_table->image_import_names)[row][ii].Hint; 29 | if(Hint == 0xFFFF) 30 | ui.tableWidget->setItem(ii, 4, new QTableWidgetItem(QString("???"))); 31 | else 32 | ui.tableWidget->setItem(ii, 4, new QTableWidgetItem(QString("%1").arg(Hint, sizeof(WORD) * 2, 16, QLatin1Char('0')).toUpper())); 33 | ii++; 34 | } 35 | } 36 | } 37 | else { 38 | if (file.op_header64->DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress) { 39 | int ii = 0; 40 | DWORD th_rvafirst = file.import_table->import_headers[row].OriginalFirstThunk; 41 | for (vector::iterator ptd64 = (*file.import_table->image_thunk64)[row].begin(); 42 | ptd64 != (*file.import_table->image_thunk64)[row].end(); 43 | ptd64++) { 44 | 45 | ui.tableWidget->insertRow(ii); 46 | ui.tableWidget->setItem(ii, 0, new QTableWidgetItem(QString((*file.import_table->func_names_of_import_desc)[row][ii].c_str()))); 47 | ui.tableWidget->setItem(ii, 1, new QTableWidgetItem(QString("%1").arg(ptd64->u1.AddressOfData, sizeof(ULONGLONG) * 2, 16, QLatin1Char('0')).toUpper())); 48 | ui.tableWidget->setItem(ii, 2, new QTableWidgetItem(QString("%1").arg(th_rvafirst + (ii * sizeof(DWORD)), sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 49 | DWORD offset = rvaToOff(&file.section_headers, th_rvafirst + (ii * sizeof(DWORD)), file.op_header64->SectionAlignment); 50 | ui.tableWidget->setItem(ii, 3, new QTableWidgetItem(QString("%1").arg(offset, sizeof(DWORD) * 2, 16, QLatin1Char('0')).toUpper())); 51 | WORD Hint = (*file.import_table->image_import_names)[row][ii].Hint; 52 | if (Hint == 0xFFFF) 53 | ui.tableWidget->setItem(ii, 4, new QTableWidgetItem(QString("???"))); 54 | else 55 | ui.tableWidget->setItem(ii, 4, new QTableWidgetItem(QString("%1").arg(Hint, sizeof(WORD) * 2, 16, QLatin1Char('0')).toUpper())); 56 | ii++; 57 | } 58 | } 59 | } 60 | } -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_Thunks.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "ui_QtGuiPE_Thunks.h" 5 | 6 | class QtGuiPE_Thunks : public QWidget 7 | { 8 | Q_OBJECT 9 | 10 | public: 11 | QtGuiPE_Thunks(QWidget *parent = Q_NULLPTR); 12 | void fill(int row, int column); 13 | private: 14 | Ui::QtGuiPE_ThunksClass ui; 15 | 16 | }; 17 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_Thunks.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /QtGuiPE/QtGuiPE_Thunks.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | QtGuiPE_ThunksClass 4 | 5 | 6 | 7 | 0 8 | 0 9 | 945 10 | 311 11 | 12 | 13 | 14 | QtGuiPE_Thunks 15 | 16 | 17 | 18 | 19 | 10 20 | 10 21 | 921 22 | 291 23 | 24 | 25 | 26 | QFrame::WinPanel 27 | 28 | 29 | QFrame::Raised 30 | 31 | 32 | 33 | 34 | 10 35 | 10 36 | 901 37 | 271 38 | 39 | 40 | 41 | QFrame::Box 42 | 43 | 44 | QFrame::Raised 45 | 46 | 47 | 48 | 49 | 10 50 | 0 51 | 81 52 | 16 53 | 54 | 55 | 56 | 57 | Lucida Console 58 | 11 59 | true 60 | 61 | 62 | 63 | THUNKS 64 | 65 | 66 | 67 | 68 | 69 | 10 70 | 20 71 | 881 72 | 241 73 | 74 | 75 | 76 | QAbstractItemView::NoEditTriggers 77 | 78 | 79 | QAbstractItemView::SelectRows 80 | 81 | 82 | QAbstractItemView::ScrollPerPixel 83 | 84 | 85 | QAbstractItemView::ScrollPerPixel 86 | 87 | 88 | 170 89 | 90 | 91 | 170 92 | 93 | 94 | 30 95 | 96 | 97 | 98 | API Name 99 | 100 | 101 | 102 | 103 | Thunk Value 104 | 105 | 106 | 107 | 108 | Thunk RVA 109 | 110 | 111 | 112 | 113 | Thunk RAW 114 | 115 | 116 | 117 | 118 | Hint 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | -------------------------------------------------------------------------------- /QtGuiPE/Resources/folder.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xdead4ead/PE-VIEWER/165aa34f34fb9bc8640adb1cbd249f50466679b6/QtGuiPE/Resources/folder.bmp -------------------------------------------------------------------------------- /QtGuiPE/Resources/resource-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xdead4ead/PE-VIEWER/165aa34f34fb9bc8640adb1cbd249f50466679b6/QtGuiPE/Resources/resource-icon.png -------------------------------------------------------------------------------- /QtGuiPE/main.cpp: -------------------------------------------------------------------------------- 1 | #include "QtGuiPE.h" 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | void message_to_file(QtMsgType type, const QMessageLogContext& context, const QString& msg) { 8 | //??? 9 | } 10 | 11 | TCHAR ErrorBuffer[PE_FILE_MAXCHAR_ERROR]; 12 | PE_FILE file; 13 | 14 | 15 | int main(int argc, char* argv[]) 16 | { 17 | QApplication a(argc, argv); 18 | //qInstallMessageHandler(message_to_file); 19 | QtGuiPE w; 20 | QString pathfile = QFileDialog::getOpenFileName(nullptr,"OPEN FILE", "", "Executable COFF FORMAT OBJECTS (*.exe *.dll *.ocx *.cpl *.scr *.sys)"); 21 | 22 | if (!pathfile.isEmpty()) { 23 | if (w.ReadPE(pathfile)) { 24 | w.setWindowFlags(Qt::Widget | Qt::WindowCloseButtonHint | Qt::WindowMinimizeButtonHint | Qt::MSWindowsFixedSizeDialogHint); 25 | w.setWindowTitle("GuiPEBuilder " + pathfile); 26 | 27 | w.show(); 28 | return a.exec(); 29 | } 30 | } 31 | //__try { 32 | // w.ReadPE(pathfile); 33 | 34 | // //// 35 | // //w.file.read(pathfile.toStdWString().c_str()); 36 | //} 37 | //__except (PE_FILE_Exception(GetExceptionCode(), GetExceptionInformation(),ErrorBuffer)) { 38 | // //messageBox 39 | //} 40 | 41 | 42 | 43 | 44 | /*if (!w.open_file(fileName_DATA)) 45 | { 46 | w.setWindowFlags(Qt::Widget | Qt::WindowCloseButtonHint | Qt::WindowMinimizeButtonHint | Qt::MSWindowsFixedSizeDialogHint); 47 | w.setWindowTitle("QtGuiPE " + fileName_DATA); 48 | 49 | w.show(); 50 | }*/ 51 | /*else { 52 | return a.exec(); 53 | }*/ 54 | return EXIT_SUCCESS; 55 | } 56 | -------------------------------------------------------------------------------- /QtGuiPE/my_winnt.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | 6 | #define MAGIC_NUMBER_NORMAL_EXEC 0x10B 7 | #define MAGIC_NUMBER_PE32 0x10B 8 | #define MAGIC_NUMBER_ROM_IMAGE 0x107 9 | #define MAGIC_NUMBER_PE32PLUS 0x20B 10 | 11 | //DLL 12 | #define IMAGE_LIBRARY_PROCESS_INIT 0x0001 13 | #define IMAGE_LIBRARY_PROCESS_TERM 0x0002 14 | #define IMAGE_LIBRARY_THREAD_INIT 0x0004 15 | #define IMAGE_LIBRARY_THREAD_TERM 0x0008 16 | 17 | 18 | //data directory 19 | #define IMAGE_DIRECTORY_ENTRY_RESERVED 15 20 | 21 | 22 | //sections 23 | #define IMAGE_FIRST_SECTION32( nth ) ((ULONGLONG)nth \ 24 | + sizeof(DWORD) + sizeof(IMAGE_FILE_HEADER) + sizeof(IMAGE_OPTIONAL_HEADER32)) 25 | #define IMAGE_FIRST_SECTION64( nth ) ((ULONGLONG)nth \ 26 | + sizeof(DWORD) + sizeof(IMAGE_FILE_HEADER) + sizeof(IMAGE_OPTIONAL_HEADER64)) 27 | //#define IMAGE_FIRST_SECTION64( p_ntheader ) ((PIMAGE_SECTION_HEADER)((&p_ntheader->OptionalHeader) \ 28 | // + p_ntheader->FileHeader.SizeOfOptionalHeader)) 29 | 30 | #define CHARACTERISTICS_OFFSET(A) (((PIMAGE_DOS_HEADER)A)->e_lfanew \ 31 | + sizeof(DWORD) + sizeof(IMAGE_FILE_HEADER) - sizeof(WORD)) 32 | 33 | 34 | 35 | #define ALIGN_DOWN(x, align) (x & ~(align-1)) 36 | #define ALIGN_UP(x, align) ((x & (align-1)) ? ALIGN_DOWN(x,align)+align : x) 37 | 38 | 39 | -------------------------------------------------------------------------------- /QtGuiPE/resource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xdead4ead/PE-VIEWER/165aa34f34fb9bc8640adb1cbd249f50466679b6/QtGuiPE/resource.h -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PE/PE +(64bit) Viewer (Qt 5.8) 0.6a , 28.08.2017 2 | 3 | ///MSVC 2015 QT 5.8 4 | Utility for working with PE / PE + (64bit) files. 5 | 6 | 7 | ##### Main features of the program: 8 | - Support for new format PE + (64bit) 9 | - View the DOS header 10 | - View the COFF header 11 | - View the Optional header 12 | - View Sections table 13 | - View resource table 14 | - View import / export tables 15 | 16 | # 0.6.1a , 7.09.2017: 17 | 18 | - View exception table 19 | 20 | # 0.6.2a , 18.01.2018: 21 | 22 | - Add hex mode (Used https://github.com/virinext/QHexView) 23 | - View Security table 24 | --------------------------------------------------------------------------------