ADEPT remove : Don't decrypt XRef stream if there is one

This commit is contained in:
Grégory Soutadé 2022-03-12 23:02:55 +01:00
parent 432eb6f6cb
commit 9b946a62b4
3 changed files with 9 additions and 2 deletions

View File

@ -40,7 +40,7 @@
#define ACS_SERVER "http://adeactivate.adobe.com/adept" #define ACS_SERVER "http://adeactivate.adobe.com/adept"
#endif #endif
#define LIBGOUROU_VERSION "0.5.2" #define LIBGOUROU_VERSION "0.5.3"
namespace gourou namespace gourou
{ {

View File

@ -1151,10 +1151,17 @@ namespace gourou
uPDFParser::Object* object = *it; uPDFParser::Object* object = *it;
if (object->objectId() == ebxId) if (object->objectId() == ebxId)
{
// object->deleteKey("Filter");
continue; continue;
}
// Should not decrypt XRef stream
if (object->hasKey("Type") && (*object)["Type"]->str() == "/XRef") if (object->hasKey("Type") && (*object)["Type"]->str() == "/XRef")
{
GOUROU_LOG(DEBUG, "XRef stream at " << object->offset());
continue; continue;
}
GOUROU_LOG(DEBUG, "Obj " << object->objectId()); GOUROU_LOG(DEBUG, "Obj " << object->objectId());

View File

@ -532,7 +532,7 @@ void DRMProcessorClientImpl::inflate(gourou::ByteArray& data, gourou::ByteArray&
{ {
// Real error // Real error
if (ret == Z_BUF_ERROR && infstream.avail_out == (uInt)dataSize) if (ret == Z_BUF_ERROR && infstream.avail_out == (uInt)dataSize)
EXCEPTION(gourou::CLIENT_ZIP_ERROR, "Inflate error, code " << zError(ret) << ", msg " << infstream.msg); break;
result.append(buffer, dataSize-infstream.avail_out); result.append(buffer, dataSize-infstream.avail_out);