venomous0x / WhatsAPI

Interface to WhatsApp Messenger
2.59k stars 2.14k forks source link

[reason] => no_routes #1074

Open yanelev opened 9 years ago

yanelev commented 9 years ago

I cannot register my mobile number to whatsapp using Simple CLI client.php and exampleRegister.php all the tune I get no_routes. Is there a general problem or is it just me?

Type sms or voice: sms Array ( [in] => 512345678 [cc] => 972 [id] => %@%@%02%c6%53%5e%b6%76%19%c1%1b%23%86%e4%1e%33 [lg] => he [lc] => IL [mcc] => 425 [mnc] => 01 [sim_mcc] => 425 [sim_mnc] => 01 [method] => sms [reason] => self-send-jailbroken [token] => T@2FzOVo%2FSiaE2WQw3EaTRu4%3D [network_radio_type] => 1 ) stdClass Object ( [status] => fail [reason] => no_routes [retry_after] => 3600 ) There was a problem trying to request the code.

twixr commented 9 years ago

Same problem here

yanelev commented 9 years ago

Thanks for you reply, can you please state which IP and where to change. Cheers

On 5 בינו 2015, at 01:52, Jesse notifications@github.com wrote:

Try a different IP, that's how I get rid of the fail / no_routes object.

Only, I'm still not getting a text message or call with a code :(

— Reply to this email directly or view it on GitHub.

ayswaryaprsd commented 9 years ago

any solution?

twixr commented 9 years ago

I've deleted my comment, because it doesn't work after all.I have a dutch number and I used a french server (with french IP) en whatsapp doesn't gave any response.

With a dutch IP I do get a response, but again the no_routes error. 

So I don't know anymore :(

— Sent from Mailbox

On Mon, Jan 5, 2015 at 7:42 AM, yanelev notifications@github.com wrote:

Thanks for you reply, can you please state which IP and where to change. Cheers

On 5 בינו 2015, at 01:52, Jesse notifications@github.com wrote:

Try a different IP, that's how I get rid of the fail / no_routes object.

Only, I'm still not getting a text message or call with a code :(

— Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHub: https://github.com/venomous0x/WhatsAPI/issues/1074#issuecomment-68673483

twixr commented 9 years ago

My solution was to register my phone number via the official WhatsApp mobile client (app) and find the password on my iPhone and use that. (pw.dat file, that's the file where your password is stored (encrypted))

yanelev commented 9 years ago

Is it possible for you maybe to share how you decrypted the pw.bat file? A short procedure will be nice. Thanks

On 8 בינו 2015, at 21:09, Jesse notifications@github.com wrote:

My solution was to register my phone number via the official WhatsApp mobile client (app) and find the password on my iPhone and use that. (pw.dat file, that's the file where your password is stored (encrypted))

— Reply to this email directly or view it on GitHub.

bitbitbit commented 9 years ago

I got the same issue! would like to get the pw for wtsapp too!! thanks!!

twixr commented 9 years ago

If I have time left today i'll take a look to write a quick and simple 'tutorial' thing hoe you can easily grab your whatsapp password on iPhone (note: I have an iPhone so I don't know how this works on Android but I think more or less the same)

— Sent from Mailbox

On Fri, Jan 9, 2015 at 7:44 AM, bitbitbit notifications@github.com wrote:

I got the same issue! would like to get the pw for wtsapp too!! thanks!!

Reply to this email directly or view it on GitHub: https://github.com/venomous0x/WhatsAPI/issues/1074#issuecomment-69299447

yanelev commented 9 years ago

That will be super for me and for sure many others, iPhone is perfectly fine.

Thanks

On 9 בינו 2015, at 13:36, Jesse notifications@github.com wrote:

If I have time left today i'll take a look to write a quick and simple 'tutorial' thing hoe you can easily grab your whatsapp password on iPhone (note: I have an iPhone so I don't know how this works on Android but I think more or less the same)

  • Jesse

— Sent from Mailbox

On Fri, Jan 9, 2015 at 7:44 AM, bitbitbit notifications@github.com wrote:

I got the same issue! would like to get the pw for wtsapp too!! thanks!!

Reply to this email directly or view it on GitHub: https://github.com/venomous0x/WhatsAPI/issues/1074#issuecomment-69299447 — Reply to this email directly or view it on GitHub.

twixr commented 9 years ago

What you already can do is jailbreak your iPhone.On Google can you find how, even for iOS 8.2.1 (latest)

— Sent from Mailbox

On Fri, Jan 9, 2015 at 12:57 PM, yanelev notifications@github.com wrote:

That will be super for me and for sure many others, iPhone is perfectly fine. Thanks

On 9 בינו 2015, at 13:36, Jesse notifications@github.com wrote:

If I have time left today i'll take a look to write a quick and simple 'tutorial' thing hoe you can easily grab your whatsapp password on iPhone (note: I have an iPhone so I don't know how this works on Android but I think more or less the same)

  • Jesse

— Sent from Mailbox

On Fri, Jan 9, 2015 at 7:44 AM, bitbitbit notifications@github.com wrote:

I got the same issue! would like to get the pw for wtsapp too!! thanks!!

Reply to this email directly or view it on GitHub: https://github.com/venomous0x/WhatsAPI/issues/1074#issuecomment-69299447 — Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHub: https://github.com/venomous0x/WhatsAPI/issues/1074#issuecomment-69325622

mgp25 commented 9 years ago

I recommend using this repo as i have the API updated: https://github.com/mgp25/WhatsAPI-Official

Also you can find a wiki where all its explained, including how to extract password: https://github.com/mgp25/WhatsAPI-Official/wiki

Regards

Use this (Working on iOS 8)

# -*- coding: utf-8 -*-
import sqlite3
import paramiko
import os, sys, time

def find_between( s, first, last ):
    try:
        start = s.index( first ) + len( first )
        end = s.index( last, start )
        return s[start:end]
    except ValueError:
        return ""

def getPath(username, host, password):
    dssh = paramiko.SSHClient()
    dssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    dssh.connect(host, username=username, password=password)
    cmd1 = "find /var/mobile/Containers -iname pw.dat"
    print "> "+cmd1
    stdin, stdout, stderr = dssh.exec_command(cmd1)
    res = stdout.read()
    res = res.split("\n")
    print res[0]
    dssh.close()
    return res[0]

def getDB(username, host, password):
    remotePath = "/var/mobile/Containers/Data/Application/" + WAPath[6] + "/Library/Caches/net.whatsapp.WhatsApp/Cache.db"
    pwFile = "/var/mobile/Containers/Data/Application/" + WAPath[6] + "/Library/pw.dat"
    transport = paramiko.Transport((host, 22))
    transport.connect(username = username, password = password)
    sftp = paramiko.SFTPClient.from_transport(transport)
    sftp.get(remotePath, 'Cache.db')
    sftp.get(pwFile, 'pw.dat')
    sftp.close()
    transport.close()
    print "\n\n- Cache.db downloaded!"
    print "- pw.dat downloaded!"

def getData():
    conn = sqlite3.connect('Cache.db')

    cursor = conn.cursor()

    cursor.execute("SELECT request_key FROM cfurl_cache_response")
    request_key = cursor.fetchall()
    request_key = request_key[0]

    cc = find_between(request_key[0], "cc=", "&")
    pn = find_between(request_key[0], "in=", "&")
    id = find_between(request_key[0], "id=", "&")
    lg = find_between(request_key[0], "lg=", "&")
    lc = find_between(request_key[0]+".", "lc=", ".")

    print "cc: "+cc
    print "pn: "+pn
    print "id: "+id
    print "lg: "+lg
    print "lc: "+lc
    print "\nRequest url: "+request_key[0]

    cursor.execute("SELECT receiver_data FROM cfurl_cache_receiver_data")
    receiver_data = cursor.fetchall()
    receiver_data = receiver_data[0]
    status = find_between(str(receiver_data[0]), "status\":\"", "\"")
    login = find_between(str(receiver_data[0]), "login\":\"", "\"")
    pw = find_between(str(receiver_data[0]), "pw\":\"", "\"")
    type = find_between(str(receiver_data[0]), "type\":\"", "\"")
    expiration = find_between(str(receiver_data[0]), "expiration\":", ",")
    kind = find_between(str(receiver_data[0]), "kind\":\"", "\"")

    print "\nstatus: "+status
    print "login: "+login
    print "pw: "+pw
    print "type: "+type
    print "expiration: "+expiration
    print "kind: "+kind

print '''
###########################################
#                                         #
#    WA Password and Identity Extractor   #
#              for iPhone                 #
#                                         #
###########################################

Author: @_mgp25 - github.com/mgp25 - mgp25.com

''' 

if len(sys.argv) < 4:
    sys.exit("Usage: python extractPW.py <username> <host> <password>\n")
time.sleep(2)
username = sys.argv[1]
host = sys.argv[2]
password = sys.argv[3]
WAPath = getPath(username, host, password)
WAPath = WAPath.split("/")
# Get Whatsapp cache ID 
print WAPath[6]
getDB(username, host, password)
print "\n- Extracting data...\n"
getData()
twixr commented 9 years ago

@mgp25 I used Cache.db-wal, which contains requests with your identity. That can be used to request a new password.

twixr commented 9 years ago

@yanelev @bitbitbit @ayswaryaprsd @mgp25 https://github.com/mgp25/WhatsAPI-Official/issues/273 I've created a little 'tutorial' to show you how I did it. I hope it works out for you :)

nephilim1973 commented 9 years ago

It is not necessary to extract password... Just use YowSup for registration.

https://github.com/tgalal/yowsup

Works like charm.