From 8ab69b4273a8106372e2eae8f3dbd572fd9d1e79 Mon Sep 17 00:00:00 2001 From: Myitian Date: Sun, 16 Jul 2023 20:49:54 +0800 Subject: [PATCH] v1.0.0 --- LICENSE | 1 + LICENSE_QPDF | 202 +++++++++++++ QPDFErrorWrapper/Constants.h | 235 +++++++++++++++ QPDFErrorWrapper/DLL.h | 134 +++++++++ QPDFErrorWrapper/QPDFErrorWrapper.vcxproj | 121 ++++++++ .../QPDFErrorWrapper.vcxproj.filters | 40 +++ QPDFErrorWrapper/QPDFExc.hh | 79 +++++ QPDFErrorWrapper/Types.h | 33 +++ QPDFErrorWrapper/qpdf_32.lib | Bin 0 -> 566256 bytes QPDFErrorWrapper/qpdf_64.lib | Bin 0 -> 574140 bytes QPDFErrorWrapper/wrapper.cpp | 61 ++++ README.md | 17 +- SharpPDFDecrypter.sln | 22 +- SharpPDFDecrypter/App.xaml | 19 +- SharpPDFDecrypter/App.xaml.cs | 39 ++- SharpPDFDecrypter/AssemblyInfo.cs | 16 + SharpPDFDecrypter/IconExtension.cs | 19 -- SharpPDFDecrypter/LicenseWindow.xaml | 134 +++++++++ SharpPDFDecrypter/LicenseWindow.xaml.cs | 31 ++ SharpPDFDecrypter/MainWindow.xaml | 110 +++++-- SharpPDFDecrypter/MainWindow.xaml.cs | 277 ++++++++++++++++-- SharpPDFDecrypter/PasswordWindow.xaml | 59 ++++ SharpPDFDecrypter/PasswordWindow.xaml.cs | 85 ++++++ .../Properties/Resources.Designer.cs | 216 ++++++++++++++ SharpPDFDecrypter/Properties/Resources.resx | 160 ++++++++++ SharpPDFDecrypter/QPDF.cs | 209 +++++++++++-- SharpPDFDecrypter/Resources/ProjectInfo.txt | 14 + .../qpdf-x86.dll => Resources/QPDF_32.dll} | Bin .../qpdf-x64.dll => Resources/QPDF_64.dll} | Bin SharpPDFDecrypter/Resources/Wrapper_32.dll | Bin 0 -> 9216 bytes SharpPDFDecrypter/Resources/Wrapper_64.dll | Bin 0 -> 11264 bytes SharpPDFDecrypter/SharpPDFDecrypter.csproj | 32 ++ SharpPDFDecrypter/TaskInfo.cs | 164 +++++++++-- SharpPDFDecrypter/Util.cs | 40 --- .../Utils/DictionaryExtension.cs | 41 +++ SharpPDFDecrypter/Utils/IconExtension.cs | 35 +++ SharpPDFDecrypter/{ => Utils}/IconHelper.cs | 24 +- SharpPDFDecrypter/Utils/OpenFileHelper.cs | 58 ++++ SharpPDFDecrypter/Utils/OpenFolderDialog.cs | 196 +++++++++++++ SharpPDFDecrypter/Utils/Util.cs | 88 ++++++ 40 files changed, 2857 insertions(+), 154 deletions(-) create mode 100644 LICENSE_QPDF create mode 100644 QPDFErrorWrapper/Constants.h create mode 100644 QPDFErrorWrapper/DLL.h create mode 100644 QPDFErrorWrapper/QPDFErrorWrapper.vcxproj create mode 100644 QPDFErrorWrapper/QPDFErrorWrapper.vcxproj.filters create mode 100644 QPDFErrorWrapper/QPDFExc.hh create mode 100644 QPDFErrorWrapper/Types.h create mode 100644 QPDFErrorWrapper/qpdf_32.lib create mode 100644 QPDFErrorWrapper/qpdf_64.lib create mode 100644 QPDFErrorWrapper/wrapper.cpp delete mode 100644 SharpPDFDecrypter/IconExtension.cs create mode 100644 SharpPDFDecrypter/LicenseWindow.xaml create mode 100644 SharpPDFDecrypter/LicenseWindow.xaml.cs create mode 100644 SharpPDFDecrypter/PasswordWindow.xaml create mode 100644 SharpPDFDecrypter/PasswordWindow.xaml.cs create mode 100644 SharpPDFDecrypter/Properties/Resources.Designer.cs create mode 100644 SharpPDFDecrypter/Properties/Resources.resx create mode 100644 SharpPDFDecrypter/Resources/ProjectInfo.txt rename SharpPDFDecrypter/{qpdf/qpdf-x86.dll => Resources/QPDF_32.dll} (100%) rename SharpPDFDecrypter/{qpdf/qpdf-x64.dll => Resources/QPDF_64.dll} (100%) create mode 100644 SharpPDFDecrypter/Resources/Wrapper_32.dll create mode 100644 SharpPDFDecrypter/Resources/Wrapper_64.dll delete mode 100644 SharpPDFDecrypter/Util.cs create mode 100644 SharpPDFDecrypter/Utils/DictionaryExtension.cs create mode 100644 SharpPDFDecrypter/Utils/IconExtension.cs rename SharpPDFDecrypter/{ => Utils}/IconHelper.cs (91%) create mode 100644 SharpPDFDecrypter/Utils/OpenFileHelper.cs create mode 100644 SharpPDFDecrypter/Utils/OpenFolderDialog.cs create mode 100644 SharpPDFDecrypter/Utils/Util.cs diff --git a/LICENSE b/LICENSE index 261eeb9..d645695 100644 --- a/LICENSE +++ b/LICENSE @@ -1,3 +1,4 @@ + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ diff --git a/LICENSE_QPDF b/LICENSE_QPDF new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/LICENSE_QPDF @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/QPDFErrorWrapper/Constants.h b/QPDFErrorWrapper/Constants.h new file mode 100644 index 0000000..74c9aea --- /dev/null +++ b/QPDFErrorWrapper/Constants.h @@ -0,0 +1,235 @@ +/* Copyright (c) 2005-2023 Jay Berkenbilt + * + * This file is part of qpdf. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Versions of qpdf prior to version 7 were released under the terms + * of version 2.0 of the Artistic License. At your option, you may + * continue to consider qpdf to be licensed under those terms. Please + * see the manual for additional information. + */ + +#ifndef QPDFCONSTANTS_H +#define QPDFCONSTANTS_H + +/* + * REMEMBER: + * + * Keep this file 'C' compatible so it can be used from the C and C++ + * interfaces. + */ + +/* ****************************** NOTE ****************************** + +Tl;Dr: new values must be added to the end such that no constant's +numerical value changes, even across major releases. + +Details: + +As new values are added to existing enumerated types in this file, +it is important not to change the actual values of any constants. +This means that, in the absence of explicit assignment of values, +the order of entries can't change even across major releases. Why? +Here are the reasons: + +* Many of these constants are used by the C API. The C API is used + through foreign function call interfaces by users of other languages + who may not have access to or the ability to parse a C header file. + As such, users are likely to hard-code numerical values or create + their own constants whose values match. If we change values here, + their code would break, and there would be no way to detect it short + of noticing a bug. Furthermore, it would be difficult to write code + that properly handled more than one version of the qpdf shared + object (e.g. DLL) since the information about what version of qpdf + is involved is only available at runtime. + +- It has happened from time to time that a user builds an application + with an incorrectly installed qpdf, such as having mismatched header + files and library files. In the event that they are only using qpdf + interfaces that have been stable across the versions in question, + this turns out to be harmless. If they happen to use non-compatible + interfaces, this results usually in a failure to load or an obvious + runtime error. If we change values of constants, it is possible that + code that links and runs may have mismatched values for constants. + This would create a bug that would be extremely difficult to track + down and impossible for qpdf maintainers to reproduce. + +*/ + +/* Exit Codes from QPDFJob and the qpdf CLI */ + +enum qpdf_exit_code_e { + qpdf_exit_success = 0, + /* Normal exit codes */ + qpdf_exit_error = 2, + qpdf_exit_warning = 3, + /* For --is-encrypted and --requires-password */ + qpdf_exit_is_not_encrypted = 2, + qpdf_exit_correct_password = 3, +}; + +/* Error Codes */ + +enum qpdf_error_code_e { + qpdf_e_success = 0, + qpdf_e_internal, /* logic/programming error -- indicates bug */ + qpdf_e_system, /* I/O error, memory error, etc. */ + qpdf_e_unsupported, /* PDF feature not (yet) supported by qpdf */ + qpdf_e_password, /* incorrect password for encrypted file */ + qpdf_e_damaged_pdf, /* syntax errors or other damage in PDF */ + qpdf_e_pages, /* erroneous or unsupported pages structure */ + qpdf_e_object, /* type/bounds errors accessing objects */ + qpdf_e_json, /* error in qpdf JSON */ + qpdf_e_linearization, /* linearization warning */ +}; + +/* Object Types */ + +/* PDF objects represented by QPDFObjectHandle or, in the C API, by + * qpdf_oh, have a unique type code that has one of the values in the + * list below. As new object types are added to qpdf, additional items + * may be added to the list, so code that switches on these values + * should take that into consideration. (Maintainer note: it would be + * better to call this qpdf_ot_* rather than ot_* to reduce likelihood + * of name collision, but changing the names of the values breaks + * backward compatibility.) + */ +enum qpdf_object_type_e { + /* Object types internal to qpdf */ + ot_uninitialized, + ot_reserved, + /* Object types that can occur in the main document */ + ot_null, + ot_boolean, + ot_integer, + ot_real, + ot_string, + ot_name, + ot_array, + ot_dictionary, + ot_stream, + /* Additional object types that can occur in content streams */ + ot_operator, + ot_inlineimage, + /* Object types internal to qpdf */ + ot_unresolved, + ot_destroyed, +}; + +/* Write Parameters. See QPDFWriter.hh for details. */ + +enum qpdf_object_stream_e { + qpdf_o_disable = 0, /* disable object streams */ + qpdf_o_preserve, /* preserve object streams */ + qpdf_o_generate /* generate object streams */ +}; +enum qpdf_stream_data_e { + qpdf_s_uncompress = 0, /* uncompress stream data */ + qpdf_s_preserve, /* preserve stream data compression */ + qpdf_s_compress /* compress stream data */ +}; + +/* Stream data flags */ + +/* See pipeStreamData in QPDFObjectHandle.hh for details on these flags. */ +enum qpdf_stream_encode_flags_e { + qpdf_ef_compress = 1 << 0, /* compress uncompressed streams */ + qpdf_ef_normalize = 1 << 1, /* normalize content stream */ +}; +enum qpdf_stream_decode_level_e { + /* These must be in order from less to more decoding. */ + qpdf_dl_none = 0, /* preserve all stream filters */ + qpdf_dl_generalized, /* decode general-purpose filters */ + qpdf_dl_specialized, /* also decode other non-lossy filters */ + qpdf_dl_all /* also decode lossy filters */ +}; +/* For JSON encoding */ +enum qpdf_json_stream_data_e { + qpdf_sj_none = 0, + qpdf_sj_inline, + qpdf_sj_file, +}; + +/* R3 Encryption Parameters */ + +enum qpdf_r3_print_e { + qpdf_r3p_full = 0, /* allow all printing */ + qpdf_r3p_low, /* allow only low-resolution printing */ + qpdf_r3p_none /* allow no printing */ +}; + +/* qpdf_r3_modify_e doesn't allow the full flexibility of the spec. It + * corresponds to options in Acrobat 5's menus. The new interface in + * QPDFWriter offers more granularity and no longer uses this type. + */ +enum qpdf_r3_modify_e /* Allowed changes: */ +{ + qpdf_r3m_all = 0, /* All editing */ + qpdf_r3m_annotate, /* Comments, fill forms, signing, assembly */ + qpdf_r3m_form, /* Fill forms, signing, assembly */ + qpdf_r3m_assembly, /* Only document assembly */ + qpdf_r3m_none /* No modifications */ +}; + +/* Form field flags from the PDF spec */ + +enum pdf_form_field_flag_e { + /* flags that apply to all form fields */ + ff_all_read_only = 1 << 0, + ff_all_required = 1 << 1, + ff_all_no_export = 1 << 2, + + /* flags that apply to fields of type /Btn (button) */ + ff_btn_no_toggle_off = 1 << 14, + ff_btn_radio = 1 << 15, + ff_btn_pushbutton = 1 << 16, + ff_btn_radios_in_unison = 1 << 17, + + /* flags that apply to fields of type /Tx (text) */ + ff_tx_multiline = 1 << 12, + ff_tx_password = 1 << 13, + ff_tx_file_select = 1 << 20, + ff_tx_do_not_spell_check = 1 << 22, + ff_tx_do_not_scroll = 1 << 23, + ff_tx_comb = 1 << 24, + ff_tx_rich_text = 1 << 25, + + /* flags that apply to fields of type /Ch (choice) */ + ff_ch_combo = 1 << 17, + ff_ch_edit = 1 << 18, + ff_ch_sort = 1 << 19, + ff_ch_multi_select = 1 << 21, + ff_ch_do_not_spell_check = 1 << 22, + ff_ch_commit_on_sel_change = 1 << 26 +}; + +/* Annotation flags from the PDF spec */ + +enum pdf_annotation_flag_e { + an_invisible = 1 << 0, + an_hidden = 1 << 1, + an_print = 1 << 2, + an_no_zoom = 1 << 3, + an_no_rotate = 1 << 4, + an_no_view = 1 << 5, + an_read_only = 1 << 6, + an_locked = 1 << 7, + an_toggle_no_view = 1 << 8, + an_locked_contents = 1 << 9 +}; + +/* Encryption/password status for QPDFJob */ +enum qpdf_encryption_status_e { qpdf_es_encrypted = 1 << 0, qpdf_es_password_incorrect = 1 << 1 }; + +#endif /* QPDFCONSTANTS_H */ diff --git a/QPDFErrorWrapper/DLL.h b/QPDFErrorWrapper/DLL.h new file mode 100644 index 0000000..fae2387 --- /dev/null +++ b/QPDFErrorWrapper/DLL.h @@ -0,0 +1,134 @@ +/* Copyright (c) 2005-2023 Jay Berkenbilt + * + * This file is part of qpdf. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Versions of qpdf prior to version 7 were released under the terms + * of version 2.0 of the Artistic License. At your option, you may + * continue to consider qpdf to be licensed under those terms. Please + * see the manual for additional information. + */ + +#ifndef QPDF_DLL_HH +#define QPDF_DLL_HH + +/* The first version of qpdf to include the version constants is 10.6.0. */ +#define QPDF_MAJOR_VERSION 11 +#define QPDF_MINOR_VERSION 5 +#define QPDF_PATCH_VERSION 0 +#define QPDF_VERSION "11.5.0" + +/* + * This file defines symbols that control the which functions, + * classes, and methods are exposed to the public ABI (application + * binary interface). See below for a detailed explanation. + */ + +#if defined _WIN32 || defined __CYGWIN__ +# ifdef libqpdf_EXPORTS +# define QPDF_DLL __declspec(dllexport) +# else +# define QPDF_DLL +# endif +# define QPDF_DLL_PRIVATE +#elif defined __GNUC__ +# define QPDF_DLL __attribute__((visibility("default"))) +# define QPDF_DLL_PRIVATE __attribute__((visibility("hidden"))) +#else +# define QPDF_DLL +# define QPDF_DLL_PRIVATE +#endif +#ifdef __GNUC__ +# define QPDF_DLL_CLASS QPDF_DLL +#else +# define QPDF_DLL_CLASS +#endif + +/* + +Here's what's happening. See also https://gcc.gnu.org/wiki/Visibility +for a more in-depth discussion. + +* Everything in the public ABI must be exported. Things not in the + public ABI should not be exported. + +* A class's runtime type information is need if the class is going to + be used as an exception, inherited from, or tested with + dynamic_class. To do these things across a shared object boundary, + runtime type information must be exported. + +* On Windows: + + * For a symbol (function, method, etc.) to be exported into the + public ABI, it must be explicitly marked for export. + + * If you mark a class for export, all symbols in the class, + including private methods, are exported into the DLL, and there is + no way to exclude something from export. + + * A class's run-time type information is made available based on the + presence of a compiler flag (with MSVC), which is always on for + qpdf builds. + + * Marking classes for export should be done only when *building* the + DLL, not when *using* the DLL. + + * It is possible to mark symbols for import for DLL users, but it is + not necessary, and doing it right is complex in our case of being + multi-platform and building both static and shared libraries that + use the same headers, so we don't bother. + + * If we don't export base classes with mingw, the vtables don't end + up in the DLL. + +* On Linux (and other similar systems): + + * Common compilers such as gcc and clang export all symbols into the + public ABI by default. The qpdf build overrides this by using + "visibility=hidden", which makes it behave more like Windows in + that things have to be explicitly exported to appear in the public + ABI. + + * As with Windows, marking a class for export causes everything in + the class, including private methods, the be exported. However, + unlike in Windows: + + * It is possible to explicitly mark symbols as private + + * The only way to get the runtime type and vtable information into + the ABI is to mark the class as exported. + + * It is harmless and sometimes necessary to include the visibility + marks when using the library as well as when building it. In + particular, clang on MacOS requires the visibility marks to + match in both cases. + +What does this mean: + +* On Windows, we never have to export a class, and while there is no + way to "unexport" something, we also have no need to do it. + +* On non-Windows, we have to export some classes, and when we do, we + have to "unexport" some of their parts. + +* We only use the libqpdf_EXPORTS as a conditional for defining the + symbols for Windows builds. + +To achieve this, we use QPDF_DLL_CLASS to export classes, QPDF_DLL to +export methods, and QPDF_DLL_PRIVATE to unexport private methods in +exported classes. + +*/ + +#endif /* QPDF_DLL_HH */ diff --git a/QPDFErrorWrapper/QPDFErrorWrapper.vcxproj b/QPDFErrorWrapper/QPDFErrorWrapper.vcxproj new file mode 100644 index 0000000..a80ebba --- /dev/null +++ b/QPDFErrorWrapper/QPDFErrorWrapper.vcxproj @@ -0,0 +1,121 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + Win32Proj + {e0bb57fa-9ea3-4d36-84dc-f2d33906fcb4} + QPDFErrorWrapper + + + + DynamicLibrary + v143 + + + true + + + false + true + + + + + + + wrapper + bin\$(Platform)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + + + + Level3 + true + true + + + Console + true + + + + + true + true + + + true + true + + + + + qpdf_32.lib;%(AdditionalDependencies) + + + + + qpdf_64.lib;%(AdditionalDependencies) + + + + + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + + + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + copy /y $(TargetPath) $(SolutionDir)\SharpPDFDecrypter\Resources\Wrapper_32.dll + + + + + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + + + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + copy /y $(TargetPath) $(SolutionDir)\SharpPDFDecrypter\Resources\Wrapper_64.dll + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/QPDFErrorWrapper/QPDFErrorWrapper.vcxproj.filters b/QPDFErrorWrapper/QPDFErrorWrapper.vcxproj.filters new file mode 100644 index 0000000..d33dc68 --- /dev/null +++ b/QPDFErrorWrapper/QPDFErrorWrapper.vcxproj.filters @@ -0,0 +1,40 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + + + + + 源文件 + + + + + 头文件 + + + 头文件 + + + 头文件 + + + 头文件 + + + \ No newline at end of file diff --git a/QPDFErrorWrapper/QPDFExc.hh b/QPDFErrorWrapper/QPDFExc.hh new file mode 100644 index 0000000..58acb18 --- /dev/null +++ b/QPDFErrorWrapper/QPDFExc.hh @@ -0,0 +1,79 @@ +// Copyright (c) 2005-2023 Jay Berkenbilt +// +// This file is part of qpdf. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except +// in compliance with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software distributed under the License +// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +// or implied. See the License for the specific language governing permissions and limitations under +// the License. +// +// Versions of qpdf prior to version 7 were released under the terms of version 2.0 of the Artistic +// License. At your option, you may continue to consider qpdf to be licensed under those terms. +// Please see the manual for additional information. + +#ifndef QPDFEXC_HH +#define QPDFEXC_HH + +#include "Constants.h" +#include "DLL.h" +#include "Types.h" + +#include +#include + +class QPDF_DLL_CLASS QPDFExc: public std::runtime_error +{ + public: + QPDF_DLL + QPDFExc( + qpdf_error_code_e error_code, + std::string const& filename, + std::string const& object, + qpdf_offset_t offset, + std::string const& message); + QPDF_DLL + ~QPDFExc() noexcept override = default; + + // To get a complete error string, call what(), provided by std::exception. The accessors below + // return the original values used to create the exception. Only the error code and message are + // guaranteed to have non-zero/empty values. + + // There is no lookup code that maps numeric error codes into strings. The numeric error code + // is just another way to get at the underlying issue, but it is more programmer-friendly than + // trying to parse a string that is subject to change. + + QPDF_DLL + qpdf_error_code_e getErrorCode() const; + QPDF_DLL + std::string const& getFilename() const; + QPDF_DLL + std::string const& getObject() const; + QPDF_DLL + qpdf_offset_t getFilePosition() const; + QPDF_DLL + std::string const& getMessageDetail() const; + + private: + QPDF_DLL_PRIVATE + static std::string createWhat( + std::string const& filename, + std::string const& object, + qpdf_offset_t offset, + std::string const& message); + + // This class does not use the Members pattern to avoid needless memory allocations during + // exception handling. + + qpdf_error_code_e error_code; + std::string filename; + std::string object; + qpdf_offset_t offset; + std::string message; +}; + +#endif // QPDFEXC_HH diff --git a/QPDFErrorWrapper/Types.h b/QPDFErrorWrapper/Types.h new file mode 100644 index 0000000..fd994fb --- /dev/null +++ b/QPDFErrorWrapper/Types.h @@ -0,0 +1,33 @@ +/* Copyright (c) 2005-2023 Jay Berkenbilt + * + * This file is part of qpdf. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Versions of qpdf prior to version 7 were released under the terms + * of version 2.0 of the Artistic License. At your option, you may + * continue to consider qpdf to be licensed under those terms. Please + * see the manual for additional information. + */ + +#ifndef QPDFTYPES_H +#define QPDFTYPES_H + +/* Provide an offset type that should be as big as off_t on just about + * any system. If your compiler doesn't support C99 (or at least the + * "long long" type), then you may have to modify this definition. + */ + +typedef long long int qpdf_offset_t; + +#endif /* QPDFTYPES_H */ diff --git a/QPDFErrorWrapper/qpdf_32.lib b/QPDFErrorWrapper/qpdf_32.lib new file mode 100644 index 0000000000000000000000000000000000000000..9e159beb1d77149e2a03fafcf3b3403ed0b7681b GIT binary patch literal 566256 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%0A6JMeE& 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�W!N$m%EOvOc?T?kg~qXDsHJXwq@Jai5;bp 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ŋ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 literal 0 HcmV?d00001 diff --git a/QPDFErrorWrapper/wrapper.cpp b/QPDFErrorWrapper/wrapper.cpp new file mode 100644 index 0000000..a5d5159 --- /dev/null +++ b/QPDFErrorWrapper/wrapper.cpp @@ -0,0 +1,61 @@ +/* + * Copyright 2023 Myitian + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include "QPDFExc.hh" + +struct _qpdf_error +{ + std::shared_ptr exc; +}; + +struct qpdfexc +{ + qpdf_error_code_e error_code; + const char* filename; + const char* object; + qpdf_offset_t offset; + const char* message; +}; + +extern "C" +{ + __declspec(dllexport) typedef struct _qpdf_error* qpdf_error; + + __declspec(dllexport) qpdfexc* wrapper_qpdfexc(qpdf_error err) + { + qpdfexc* r = (qpdfexc*)malloc(sizeof(qpdfexc)); + if (r) + { + r->error_code = err->exc->getErrorCode(); + r->filename = err->exc->getFilename().c_str(); + r->object = err->exc->getObject().c_str(); + r->offset = err->exc->getFilePosition(); + r->message = err->exc->getMessageDetail().c_str(); + } + return r; + } + + __declspec(dllexport) void free_qpdfexc(qpdfexc* r) + { + free(r); + } + + __declspec(dllexport) long long wrapper_strlen(const char* str) + { + return strlen(str); + } +} diff --git a/README.md b/README.md index da6579b..d1b1dc0 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,17 @@ # SharpPDFDecrypter -Decrypt PDF by qpdf. In development now. + +本程序支持移除 PDF 文件中的编辑和打印保护(Owner Password) +和打开口令(User Password)(若文件有打开口令,需要提供打开口令), +不支持破解打开口令(User Password)。 + +可将 PDF 文件或包含 PDF 文件夹拖放至主窗口来添加文件, +也可点击“打开文件”或“打开文件夹”来添加文件。 + + +This program supports removing the editing and printing protection (Owner Password) +and opening password (User Password) in PDF files (if the file has an opening password, +you need to provide the opening password), +and does not support cracking the opening password (User Password). + +You can drag and drop PDF files or folders containing PDFs to the main window +to add files, or click "打开文件" or "打开文件夹" to add files. diff --git a/SharpPDFDecrypter.sln b/SharpPDFDecrypter.sln index d246c8b..5559c34 100644 --- a/SharpPDFDecrypter.sln +++ b/SharpPDFDecrypter.sln @@ -3,18 +3,38 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.6.33801.468 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpPDFDecrypter", "SharpPDFDecrypter\SharpPDFDecrypter.csproj", "{E6543F0A-D4C8-4B1E-AD33-C717C6A70E02}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SharpPDFDecrypter", "SharpPDFDecrypter\SharpPDFDecrypter.csproj", "{E6543F0A-D4C8-4B1E-AD33-C717C6A70E02}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QPDFErrorWrapper", "QPDFErrorWrapper\QPDFErrorWrapper.vcxproj", "{E0BB57FA-9EA3-4D36-84DC-F2D33906FCB4}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {E6543F0A-D4C8-4B1E-AD33-C717C6A70E02}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E6543F0A-D4C8-4B1E-AD33-C717C6A70E02}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E6543F0A-D4C8-4B1E-AD33-C717C6A70E02}.Debug|x64.ActiveCfg = Debug|Any CPU + {E6543F0A-D4C8-4B1E-AD33-C717C6A70E02}.Debug|x64.Build.0 = Debug|Any CPU + {E6543F0A-D4C8-4B1E-AD33-C717C6A70E02}.Debug|x86.ActiveCfg = Debug|Any CPU + {E6543F0A-D4C8-4B1E-AD33-C717C6A70E02}.Debug|x86.Build.0 = Debug|Any CPU {E6543F0A-D4C8-4B1E-AD33-C717C6A70E02}.Release|Any CPU.ActiveCfg = Release|Any CPU {E6543F0A-D4C8-4B1E-AD33-C717C6A70E02}.Release|Any CPU.Build.0 = Release|Any CPU + {E6543F0A-D4C8-4B1E-AD33-C717C6A70E02}.Release|x64.ActiveCfg = Release|Any CPU + {E6543F0A-D4C8-4B1E-AD33-C717C6A70E02}.Release|x64.Build.0 = Release|Any CPU + {E6543F0A-D4C8-4B1E-AD33-C717C6A70E02}.Release|x86.ActiveCfg = Release|Any CPU + {E6543F0A-D4C8-4B1E-AD33-C717C6A70E02}.Release|x86.Build.0 = Release|Any CPU + {E0BB57FA-9EA3-4D36-84DC-F2D33906FCB4}.Debug|Any CPU.ActiveCfg = Debug|x64 + {E0BB57FA-9EA3-4D36-84DC-F2D33906FCB4}.Debug|x64.ActiveCfg = Debug|x64 + {E0BB57FA-9EA3-4D36-84DC-F2D33906FCB4}.Debug|x86.ActiveCfg = Debug|Win32 + {E0BB57FA-9EA3-4D36-84DC-F2D33906FCB4}.Release|Any CPU.ActiveCfg = Release|x64 + {E0BB57FA-9EA3-4D36-84DC-F2D33906FCB4}.Release|x64.ActiveCfg = Release|x64 + {E0BB57FA-9EA3-4D36-84DC-F2D33906FCB4}.Release|x86.ActiveCfg = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/SharpPDFDecrypter/App.xaml b/SharpPDFDecrypter/App.xaml index e0932ad..8d1696a 100644 --- a/SharpPDFDecrypter/App.xaml +++ b/SharpPDFDecrypter/App.xaml @@ -1,9 +1,24 @@ - + - + diff --git a/SharpPDFDecrypter/App.xaml.cs b/SharpPDFDecrypter/App.xaml.cs index 6eea5ea..55c8598 100644 --- a/SharpPDFDecrypter/App.xaml.cs +++ b/SharpPDFDecrypter/App.xaml.cs @@ -1,4 +1,22 @@ -using System.Windows; +/* + * Copyright 2023 Myitian + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using System.IO; +using System.Windows; namespace SharpPDFDecrypter { @@ -7,5 +25,24 @@ namespace SharpPDFDecrypter /// public partial class App : Application { + public static readonly string AuthorPageAddress = "https://github.com/Myitian"; + public static readonly string ProjectAddress = SharpPDFDecrypter.Properties.Resources.ProjectAddress; + public static readonly string License = SharpPDFDecrypter.Properties.Resources.LicenseIdentifier; + + protected override void OnStartup(StartupEventArgs e) + { + if (Environment.Is64BitProcess) + { + File.WriteAllBytes("qpdf.dll", SharpPDFDecrypter.Properties.Resources.QPDF_64); + File.WriteAllBytes("wrapper.dll", SharpPDFDecrypter.Properties.Resources.Wrapper_64); + } + else + { + File.WriteAllBytes("qpdf.dll", SharpPDFDecrypter.Properties.Resources.QPDF_32); + File.WriteAllBytes("wrapper.dll", SharpPDFDecrypter.Properties.Resources.Wrapper_32); + } + + base.OnStartup(e); + } } } diff --git a/SharpPDFDecrypter/AssemblyInfo.cs b/SharpPDFDecrypter/AssemblyInfo.cs index 8b5504e..bbdd1dd 100644 --- a/SharpPDFDecrypter/AssemblyInfo.cs +++ b/SharpPDFDecrypter/AssemblyInfo.cs @@ -1,3 +1,19 @@ +/* + * Copyright 2023 Myitian + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + using System.Windows; [assembly: ThemeInfo( diff --git a/SharpPDFDecrypter/IconExtension.cs b/SharpPDFDecrypter/IconExtension.cs deleted file mode 100644 index 9581599..0000000 --- a/SharpPDFDecrypter/IconExtension.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System.Drawing; -using System.Windows; -using System.Windows.Interop; -using System.Windows.Media; -using System.Windows.Media.Imaging; - -namespace SharpPDFDecrypter -{ - public static class IconExtension - { - public static ImageSource ToImageSource(this Icon icon) - { - return Imaging.CreateBitmapSourceFromHIcon( - icon.Handle, - Int32Rect.Empty, - BitmapSizeOptions.FromEmptyOptions()); - } - } -} diff --git a/SharpPDFDecrypter/LicenseWindow.xaml b/SharpPDFDecrypter/LicenseWindow.xaml new file mode 100644 index 0000000..585e922 --- /dev/null +++ b/SharpPDFDecrypter/LicenseWindow.xaml @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SharpPDFDecrypter/LicenseWindow.xaml.cs b/SharpPDFDecrypter/LicenseWindow.xaml.cs new file mode 100644 index 0000000..fbda182 --- /dev/null +++ b/SharpPDFDecrypter/LicenseWindow.xaml.cs @@ -0,0 +1,31 @@ +/* + * Copyright 2023 Myitian + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Windows; + +namespace SharpPDFDecrypter +{ + ///

+ /// LicenseWindow.xaml 的交互逻辑 + /// + public partial class LicenseWindow : Window + { + public LicenseWindow() + { + InitializeComponent(); + } + } +} diff --git a/SharpPDFDecrypter/MainWindow.xaml b/SharpPDFDecrypter/MainWindow.xaml index 1b5911c..187f99f 100644 --- a/SharpPDFDecrypter/MainWindow.xaml +++ b/SharpPDFDecrypter/MainWindow.xaml @@ -1,4 +1,19 @@ - + + Drop="Window_Drop" + Closing="Window_Closing"> + + + + + + + + - - + + + + + + - + + InputGestureText="Ctrl+O" + Command="{StaticResource OpenFileCmd}" /> - - + Command="{StaticResource OpenFolderCmd}" /> + + + + + + + + + + - + - - 空闲 + + + + + + + + + + +