2013-06-03 14 views
7

Google + düğmesini simüle etmeye çalışıyorum. LINK kodunun Somepartında, Bu oturum kimliğini Bazı kinda hash'a dönüştürür. Ne bulduğum oturum kimliği adı SAPISID ve dönüştürülen karma adı SAPISIDHASH'dır Kimse bana kodun hangi kısmının karma kısmını yaptığını söyleyebilir mi? Herhangi bir yardım appreciated.i, 6 saat düz geçirdim olacak hala hiçbir ipucu :(Tersine mühendislik Javascript, Google+ düğmesi arkasında

Örnek VUOyLIU22fNPz2ko/AbGsxW03_WHoGjaJq is SAPISID ve f17aa630b9b9a105dad437b0fedcafe429f6fca2 is SAPISIDHASH için

. Ben benim için Eh hash..nothing maçların her türlü.

+0

karma onaltılı 40 karakter, bu yüzden muhtemelen [SHA-1 hızlı] var (http://en.wikipedia.org/wiki/SHA-1) bazılarının veri. Tam olarak * ne * veriler kimsenin tahminidir ... – maerics

+0

Sadece kimsenin tahmin ettiği gibi değil, ama kimsenin bunu tahmin edemeyeceğinden emin olmak için onların yolundan çıktıkları anlamına geliyordu. – djechlin

+0

ripemd160 da 40 karakter .. Ben tüm hash denedim .. kodu sanırım bazı sembollerin yerini alır .. bu yüzden – user2449384

cevap

6

ZAFER! Çalıştı php olarak en azı = p Işığın konsolunda olduğu SAPISIDHASH'dı. Oldukça büyük bir iş için otomasyon, tamamen meşru.

Her neyse -> bulduğum şu andaki javascript milisaniye zaman damgası artı SHA1 oldu. Tanımlama bilgilerinizden ve etki alanından gelen SAPISID

Benim isteği için der ben istek Authorization:SAPISIDHASH 1439879298823_<hidden sha1 hash value> ve X-Origin:https://console.developers.google.com

varsayıyorum ilk başlık sunucusunu sizin damgası ve sha1 değeri söyler şu başlıkları içermektedir zorunda çalışmak. İkincisi (eklemezseniz keser), sha1 algoritmasında kullanılacak kaynağı belirtir.

I kazma ve değerler arasında, ekteki boşluklar vardır js küçültülmüş NOT ton çekip ayıklama algoritma bulunan

pseudo kodu basiclly>

sha1(new Date().getTime() + " " + SAPISID + " " + origin)

olduğu En azından benim kullanım durumumda SAPISIDHASH değerindeki (benimkilerden birkaç yıl sonra) benimkilerden farklı olarak ... ... sizinkinden farklı ama belki de birgün genç hackerlara yardım edeceğim.

+0

Teşekkürler dostum! Sen en iyisin. –

2

Tüm kredi, Dave Thomas. veya "Origin:":

Sadece X-Menşe veya Menşe için, siz "X-Origin" içermez açıklamak istiyorum:

public class SAPISIDHASH { 

    public static void main(String [] args) { 

     String sapisid = "b4qUZKO4943exo9W/AmP2OAZLWGDwTsuh1"; 
     String origin = "https://hangouts.google.com"; 
     String sapisidhash = "1447033700279" + " " + sapisid + " " + origin; 
     System.out.println("SAPISID:\n"+ hashString(sapisidhash)); 
     System.out.println("Expecting:"); 
     System.out.println("38cb670a2eaa2aca37edf07293150865121275cd"); 

    } 

    private static String hashString(String password) 
    { 
     String sha1 = ""; 
     try 
     { 
      MessageDigest crypt = MessageDigest.getInstance("SHA-1"); 
      crypt.reset(); 
      crypt.update(password.getBytes("UTF-8")); 
      sha1 = byteToHex(crypt.digest()); 
     } 
     catch(NoSuchAlgorithmException e) 
     { 
      e.printStackTrace(); 
     } 
     catch(UnsupportedEncodingException e) 
     { 
      e.printStackTrace(); 
     } 
     return sha1; 
    } 

    private static String byteToHex(final byte[] hash) 
    { 
     Formatter formatter = new Formatter(); 
     for (byte b : hash) 
     { 
      formatter.format("%02x", b); 
     } 
     String result = formatter.toString(); 
     formatter.close(); 
     return result; 
    } 
} 
İşte

bir örnektir Java SHA1

kaynağı Java String to SHA1

İlgili konular