Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
onlyoffice_core
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boris Kocherov
onlyoffice_core
Commits
526ef595
Commit
526ef595
authored
Jul 18, 2016
by
ElenaSubbotina
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ECMACrypt ..
parent
ee6aae32
Changes
9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
590 additions
and
61 deletions
+590
-61
.gitignore
.gitignore
+4
-0
ASCOfficeDocxFile2/X2tConverter_win_test.sln
ASCOfficeDocxFile2/X2tConverter_win_test.sln
+42
-27
ASCOfficePPTXFile/PPTXLib/PPTXFormat.vcproj
ASCOfficePPTXFile/PPTXLib/PPTXFormat.vcproj
+1
-0
OfficeCryptReader/source/ECMACryptReader.cpp
OfficeCryptReader/source/ECMACryptReader.cpp
+16
-14
OfficeCryptReader/source/ECMACryptReader.h
OfficeCryptReader/source/ECMACryptReader.h
+14
-14
OfficeCryptReader/win32/ECMACryptReader.vcproj
OfficeCryptReader/win32/ECMACryptReader.vcproj
+1
-1
OfficeCryptTransform/CryptTransform.h
OfficeCryptTransform/CryptTransform.h
+1
-1
X2tConverter/src/ASCConverters.cpp
X2tConverter/src/ASCConverters.cpp
+4
-4
X2tConverter/test/win32Test/X2tTest.vcproj
X2tConverter/test/win32Test/X2tTest.vcproj
+507
-0
No files found.
.gitignore
View file @
526ef595
...
...
@@ -33,3 +33,7 @@ ASCOfficeXlsFile2/win32/_ASCOfficeXlsFile2_i.c
ASCOfficeXlsFile2/win32/_ASCOfficeXlsFile2_p.c
ASCOfficeXlsFile2/win32/dlldata.c
OfficeUtils/win32/OfficeUtilsLib/OfficeUtilsLib/ReadMe.txt
*.obj
*.pdb
*.tlb
*.idb
ASCOfficeDocxFile2/X2tConverter_win_test.sln
View file @
526ef595
...
...
@@ -16,13 +16,13 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "graphics", "..\DesktopEdito
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cximage", "..\DesktopEditor\cximage\CxImage\cximage_vs2005.vcproj", "{BC52A07C-A797-423D-8C4F-8678805BBB36}"
ProjectSection(ProjectDependencies) = postProject
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7} = {43A0E60E-5C4A-4C09-A29B-7683F503BBD7}
{DF861D33-9BC1-418C-82B1-581F590FE169} = {DF861D33-9BC1-418C-82B1-581F590FE169}
{0588563C-F05C-428C-B21A-DD74756628B3} = {0588563C-F05C-428C-B21A-DD74756628B3}
{40A69F40-063E-43FD-8543-455495D8733E} = {40A69F40-063E-43FD-8543-455495D8733E}
{9A037A69-D1DF-4505-AB2A-6CB3641C476E} = {9A037A69-D1DF-4505-AB2A-6CB3641C476E}
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D} = {FFDA5DA1-BB65-4695-B678-BE59B4A1355D}
{818753F2-DBB9-4D3B-898A-A604309BE470} = {818753F2-DBB9-4D3B-898A-A604309BE470}
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D} = {FFDA5DA1-BB65-4695-B678-BE59B4A1355D}
{9A037A69-D1DF-4505-AB2A-6CB3641C476E} = {9A037A69-D1DF-4505-AB2A-6CB3641C476E}
{40A69F40-063E-43FD-8543-455495D8733E} = {40A69F40-063E-43FD-8543-455495D8733E}
{0588563C-F05C-428C-B21A-DD74756628B3} = {0588563C-F05C-428C-B21A-DD74756628B3}
{DF861D33-9BC1-418C-82B1-581F590FE169} = {DF861D33-9BC1-418C-82B1-581F590FE169}
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7} = {43A0E60E-5C4A-4C09-A29B-7683F503BBD7}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jasper", "..\DesktopEditor\cximage\jasper\jasper_vs2005.vcproj", "{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}"
...
...
@@ -63,28 +63,29 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "X2tTest", "..\X2tConverter\test\win32Test\X2tTest.vcproj", "{355A22F4-1394-4B82-B2F1-FF0ECFB9E3EF}"
ProjectSection(ProjectDependencies) = postProject
{C5371405-338F-4B70-83BD-2A5CDF64F383} = {C5371405-338F-4B70-83BD-2A5CDF64F383}
{41BED424-4EAF-4053-8A5F-1E2A387D53D1} = {41BED424-4EAF-4053-8A5F-1E2A387D53D1}
{BC52A07C-A797-423D-8C4F-8678805BBB36} = {BC52A07C-A797-423D-8C4F-8678805BBB36}
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD} = {617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}
{F8274B05-168E-4D6E-B843-AA7510725363} = {F8274B05-168E-4D6E-B843-AA7510725363}
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540} = {9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}
{BEE01B53-244A-44E6-8947-ED9342D9247E} = {BEE01B53-244A-44E6-8947-ED9342D9247E}
{94954A67-A853-43B1-A727-6EF2774C5A6A} = {94954A67-A853-43B1-A727-6EF2774C5A6A}
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD} = {E5A67556-44DA-4481-8F87-0A3AEDBD20DD}
{50E20601-4A8D-4AFB-8870-63828D328429} = {50E20601-4A8D-4AFB-8870-63828D328429}
{609ED938-3CA8-4BED-B363-25096D4C4812} = {609ED938-3CA8-4BED-B363-25096D4C4812}
{21663823-DE45-479B-91D0-B4FEF4916EF0} = {21663823-DE45-479B-91D0-B4FEF4916EF0}
{DACBE6CA-E089-47D1-8CE7-C7DB59C15417} = {DACBE6CA-E089-47D1-8CE7-C7DB59C15417}
{C739151F-5384-41DF-A1A6-F089E2C1AD56} = {C739151F-5384-41DF-A1A6-F089E2C1AD56}
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B} = {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}
{AF2D00A7-A351-4700-AE88-C1D9ADE29345} = {AF2D00A7-A351-4700-AE88-C1D9ADE29345}
{36636678-AE25-4BE6-9A34-2561D1BCF302} = {36636678-AE25-4BE6-9A34-2561D1BCF302}
{A100103A-353E-45E8-A9B8-90B87CC5C0B0} = {A100103A-353E-45E8-A9B8-90B87CC5C0B0}
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2} = {37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}
{DF861D33-9BC1-418C-82B1-581F590FE169} = {DF861D33-9BC1-418C-82B1-581F590FE169}
{7B27E40E-F70A-4A74-A77C-0944D7931D15} = {7B27E40E-F70A-4A74-A77C-0944D7931D15}
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA} = {CBEDD0D1-10A8-45C1-AF81-8492F40964CA}
{C27E9A9F-3A17-4482-9C5F-BF15C01E747C} = {C27E9A9F-3A17-4482-9C5F-BF15C01E747C}
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D} = {77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA} = {CBEDD0D1-10A8-45C1-AF81-8492F40964CA}
{7B27E40E-F70A-4A74-A77C-0944D7931D15} = {7B27E40E-F70A-4A74-A77C-0944D7931D15}
{DF861D33-9BC1-418C-82B1-581F590FE169} = {DF861D33-9BC1-418C-82B1-581F590FE169}
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2} = {37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}
{A100103A-353E-45E8-A9B8-90B87CC5C0B0} = {A100103A-353E-45E8-A9B8-90B87CC5C0B0}
{36636678-AE25-4BE6-9A34-2561D1BCF302} = {36636678-AE25-4BE6-9A34-2561D1BCF302}
{AF2D00A7-A351-4700-AE88-C1D9ADE29345} = {AF2D00A7-A351-4700-AE88-C1D9ADE29345}
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B} = {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}
{C739151F-5384-41DF-A1A6-F089E2C1AD56} = {C739151F-5384-41DF-A1A6-F089E2C1AD56}
{DACBE6CA-E089-47D1-8CE7-C7DB59C15417} = {DACBE6CA-E089-47D1-8CE7-C7DB59C15417}
{21663823-DE45-479B-91D0-B4FEF4916EF0} = {21663823-DE45-479B-91D0-B4FEF4916EF0}
{609ED938-3CA8-4BED-B363-25096D4C4812} = {609ED938-3CA8-4BED-B363-25096D4C4812}
{50E20601-4A8D-4AFB-8870-63828D328429} = {50E20601-4A8D-4AFB-8870-63828D328429}
{E5A67556-44DA-4481-8F87-0A3AEDBD20DD} = {E5A67556-44DA-4481-8F87-0A3AEDBD20DD}
{94954A67-A853-43B1-A727-6EF2774C5A6A} = {94954A67-A853-43B1-A727-6EF2774C5A6A}
{BEE01B53-244A-44E6-8947-ED9342D9247E} = {BEE01B53-244A-44E6-8947-ED9342D9247E}
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540} = {9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}
{F8274B05-168E-4D6E-B843-AA7510725363} = {F8274B05-168E-4D6E-B843-AA7510725363}
{617F9069-5E37-4B80-9A3A-E77AFC4CC7AD} = {617F9069-5E37-4B80-9A3A-E77AFC4CC7AD}
{BC52A07C-A797-423D-8C4F-8678805BBB36} = {BC52A07C-A797-423D-8C4F-8678805BBB36}
{41BED424-4EAF-4053-8A5F-1E2A387D53D1} = {41BED424-4EAF-4053-8A5F-1E2A387D53D1}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XlsFormat", "..\ASCOfficeXlsFile2\source\win32\XlsFormat.vcproj", "{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}"
...
...
@@ -103,6 +104,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OdfFormatWriterLib", "..\AS
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Oox2OdfConverter", "..\ASCOfficeOdfFileW\source\win32\Oox2OdfConverter.vcproj", "{BEE01B53-244A-44E6-8947-ED9342D9247E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ECMACryptReader", "..\OfficeCryptReader\win32\ECMACryptReader.vcproj", "{C27E9A9F-3A17-4482-9C5F-BF15C01E747C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
...
...
@@ -532,6 +535,18 @@ Global
{BEE01B53-244A-44E6-8947-ED9342D9247E}.ReleaseOpenSource|Win32.ActiveCfg = Release|x64
{BEE01B53-244A-44E6-8947-ED9342D9247E}.ReleaseOpenSource|x64.ActiveCfg = Release|x64
{BEE01B53-244A-44E6-8947-ED9342D9247E}.ReleaseOpenSource|x64.Build.0 = Release|x64
{C27E9A9F-3A17-4482-9C5F-BF15C01E747C}.Debug|Win32.ActiveCfg = Debug|Win32
{C27E9A9F-3A17-4482-9C5F-BF15C01E747C}.Debug|Win32.Build.0 = Debug|Win32
{C27E9A9F-3A17-4482-9C5F-BF15C01E747C}.Debug|x64.ActiveCfg = Debug|Win32
{C27E9A9F-3A17-4482-9C5F-BF15C01E747C}.Release|Win32.ActiveCfg = Release|Win32
{C27E9A9F-3A17-4482-9C5F-BF15C01E747C}.Release|Win32.Build.0 = Release|Win32
{C27E9A9F-3A17-4482-9C5F-BF15C01E747C}.Release|x64.ActiveCfg = Release|Win32
{C27E9A9F-3A17-4482-9C5F-BF15C01E747C}.ReleaseASC|Win32.ActiveCfg = Release|Win32
{C27E9A9F-3A17-4482-9C5F-BF15C01E747C}.ReleaseASC|Win32.Build.0 = Release|Win32
{C27E9A9F-3A17-4482-9C5F-BF15C01E747C}.ReleaseASC|x64.ActiveCfg = Release|Win32
{C27E9A9F-3A17-4482-9C5F-BF15C01E747C}.ReleaseOpenSource|Win32.ActiveCfg = Release|Win32
{C27E9A9F-3A17-4482-9C5F-BF15C01E747C}.ReleaseOpenSource|Win32.Build.0 = Release|Win32
{C27E9A9F-3A17-4482-9C5F-BF15C01E747C}.ReleaseOpenSource|x64.ActiveCfg = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
...
...
ASCOfficePPTXFile/PPTXLib/PPTXFormat.vcproj
View file @
526ef595
...
...
@@ -491,6 +491,7 @@
>
<Tool
Name=
"VCCLCompilerTool"
AdditionalOptions=
"/bigobj"
PrecompiledHeaderThrough=
"./StdAfx.h"
/>
</FileConfiguration>
...
...
OfficeCryptReader/source/ECMACryptReader.cpp
View file @
526ef595
...
...
@@ -34,7 +34,7 @@
#include "../../Common/3dParty/pole/pole.h"
#include "../../Common/DocxFormat/Source/Base/Types_32.h"
#include "../../
DesktopEditor/xml/include
/xmlutils.h"
#include "../../
Common/DocxFormat/Source/XML
/xmlutils.h"
#include "../../OfficeCryptTransform/CryptTransform.h"
...
...
@@ -86,7 +86,7 @@ std::wstring ReadUnicodeLP(POLE::Stream *pStream)
return
res
;
}
void
ReadMapEntry
(
POLE
::
Stream
*
pStream
,
CryptReader
::
_mapEntry
&
m
)
void
ReadMapEntry
(
POLE
::
Stream
*
pStream
,
ECMA
CryptReader
::
_mapEntry
&
m
)
{
if
(
!
pStream
)
return
;
...
...
@@ -98,7 +98,7 @@ void ReadMapEntry(POLE::Stream *pStream, CryptReader::_mapEntry & m)
for
(
int
i
=
0
;
i
<
refCount
;
i
++
)
{
CryptReader
::
_refComponent
r
;
ECMA
CryptReader
::
_refComponent
r
;
pStream
->
read
((
unsigned
char
*
)
&
r
.
type
,
4
);
r
.
ref
=
ReadUnicodeLP
(
pStream
);
...
...
@@ -107,7 +107,7 @@ void ReadMapEntry(POLE::Stream *pStream, CryptReader::_mapEntry & m)
m
.
dataSpaceName
=
ReadUnicodeLP
(
pStream
);
}
//--------------------------------------------------------------
bool
CryptReader
::
Decrypt
File
(
std
::
wstring
file_name
,
std
::
wstring
folder_out
,
std
::
wstring
password
)
bool
ECMACryptReader
::
DecryptOffice
File
(
std
::
wstring
file_name
,
std
::
wstring
folder_out
,
std
::
wstring
password
)
{
POLE
::
Storage
*
pStorage
=
new
POLE
::
Storage
(
file_name
.
c_str
());
...
...
@@ -147,15 +147,16 @@ bool CryptReader::DecryptFile(std::wstring file_name, std::wstring folder_out, s
return
false
;
}
}
Decryptor
decryptor
(
1
);
decryptor
.
SetCryptData
(
keyData
.
saltValue
,
keyData
.
encryptedVerifierHashInput
,
keyData
.
encryptedVerifierHashValue
);
//Decryptor decryptor(1
);
if
(
!
decryptor
.
SetPassword
(
password
))
{
delete
pStorage
;
return
false
;
}
//decryptor.SetCryptData(keyData.saltValue, keyData.encryptedVerifierHashInput, keyData.encryptedVerifierHashValue);
//if (!decryptor.SetPassword(password))
//{
// delete pStorage;
// return false;
//}
//pStream = new POLE::Stream(pStorage, "DataSpaces/DataSpaceMap"); //
//if (pStream)
...
...
@@ -186,6 +187,7 @@ bool CryptReader::DecryptFile(std::wstring file_name, std::wstring folder_out, s
while
(
true
)
{
break
;
}
delete
pStream
;
...
...
@@ -198,9 +200,9 @@ bool CryptReader::DecryptFile(std::wstring file_name, std::wstring folder_out, s
return
result
;
}
bool
CryptReader
::
ReadEncryptionInfo
(
std
::
string
&
xml_string
)
bool
ECMACryptReader
::
ReadEncryptionInfo
(
const
std
::
string
&
xml_string
)
{
XmlUtils
1
::
CXmlLiteReader
xmlReader
;
XmlUtils
::
CXmlLiteReader
xmlReader
;
if
(
!
xmlReader
.
FromStringA
(
xml_string
))
return
false
;
...
...
@@ -256,7 +258,7 @@ bool CryptReader::ReadEncryptionInfo(std::string & xml_string)
}
}
}
return
true
;
}
return
true
;
}
OfficeCryptReader/source/ECMACryptReader.h
View file @
526ef595
...
...
@@ -34,11 +34,11 @@
#include <string>
#include <vector>
class
CryptReader
class
ECMA
CryptReader
{
public:
void
Decrypt
File
(
std
::
wstring
file_name
,
std
::
wstring
folder_out
,
std
::
wstring
password
);
bool
DecryptOffice
File
(
std
::
wstring
file_name
,
std
::
wstring
folder_out
,
std
::
wstring
password
);
struct
_keyEncryptor
{
...
...
@@ -57,21 +57,21 @@ public:
std
::
string
encryptedVerifierHashValue
;
std
::
string
encryptedKeyValue
;
};
//
struct _refComponent
//
{
//
int type;
//
std::wstring ref;
//
};
//
struct _mapEntry
//
{
//
std::vector<_refComponent> refComponents;
//
std::wstring dataSpaceName;
//
};
struct
_refComponent
{
int
type
;
std
::
wstring
ref
;
};
struct
_mapEntry
{
std
::
vector
<
_refComponent
>
refComponents
;
std
::
wstring
dataSpaceName
;
};
private:
bool
ReadEncryptionInfo
(
std
::
string
&
xmlString
);
bool
ReadEncryptionInfo
(
const
std
::
string
&
xmlString
);
//
std::vector<_mapEntry> mapEntries;
std
::
vector
<
_mapEntry
>
mapEntries
;
//--------------------------------------------------------------
_keyEncryptor
keyData
;
std
::
string
encryptedHmacKey
;
...
...
OfficeCryptReader/win32/ECMACryptReader.vcproj
View file @
526ef595
...
...
@@ -40,7 +40,7 @@
<Tool
Name=
"VCCLCompilerTool"
Optimization=
"0"
PreprocessorDefinitions=
"WIN32;_DEBUG;_LIB"
PreprocessorDefinitions=
"WIN32;_DEBUG;_LIB
;USE_LITE_READER;_USE_XMLLITE_READER_;_USE_LIBXML2_READER_;LIBXML_READER_ENABLED
"
MinimalRebuild=
"true"
BasicRuntimeChecks=
"3"
RuntimeLibrary=
"3"
...
...
OfficeCryptTransform/CryptTransform.h
View file @
526ef595
...
...
@@ -46,7 +46,7 @@ public:
bool
SetPassword
(
std
::
wstring
password
);
void
SetCryptData
(
std
::
string
salt
,
std
::
string
verifier
,
verifier_hash
);
void
SetCryptData
(
std
::
string
salt
,
std
::
string
verifier
,
std
::
string
verifier_hash
);
private:
...
...
X2tConverter/src/ASCConverters.cpp
View file @
526ef595
...
...
@@ -1266,12 +1266,12 @@ namespace NExtractTools
std
::
wstring
sResultDecryptDir
=
sTemp
+
FILE_SEPARATOR_STR
+
_T
(
"crypt_unpacked"
);
FileSystem
::
Directory
::
CreateDirectory
(
sResultDecryptDir
);
CryptReader
cryptReader
;
cryptReader
.
DecryptFile
(
sFrom
,
sResultDecryptDir
,
*
params
.
m_sPassword
);
ECMACryptReader
cryptReader
;
if
(
cryptReader
.
DecryptOfficeFile
(
sFrom
,
sResultDecryptDir
,
*
params
.
m_sPassword
)
==
false
)
return
AVS_FILEUTILS_ERROR_CONVERT_PASSWORD
;
//convert from format (detect before) to temp binary folder
return
AVS_FILEUTILS_ERROR_CONVERT_PASSWORD
;
return
0
;
}
//html
...
...
X2tConverter/test/win32Test/X2tTest.vcproj
0 → 100644
View file @
526ef595
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment