反向工程师Instagram HTTP请求

时间:2018-05-19 14:24:38

标签: encryption decode reverse-engineering

我在创建帐户时拦截了源自Android的HTTP请求。这里发送到Instagram的帖子数据:

e95cef1c47aa4c85ee7555403af92acb80aca9266e8edf77a7fb75b37795c735 {"allow_contacts_sync":"true","sn_result":"API_ERROR:+null","phone_id":"7520e5f4-b4a6-4bd9-a445-972641476fde","_csrftoken":"JlMrKwuiXF6pPB5q98Srx2TZR1MrKCfe","username":"michaelabramobics2","first_name":"Michael","adid":"dac68c0e-4307-4753-8c07-3ea2c26187dd","guid":"fa13e631-1663-49cf-a507-e62dbb03012b","device_id":"android-4d0577bf20b57285","email":"michaelabramobics2@gmail.com","sn_nonce":"bWljaGFlbGFicmFtb2JpY3MyQGdtYWlsLmNvbXwxNTI2NzM1Nzk4fBgiGpUFAo8qZWzGlVPG02r9zOXztwLQnQ==","force_sign_up_code":"","waterfall_id":"52d43d05-7cac-468a-8b10-2f2499eb7cf2","qs_stamp":"","password":"123456789"}

我如何解码此参数?

"sn_nonce":"bWljaGFlbGFicmFtb2JpY3MyQGdtYWlsLmNvbXwxNTI2NzM1Nzk4fBgiGpUFAo8qZWzGlVPG02r9zOXztwLQnQ=="

Base64解码返回:

michaelabramobics2@gmail.com|1526735798|"*elƕSjН

电子邮件| Unixtime |和?

最后一个值是多少?我怎样才能知道它是什么编码?

我将非常感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

nonce是一次使用的数字。通常,nonce由字节组成,并且它们通常是随机字节。如果使用数字或者nonce只是二进制数据,它取决于协议。它被用作一个数字,它可能是一个静态大小,无符号,大或有时小的字节数。但通常情况下,随机数由随机字节组成。

随机字节或课程将不会显示邮件地址或Unix时间。因为字节不是编码文本,解码它通常会导致垃圾。如果解码后的文本是Unicode,或者如果有不可打印的字符,那么结果通常会短于您预期的字节组合或完全省略。

在十六进制中,最后一部分读取(使用tomeko.net online decoder转换:

18221A9505028F2A656CC69553C6D36AFDCCE5F3B702D09D

对我来说看起来相当随机,它肯定不是任何编码中的文本。 24个字节也是加密安全的随机数,密钥等的通用长度,因此可以强化这是一个随机的随机数的假设。