Mesmo após a expansão de todos os objetos, textos (strings e caracteres únicos) não precisam ser representados em ASCII, eles podem ser codificados em hexadecimal.
Para encontrar o texto, faça o seguinte:
-
No PDF expandido, procure todas as chaves com o nome
/Contents
. Pode parecer:/Contents 8 0 R
Isso informa que o conteúdo da respectiva página está no objeto número 8.
-
Vá para o objeto número 8. Isso pode ser encontrado pesquisando a string
'8 0 obj'
-
Nas linhas a seguir, entre parênteses pelas linhas
stream ... endstream
, se você vir no final de uma linha, um dos seguintes ......
TJ
,Tj
,'
ou"
você terá um texto mostrando o operador no trabalho.
-
A linha anterior contém o texto, mas pode parecer com:
[(H)0.0976563(e)0.0976563(l)-599.902(l)0.0976563(o)0.0976563(W)0.0976563(o)-599.902(r)0.0976563(l)0.0976563(d)0.0976563(!)]TJ
Ei, você teve sorte! Você pode decifrar o "Hello World!" string aqui? Os números intermediários são apenas para controlar o posicionamento dos caracteres individuais ....
-
.... e agora vou parar para ensinar PDF. Você pode ler todos os detalhes na especificação oficial do formato PDF: -)
Apenas mais uma dica: se você pesquisar por meu outro PDF relacionadas ao StackOverflow ,
você pode descobrir alguns exemplos que abordam mais detalhes sobre como ler o código PDF.