여기에서 사용 된 인코딩/디코드 메소드를 어떻게 리버스 엔지니어링 할 수 있습니까?
-
11-09-2019 - |
문제
인코딩 할 페이지가 있고 디코딩 할 페이지가 있습니다.
그러나 웹 페이지없이 직접 수행하는 방법에 대한 지식은 없습니다.
내가하려는 것은 홉 링크를 인코딩하는 방법을 알아내는 것입니다.
http://geoffreyf6.earth4.hop.clickbank.net
~ 안으로
http://8e5250ieuas1d9b9bo6c6p8xat.hop.clickbank.net/
Encode/Decode 페이지는 다음과 같습니다.
http://www.clickbank.com/hoplink_encoding.htm
http://www.clickbank.com/hoplink_decoding.htm
이제, 나는 단지 그들의 웹 사이트를 인코딩하기 위해 그들의 웹 사이트를 칠 수 있다는 것을 알고 있지만 (이미 코드를 할 코드가 있습니다), 나는 무대 뒤에서 무슨 일이 일어나고 있는지 궁금합니다.
출력에는 26자가 있으므로 문자 대체가 의문의 여지가없는 것 같습니다.
x, t 등과 같은 숯이 있으므로 16 진수에있을 수 없습니다 (또한 너무 짧습니다).
나는 그것이 100% 고유해야하고 모든 해시가 충돌 할 가능성이 있기 때문에 어떤 유형의 해시를 사용하고 있다고 생각하지 않습니까?
이것을 알아내는 방법에 대한 아이디어가 있습니까?
해결책
양식에 동일한 세부 사항을 입력하면 매번 다른 인코딩이 제공되므로 인코딩/디코딩은 실제로 잘못된 이름입니다. 아마도, 그들은이 식별자와 함께 레코드를 저장하고 있으며,이 식별자가 무엇이든 저장하고 조회에 사용합니다. 의미하는 것은
a) 값은 다소 임의적입니다
b) "인코더"를 우회 할 수 없습니다.
다른 팁
적절한 해싱 알고리즘에 대한 해시 충돌 가능성은 실제로입니다. 진짜 낮은; 충돌이있을 경우 대체 해시 알고리즘 시퀀스가있는 해시라고 생각합니다.
업데이트 : SHA-256을 사용하여 충돌을 합리적으로 기대하기 전에 이론적으로 2^128의 시도가 필요합니다 (이 숫자를 줄이는 SHA-256에 대한 일부 공격에 대해 듣는 것을 기억하기 때문에 이론적으로 말합니다. 현재 하드웨어를 사용한 레벨).