CoolFace
Datasetpublic

spmoisa548/sama1

sourceHugging Faceupdated 1d agoView on Hugging Face
1likes4.2kdownloads
gettoken.py158 linesDownload Raw Back to root
1import requests 
2import pyotp
3import uuid
4import random
5import string 
6import time
7import hashlib
8from datetime import datetime
9
10class FB():
11    def proxy():
12        data = ['']
13        send = random.choice(data)
14        return send
15    def sort(data):
16        sorted_keys = sorted(data.keys())
17        sorted_data = {}
18        for key in sorted_keys:
19            sorted_data[key] = data[key]
20        return sorted_data
21    
22    def encodesig(data):
23        sorted_data = sorted(data.items())
24        encoded_data = '&'.join(['{}={}'.format(k, v) for k, v in sorted_data])
25        return hashlib.sha256(encoded_data.encode()).hexdigest()
26    
27    def jso(data1):
28        access_token = data1['access_token']
29        cookie = ''
30        appstate = []
31        for i in data1['session_cookies']:
32            name = i['name']
33            value = i['value']
34            cookie += f'{name}={value};'
35            appstate.append({
36                "key": name,
37                "value": value,
38                "domain": "facebook.com",
39                "path": "/",
40                "hostOnly": False,
41                "creation": str(datetime.now()).replace(' ', 'T').split('.')[0]+'Z',
42                "lastAccessed": str(datetime.now()).replace(' ', 'T').split('.')[0]+'Z'
43            })
44        open('token.txt', 'a+').write(f'{access_token}\n')
45        return {
46            'access_token': access_token,
47            'cookie': cookie,
48            'appstate': appstate
49        }
50    
51    def main(account):
52        #try:
53            prox = FB.proxy()
54            session = requests.Session()
55            #session.proxies.update({
56            #    'http': 'http://'+prox,
57            #    'https': 'http://'+prox,
58            #})
59            #print('Nhập kài khoản theo dạng này uid|pass|auth|token (token -> EAAD6V7 hoặc EAAAAU, ...')
60            #account = input('Nhập tài khoản: ')
61            username = account.split('|')[0]
62            password = account.split('|')[1]
63            auth = account.split('|')[2].replace(' ', '')
64            token_key = account.split('|')[3]
65            token_obj = {
66                'EAAD6V7': "275254692598279|585aec5b4c27376758abb7ffcb9db2af",
67                'EAAAAU': '350685531728|62f8ce9f74b12f84c123cc23437a4a32',
68                'EAAD': '256002347743983|374e60f8b9bb6b8cbb30f78030438895',
69                'EAAGO': '438142079694454|fc0a7caa49b192f64f6f5a6d9643bb28',
70                'EAAAAAY': '6628568379|c1e620fa708a1d5696fb991c1bde5662',
71                'EAAClA': '181425161904154|95a15d22a0e735b2983ecb9759dbaf91',
72                'EAAVB': '1479723375646806|afb3e4a6d8b868314cc843c21eebc6ae',
73                'EAAC2S': '200424423651082|2a9918c6bcd75b94cefcbb5635c6ad16',
74                'EAATK': '1348564698517390|007c0a9101b9e1c8ffab727666805038',
75                'EAAQr': '1174099472704185|0722a7d5b5a4ac06b11450f7114eb2e9',
76                'EAAI7': '628551730674460|b9693d3e013cfb23ec2c772783d14ce8',
77              }
78            machine = ''.join(random.choices(string.ascii_lowercase + string.ascii_uppercase + string.digits, k=24))
79            form = {
80                'adid': str(uuid.uuid4()),
81                'email': username,
82                'password': password,
83                'format': 'json',
84                'device_id': str(uuid.uuid4()),
85                'cpl': 'true',
86                'family_device_id': str(uuid.uuid4()),
87                'locale': 'en_US',
88                'client_country_code': 'US',
89                'credentials_type': 'device_based_login_password',
90                'generate_session_cookies': '1',
91                'generate_analytics_claim': '1',
92                'generate_machine_id': '1',
93                'currently_logged_in_userid': '0',
94                'try_num': "1",
95                'enroll_misauth': "false",
96                'meta_inf_fbmeta': "NO_FILE",
97                'source': 'login',
98                'machine_id': machine,
99                'meta_inf_fbmeta': '',
100                'fb_api_req_friendly_name': 'authenticate',
101                'fb_api_caller_class': 'com.facebook.account.login.protocol.Fb4aAuthHandler',
102                'api_key': '882a8490361da98702bf97a021ddc14d',
103                'access_token': token_obj.get(token_key, '')
104              }
105            form['sig'] = FB.encodesig(form)
106            headers = {
107                'content-type': 'application/x-www-form-urlencoded',
108                "x-fb-friendly-name": 'authenticate',
109                'x-fb-http-engine': 'Liger',
110                'user-agent': 'Mozilla/5.0 (Linux; Android 13; SM-A336E Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36[FBAN/EMA;FBLC/vi_VN;FBAV/371.0.0.2.104;]',
111            }
112            res_data1 = session.post(f'https://b-graph.facebook.com/auth/login',data=form, headers=headers)
113            print(res_data1.text)
114            if res_data1.status_code == 200:
115                return FB.jso(res_data1.json())
116            elif res_data1.status_code != 200:
117                #print(res_data1.json())
118                err = res_data1.json()['error']['error_data']
119                totp = pyotp.TOTP(auth)
120                code = totp.now()
121                form['twofactor_code'] = code
122                form['encrypted_msisdn'] = ''
123                form['userid'] = err['uid']
124                form['machine_id'] = err['machine_id']
125                form['first_factor'] = err['login_first_factor']
126                form['credentials_type'] = 'two_factor'
127                time.sleep(2)
128                del form['sig']
129                form['sig'] = FB.encodesig(form)
130                #print(form)
131                headers = {
132                    'content-type': 'application/x-www-form-urlencoded',
133                    'x-fb-http-engine': 'Liger',
134                    'user-agent': 'Mozilla/5.0 (Linux; Android 13; SM-A336E Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36[FBAN/EMA;FBLC/vi_VN;FBAV/371.0.0.2.104;]',
135                  }
136                res_data2 = session.post('https://b-graph.facebook.com/auth/login', headers=headers, data=form).json()
137                print(res_data2)
138                return FB.jso(res_data2)
139            else:
140                return {
141                    'code': 1,
142                    'message': 'Lỗi Tùm Lum! '
143                }
144        #except Exception:
145        #    return {
146        #        'code': 1,
147        #        'message': 'Lỗi Tùm Lum! '
148        #    }
149        
150#print(FB.proxy())
151if __name__ == '__main__':
152    
153    print('Định dạng uid|pass|2fa|token')
154    print('EAAAAU, EAAD6V7,...')
155    a = input('Nhập tài khoản: ')
156    b = FB.main(a)
157    print(b)
158    #Test.main()
spmoisa548/sama1 · CoolFace