Eu li essa citação (abaixo) várias vezes, mais recentemente aqui , e estou constantemente intrigado com a forma como ddpode ser usado para corrigir qualquer coisa e muito menos um compilador:
O sistema Unix que usei na escola, há 30 anos, era muito limitado em RAM e espaço em disco. Especialmente, o
/usr/tmpsistema de arquivos era muito pequeno, o que causava problemas quando alguém tentava compilar um programa grande. Obviamente, os alunos não deveriam escrever "grandes programas" de qualquer maneira; programas grandes geralmente eram códigos-fonte copiados de "algum lugar". Muitos de nós copiados/usr/bin/ccpara/home/<myname>/cc, e utilizadoddpara corrigir o binário para usar/tmpem vez de/usr/tmp, que era maior. Obviamente, isso apenas piorou o problema - o espaço em disco ocupado por essas cópias importava naqueles dias e agora era/tmppreenchido regularmente, impedindo que outros usuários editassem seus arquivos. Depois que descobriram o que aconteceu, os administradores do sistema fizeram umachmod go-r /bin/* /usr/bin/*que "corrigiu" o problema e excluiu todas as nossas cópias do compilador C.
(Ênfase minha)
A ddpágina de manual não diz nada sobre correções e não acha que poderia ser re-proposto de qualquer maneira.
Os binários poderiam realmente ser corrigidos dd? Existe algum significado histórico para isso?
odum arquivo para os códigos hexadecimais bytes, encontrar o deslocamento que você precisa, decidir sobre a sua edição, ebs=$patchsize count=1 seek=$((offset/bs)) conv=notruncsua direita patch no no.