-
Notifications
You must be signed in to change notification settings - Fork 90
/
README-FILES.txt
153 lines (120 loc) · 5.89 KB
/
README-FILES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
===============================================================================
JPEGsnoop - README
by Calvin Hass
http://www.impulseadventure.com/photo/jpeg-snoop.html
===============================================================================
JPEGsnoop is a JPEG decoding and analysis utility written for Windows.
It reports all metadata contained within an image in addition to
the unique compression signatures that can be used to identify edited images.
JPEGsnoop is a portable application that does not require installation.
Contents:
1) Files
2) Acknowledgements
-------------------
1) FILES
-------------------
JPEGsnoop is written in Microsoft Visual Studio 2012 Pro (C++) using MFC.
The project is a SDI (Single Document Interface) with Document-View architecture.
Files are arranged as follows:
MFC User Interface
------------------
JPEGsnoopDoc.* - SDI Document class.
JPEGsnoopView.* - SDI View class (for top split window / textual output)
JPEGsnoopViewImg.* - SDI View class (for bottom split window / image output)
MainFrm.* - SDI Frame class. Contains status bar, toolbar and
code to support the splitter window.
Global Definitions
------------------
snoop.h - Global defines and debugging options. Primarily
used to denote current release version number.
Application
-----------
CntrItem.* - OLE container / RichEdit class
DbSigs.* - Compression signature database class
! Dib.* - DIB (Bitmap) class
DocLog.* - Document logging helper routines
FileTiff.* - TIFF export routines
General.*
! HyperlinkStatic.* - Hyperlink class for dialog box static controls
ImgDecode.* - Image Decoder (for Scan segment)
JfifDecode.* - JFIF Parser
JPEGsnoop.*
! Md5.* - MD5 hash routines, used for compression signature
! Registry.* - Windows Registry class
SnoopConfig.* - Application configuration class
stdafx.* - Windows precompiled headers (auto-created)
! UrlString.* - URL En/Decoding class
WindowBuf.* - File buffer / cache routines
UNUSED:
! CmdLine.* - Command-line processing
! OperationDlg.* - Progress dialog with cancel
NOTE: Files marked with "!" denote classes that have reused code from
other authors. Please see the acknowledgements section.
Supporting Dialog Boxes
-----------------------
AboutDlg.* - About dialog. Indicates version number and link to
website with updated releases.
DbManageDlg.* - Local signature database management dialog. This
dialog allows the user to view and delete the compression
signatures that have been saved locally.
DbSubmitDlg.* - Signature database submit dialog. This dialog provides an
opportunity for the user to describe a few characteristics
of the image signature that will be sent to the database.
DecodeDetailDlg.* - Detailed decode dialog. Asks the user for a starting MCU
coordinate and length to begin detailed decoding.
ExportDlg.* - Export JPEG dialog. Provides a few options in the JPEG
export process.
ExportTiffDlg.* - Export TIFF dialog. Provides a few options in the TIFF
export process.
FolderDlg.* - Generic folder select dialog.
LookupDlg.* - Lookup file offset from MCU dialog. User inputs MCU coordinate
and lookup returns file offset within scan segment.
ModelessDlg.* - Generic modeless dialog.
NoteDlg.* - Generic note dialog. This dialog is used to inform the
user of runtime messages or warnings.
OffsetDlg.* - File offset dialog. Provides the user with the ability to
specify a starting file offset for parsing/decoding.
OperationDlg.* - Progress dialog for lengthy operations.
OverlayBufDlg.* - File overlay dialog. This dialog presents the user with
the current hex values at a specific position within the file
and provides the user with the ability to overwrite one or
more bytes with new hex values.
SettingsDlg.* - Configuration settings dialog. Provides all major configuration
options to the user. The settings are saved in the registry.
TermsDlg.* - Terms and conditions dialog. The dialog presents the user with
the EULA and records whether the user accepted it.
UpdateAvailDlg.* - Release update available dialog. Informs the user of the
existence of a newer version of JPEGsnoop and offers the
option of launching a browser window to download the latest
version.
Compression Signature Database
------------------------------
Signatures.inl - The current built-in compression signatures database.
This file is currently generated from a PHP script
residing on the ImpulseAdventure.com website that
fetches the latest compression signatures from a
MySQL database.
-------------------
2) ACKNOWLEDGEMENTS
-------------------
I am very grateful to the following authors whose classes or concepts I have reused in
the development of JPEGsnoop.
FolderDlg.cpp
- MSDN Magazine
Dib.cpp
- MSDN?
HyperlinkStatic.cpp
- http://www.codeguru.com/cpp/controls/staticctrl/article.php/c5801
- Franz Wong (http://www.codeguru.com/member.php/2259/)
MD5.cpp
- By RSA
Registry.cpp
- http://www.codeproject.com/KB/system/registryvars.aspx
- Steve King
- License: CPOL "Code Project Open License" http://www.codeproject.com/info/cpol10.aspx
UrlString.cpp
- Stephane Erhardt
- http://www.codeguru.com/cpp/cpp/cpp_mfc/comments.php/c4029/?thread=9533
I also would like to give a special mention to Phil Harvey, the author of the
comprehensive ExifTool (http://www.sno.phy.queensu.ca/~phil/exiftool/). His work
in collating and documenting the vast set of EXIF tags has been incredibly helpful.