Jump to content
  • 0

Beveiligde pdf herkennen


andre65

Question

Posted

Hallo allemaal, 

Ik krijg veel PDF's binnen in mijn applicatie en daar doe ik wat mee.

Het probleem wat ik heb is dat er wel eens een beveiligde pdf tussen zit. 
Er zit een wachtwoord op om te openen en/of te wijzigen.

Het proces stopt dan en moet de pdf verwijderd worden.

Ik zoek iets wat kan zien of een PDF beveiligd is?
Iemand een oplossing hiervoor!! 
 

Groet,

André

11 answers to this question

Recommended Posts

  • 0
Posted

met   Base64Decode (Base64Encode ( bestand::pdf  )  ) kun je de inhoud van de pdf opvragen.

Ik heb een klein testje gedaan en zag in de laatste paar regels van de beveiligde pdf de tekst Encrypt staan

trailer
<< /Size 17 /Root 12 0 R /Encrypt 16 0 R /Info 15 0 R /ID [ <6f24d8321c5786a1b4ed4eb76e6e4c21>
<6f24d8321c5786a1b4ed4eb76e6e4c21> ] >>
startxref
7091
%%EOF

 

in de onbeveiligde versie stond dat niet:

trailer
<< /Size 16 /Root 12 0 R /Info 15 0 R /ID [ <00701c99d317cba494942492ded7684e>
<00701c99d317cba494942492ded7684e> ] >>
startxref
6440
%%EOF

  • 0
Posted

Wauw, Infomatics. Werkt als een dolle :-)
Eerste testjes die ik heb gedaan zien er goed uit.
Met patterncount kan ik zien of het encrypt is, zonder de base64 op te slaan.
Morgen maar een performance testje doen met meerdere bestanden ;-)

 

  • 0
Posted

Ik zou position gebruiken, dat is wat sneller, en alleen over de laatste x tekens van de tekst om te voorkomen dat ‘Encrypt’ gevonden wordt ergens in de tekst. 
 

position ( right ( Base64Decode (Base64Encode ( bestand::pdf  )  ) ; x ) ; “Encrypt” ; 1 ; 1 )

  • 0
Posted
Op 17-11-2022 om 11:41, bigbadwolf zei:

Zo dat scheelt wel even. Truc is iets om in het achterhoofd te houden. 
Kijk nooit zo naar het geheugen o.i.d. , maar is iets wat ik vaker zal gaan doen.
 

Mijn oplossing  PatternCount ( Base64Decode ( Base64Encode ( DATA::pdf_container ) )  ; "/Encrypt" )
Werkt perfect en geeft ook verhoogd geheugen gebruik. :-)

  • 0
Posted

Mijn oplossing  PatternCount ( Base64Decode ( Base64Encode ( DATA::pdf_container ) )  ; "/Encrypt" )
Werkt perfect en geeft ook verhoogd geheugen gebruik. :-)

Oops bedoel -> Werkt perfect en geeft ook -GEEN- verhoogd geheugen gebruik. :-)

 

  • 0
Posted
45 minutes ago, andre65 said:

Mijn oplossing  PatternCount ( Base64Decode ( Base64Encode ( DATA::pdf_container ) )  ; "/Encrypt" )

En dan hopen dat iemand dit niet in de tekst gebruikt, want dan krijg je ook een positief resultaat… ;o)

  • 0
Posted
4 hours ago, Infomatics said:

dat zou je dan kunnen afvangen door alleen in het laatste deel van de pdf te zoeken:

PatternCount ( right ( Base64Decode ( Base64Encode ( DATA::pdf_container ) ) ; 170 ) ; "/Encrypt" )

Mogelijk dat hij dan in de problemen kan komen met het geheugen (zie mij linkje naar de bug).

  • 0
Posted
46 minuten geleden, bigbadwolf zei:

Mogelijk dat hij dan in de problemen kan komen met het geheugen (zie mij linkje naar de bug).

Ik denk dat die situatie alleen optreedt bij het maken van een variable met het resultaat van left/right en dan is de (zeer simpele) oplossing ook door Alex aangedragen:

PatternCount ( "" & right ( Base64Decode ( Base64Encode ( DATA::pdf_container ) ) ; 170 ) ; "/Encrypt" )

En dan pakt de functie in dit geval alleen de benodigde 170 bytes ipv de grootte van de pdf

  • 0
Posted

Top. Het wordt steeds mooier en sneller. Dank voor al jullie input.

Kom volgende ook nog tegen om mee te nemen in de berekening. (of is het handiger om er een eigen functie van te maken? is dat sneller)

  • "Berichtbody is niet conform schema in sectormodel" is ook een resultaat die ik terug krijg ;-) 
    Is overigens als pdf niet te openen, maar wat het wel is?
  • Kom ook files tegen die men een extentie .pdf hebben gegeven ( digibeten :D )
  • Of een resultaat ? die dan wel weer te openen (is pdf)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...