Como posso engenharia reversa do método de codificação / decodificação usado aqui?
-
11-09-2019 - |
Pergunta
Eu tenho a página para codificar e eu tenho a página para decodificar.
Eu não, no entanto, têm o conhecimento sobre como fazer isso sozinho, sem as páginas da web.
O que eu estou tentando fazer é descobrir como codificar um hoplink como:
http://geoffreyf6.earth4.hop.clickbank.net
para
http://8e5250ieuas1d9b9bo6c6p8xat.hop.clickbank.net/
A codificar / decodificar páginas está aqui:
http://www.clickbank.com/hoplink_encoding.htm
http://www.clickbank.com/hoplink_decoding.htm
Agora, eu sei que eu poderia apenas bater seu site para codificar (e eu já tenho código para fazer isso), mas eu estou querendo saber o que está acontecendo nos bastidores.
Há 26 caracteres na saída para uma carta de substituição parece estar fora de questão.
Existem caracteres como x, t, e assim por diante para que ele não pode estar em hex (mais ele é muito curta para isso).
Eu não acho que ele está usando qualquer tipo de haxixe, porque isso tem que ser 100% original e todos os hashes têm a chance de um direito de colisão?
Algumas ideias sobre como descobrir isso?
Solução
Ao entrar os mesmos dados no formulário dá uma codificação diferente de cada vez, por isso, codificação / decodificação é realmente um equívoco. Mais provavelmente, eles estão economizando o registro, juntamente com este identificador, seja ele qual for, e usá-lo para pesquisa de qualquer um. O que significa que
a) o valor é um pouco arbitrária
b) você não será capaz de contornar a sua "encoder"
Outras dicas
A chance de uma colisão de hash para um algoritmo de hash adequada são realmente, realmente baixa; Eu estou supondo que é um hash, talvez com uma sequência de algoritmo de hash alternativo no caso de haver uma colisão.
UPDATE: Como em, seria teoricamente requerem 2 ^ 128 tentativas antes que você poderia razoavelmente esperar uma colisão usando SHA-256 (digo, teoricamente, porque eu me lembro de ouvir sobre alguns ataques à SHA-256 que reduzem este número, embora não para níveis inseguros usando hardware atual).