แแ แ แแแฆแแแ แแ แฃแแแ แกแแแแแแ แแแกแแฌแงแแ แกแแฆแแแแก, แแ แแคแฃแ แชแแแ แแคแแชแแแแฃแ แ Habr-แแก แแแแแแแชแแ, แแแแแ แแ แแฎแแ แแแแแฎแแ แ แแแแแแ, แแแแ แงแแแแแ แแ แแกแแแฃแจแแ แคแฃแแฅแชแแแกแแแแก. แแ, แแแแแแแแแ, แแแแแแขแแ แก แแแ แแแแแแแ, แแฅ แฎแแแก แแแชแแแแก แฃแคแแแแแก แแแแ แซแแแแแแ แแ แกแแแ แแแ, แ แแขแแ แแ แฉแแแก แคแแ แแฃแแแแ แแแ แแแแ?
แแแแแฌแงแแ: แแแญแแ แแแแแแ แ แแฆแแช แแแแคแแ แขแฃแแ, แกแแกแแแแแแแ, แ แแฆแแช แฉแแแแ. แ แแช แจแแแฎแแแ แแฅแแแแก แกแแแฃแแแ แแแแแแแชแแแก Habr-แแกแแแแก?
แแแแ แแแแแชแแ แแแแชแแ แ แแแแแแแแ แกแแ แแแจแแขแ แกแแขแฃแแชแแแก แแแกแแแแแแ.
แ แแฆแแช แแกแ แแแแแแงแฃแ แแแ แแ - แแแ. habr.com แแแแแแแชแแ
"แฃแฎแแ แฎแฃแแแแแก" แกแแ
- แแฅแแแ แแ แจแแแแซแแแแ แจแแแคแแกแแ แแฃแแแแแแชแแ, แ แแแแแก แ แแแขแแแแ แแแแกแฎแแแแแแแ 0-แแแ
- แงแแแแแแแแก แแ แแ แแก แจแแกแแซแแแแแแ แแแแแแขแแ แแก แแแฌแแ แ
- แแแแแแแแฎแแแแ แแ แแฃแจแแแแก
- แคแแ แแฃแแแแ แแ แฉแแแก แแฃแฅ แแแแแจแ (แจแแแ แจแแแแ)
- แงแแแแ แกแแแแจแแ แแ แแ แแก แฎแแแแแกแแฌแแแแแ
แแแแฎ, แแแแแแแชแแ แแ แแแแแฎแแแแฃแแ แแแกแฃแแ แฌแแแก แแแแแกแขแแก แจแแแแแ, แแแแ แแ แแแแแช แชแฃแแแ. แแแแแแแ, แแก แฃแแแ แแแแแกแฌแแ แแแก.
แแแฌแแแ แแแ แแแแ. แแซแแแก แฌแแแแแแก.
แกแฌแ แแคแ Google แจแแแแแฎแแ "habrahabr API" แแแแแแก, แ แแ แฃแแแ แกแแแแแแ แแแซแแแแแแฃแแแ
แฃแแฃแแแแแแงแแคแ แแ แคแแฅแขแก, แ แแ แแก แแ แแก PHP, แแแแแแแ แฅแแแแแ แแ แฌแแแแแแฎแแ:
แแแแแชแฎแแแแก ID-แแก แแแฆแแแ
แฃแแแ แแขแแกแแแแก แแแฆแแแ
แแ แคแแ แแแก Habrahabr-แแ, แแฅแแแ แฃแแแ แแแแแแ แแฆแฌแแ แแ แแฎแแแ แแแแแแแชแแแก แแ แกแ แแ แแแแแแ, แ แแกแแแแกแแช แแแก แกแญแแ แแแแ API.
แแแแฎแแ แแ แแ แแก, แแฃ แแฅแแแ แแญแแ แแแแแ แฌแแแแแ, แแแจแแ แแก แแญแแ แแแแแ. แฉแแแ แแฌแแ แ แฌแแ แแแก (แจแแแแแแแแแ):
แฌแแ แ
แแ แกแแแแแก แกแฃแ แแแแ, แ แแ แแแแฎแแ แชแแแแแแก แแแแแชแฎแแแ Habr-แแ PWA-แแ แแแงแ แแแแแแ. แแแแก แ แแแแแแแแ แแแแแแ แแ แกแแแแแก.
แแแ แแแแ แแ แงแแแแแแ แแจแแแ แ: Android แแแแแแแชแแ แแ แแแแแงแแคแแแแแก แฉแแแก แแแ แแ แแแแฎแแแแแแก.
แแแแ แ: แแ แแ แแก แกแแแแแ แแกแ แแจแแแแแฃแ แ แจแแขแงแแแแแแแแแ แงแแแแ แกแแฎแแก แแแแแแก แจแแกแแฎแแ, แ แแแแแแช แฉแแแฃแแแแ แแ แแแแแก แแแแฅแขแ แแแฃแแ แคแแกแขแแ (แแแแแแแแแ, แแแแแแขแแ แแแ).
แแแกแแแ: แแแ แแแ แจแแฏแแแแแ (แ แแแแ แช แแแ แกแแแฅแขแแแ) แแแแแแแแแแแ/แชแแแขแ แแแแ, แ แแแแแแแช แแแแแขแแ แแกแแแก, แฉแแแ แแแขแแ แแกแแแแก แแแแแแแแกแฌแแแแแแ.
แแแกแฃแฎแ, แ แ แแฅแแ แฃแแแ, แแ แแงแ แซแแแแแ แกแแกแแแแแแแ, แแแแ แแ แแแแแช แแฃแแฌแ แคแแแ:
แกแแแฌแฃแฎแแ แแ, แฉแแแแก API-แแ แฌแแแแแ แแแแแแแ แแแฃแฌแแแแแแแแ. แฉแแแ แแแแแ แแแ แแแแแแฎแแแ แฌแแแแแแก แแแฌแแแแแ API-แก แแแกแ แฃแแแแแแแ, แแแแ แแ แแฃแกแขแ แแแ แแฆแแแ แฏแแ แแ แแแแฅแแก, แ แแแแแ แแแแแแแ แกแฎแแ แแ แแแ แแขแแขแฃแแ แแแแชแแแแแแก แแแแแญแ แแ แแแ แ แแแแแแแแฃแแ.
"แฒแแ แแ, แแ แแแแแแ แแ แแ! แ แแแแก แแแแแคแแฅแ แแแ!" - แแฃแแฎแแ แ แฉแแแก แแแแก แแ แงแฃแ แแแ แแแแแฌแงแ.
แฒแแแ แ แแแฌแแแ. แฆแ แแ แแแแฎแ แแแ.
แแแแแแแก แแแฎแแแแแ, แแฃ แแแแแแแชแแ แแแจแแแแฃแแแ, แแแจแแ แแแก แแฅแแก แฌแแแแแ API-แแ แแ แแก แฉแแ แแฃแแแ แแแแแแแชแแแจแ. แแแแแแแแแแแแ.
แแแแแแแแ แกแแฅแแ แแแแฅแแก แขแ แแคแแแแแ, Wireshark แฉแแแแ แแ แฉแแแแแแ. แแแ แแแแฃแแ แขแแแแแแแแแก แแแ แแจแ, แ แแแแกแแช แขแแแแคแแแก แแแแฃแแแแจแแ แแแ แแแขแแ แแแขแก แแแกแแขแแแแก แแแแแแฃแขแแ แแก แกแแจแฃแแแแแแ, แฉแแแ แแฎแกแแแ แแแแแแแชแแแก แแ แแฃแงแฃแ แแแ แแแแฎแแแแแแก:
แแแกแแแแแแ, แ แแ แแ แแคแแ แแ แแแกแแแแแ
แแแแฎ, แงแแแแแคแแ แ แแแจแแคแ แฃแแแ, แแแแ แแ แแ แแ แแแแแ แแ แแแขแแแ แแคแแแก แแ แแแ. แจแแแแแ แแฅแแแ แฃแแแ แจแแฎแแแแ แแแแแ แแแแแแแชแแแก.
แแแแแแแแแแ แแแฃแแ .apk, แแแแแฌแงแแ แซแแแแ. แ แ แกแญแแ แแแแ แแแแแกแแแแ API-แก? แฃแคแแแแ, แกแแแแแแ, แแแแแแ, แกแแแแช แงแแแแ แแแแฎแแแแ แแแแแก. แแก แแ แแก แแแแแ http(s), แแแแแ แแชแแแแ แแแแแแแ "https://":
แคแแแแจแ AuthLinkManager.smali
แฉแแแ แแแแแแแ
.field OAUTH:Ljava/lang/String; = "https://habrahabr.ru/auth/o/%s/"
.field OAUTH_PARAMS:Ljava/lang/String; = "?client_id=%s&response_type=token&redirect_uri=%s"
.field OAUTH_REDIRECT_URL:Ljava/lang/String; = "http://cleverpumpkin.ru"
แแก แแ แแก Android แแแ แขแฃแแแฃแ แ แแแแฅแแแแก แแแแ (แแแแแแ แ.แ.), แแ แแ แแก แซแแแแแ แแแกแแแแแ แแแแแแแแแแแกแแแแก, แแแแ แแ แแแแแช แกแแแแแแ แแแคแแ แแแขแแฃแแ. แแก แกแแแ แแฃแแแแแ, แแแแ แจแแแแแ แกแแกแ แแ แกแแฎแแแแก แแแฎแแแแแ แแแแกแฏแแแแแ, แแกแแแ แ แแแแ แช GitHub แกแแชแแแ, แแแแแแงแแแแแ แฌแแแแแแก แแแจแแแก แแแแฎแแแแแ แแแแแแแก แแแแแงแแแแแแ. GET
.
แแแแแ แฃแคแ แ แจแแ แก แแแแแแฎแแแแ. แคแแแแ, แ แแแแแแช แฉแแแแแ แจแแแแแ แซแแแแแจแ แแ แแก NetworkModule.smali
:
const-string v0, "https://habr.com/api/v1/"
แแ แแฅ แแ แแก แแแแแแ, แกแแแแช แฃแแแ แฌแแฎแแแแแ แแฅแแแแ แแแแฎแแแแแแแ!
แแแแกแแแแก, แ แแ แแแฌแแ แแแแ แแแแแแขแแ แกแฌแแ แแ แแแฃแจแแแก, แแฎแแแแ แแ แแ แ แแ แ แฉแแแ แแแกแแ แแแแแ - client_id
, แ แแแแแแช, แกแแแแ แแฃแแแ, แแแแแแแชแแแก แฃแแแแแแฃแ แ แแแแแขแแคแแแแขแแ แแ.
แแฃแแชแ, แแ แขแแฅแกแขแแก แกแแฌแงแแก แแแแจแ แซแแแแแ แแ แแแแแแฌแแแ แจแแกแแแแแแกแ แแแคแแ แแแชแแแก แแแซแแแแ...
แแแแ แแ แฃแชแแ แแ แ-แแ แ แคแแแแจแ แฉแแแแ แแแแแแแแ แ แแแแแแแแ แกแแแแขแแ แแกแ แกแขแ แแฅแแแ แแแแแแฎแ:
const-string p8, "log-tag"
invoke-static {p8, p2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
แแก, แ แแแแ แช แแแกแแแ, แแ แแก แแฃแ แแแแแก แฉแแแแฌแแ แ. แแแแ แแ แ แแกแ แฉแแฌแแ แ?
แแแฌแแแ แแแกแแแ. แแก แแ แแก แแฃแ แแแแแแ!
แฒฉแแแ แแแงแแแแแ adb logcat
แแแแแแแชแแแก แแฃแ แแแแแแแก แกแแแแฎแแแแ.
แแแฃแแแแแแแแ, แแฃแ แแแแแแ แแแแแ แฃแคแ แ แแแขแแแฃแ แ แแฆแแแฉแแแ, แแแแ แ แแแกแแแแแแแแ แแงแ.
แแฅ แฉแแแ แแแแฅแแก แแ แ แแฎแแแแ แแก, แ แแช แแแญแแ แแแแ client_id
แแแแ แแ แขแแแแ แแแแฎแแแ แแแแแ/แแแแแแแชแแ แแ แจแแกแแแแแ ะธ แแแแแแแฌแงแแแ แฃแแ แแแ แขแแฅแกแขแจแ!
แแแแแแ แแ แจแแแฅแแฃแแแแแก แแแแ แแแแฃแ แแแแแแจแ แแฎแแแแ แจแแกแแแแกแ แแ แแแ แแแแก แแ แกแแแแแ แแ แแคแแ แก แแแแแแก, แ แแแแแ แแ แแฃแ แแแแแก แฌแแแแแฎแแ แจแแกแแซแแแแแแแ แแฎแแแแ root แฃแคแแแแแแแ แแ แแแแจแแ แแก แกแแจแฃแแแแแแ. adb
. แแแแ แแ แแแแก แแแแ, แ แแ Habr-แก แแแแฎแฃแแแ แจแแ แแก แแ แแแ Android-แแก แแแแแแแแแ แแแ, แ แแแแแแกแแช แจแแกแแซแแแ แฉแแ แแฃแแ แฐแฅแแแแแ แแแแแ แแแ, แแก แแ แแแแแแแ แแฅแชแแแ.
แแ แจแแแแฎแแแแแจแ, แแแ แแแแ แขแจแ โแฃแคแแกแ แแแ แแชแฎแแแโ แจแแกแแซแแแ แแแแแ แแจแแก แแแแแ แแ แแแแแแฌแแแแก, แแแแ แแ แแแก แกแญแแ แแแแ แแก?
แแ แแฃแ แแแแแแแแแ แจแแแแแซแแแ แแแแแแฆแแ:
client_id
ะธapikey
แกแแญแแ แแ แฌแแแแแ api;- แแแแฎแแแ แแแแแก แแแขแแ แแแแชแแแก URL (แฃแชแแแฃแ แแ, แแแแ แแ แแ แแแแแแแก แจแแกแแฎแแ แกแแชแแแจแ แแ แแคแแ แแ, แแฅแแแ แแ แแ แแก แแแฌแแแแแฃแแ?)
แแกแแช แแแฎแแ. แแ แแแฌแแฌแแแ แแแแแแแก แกแแคแฃแซแแแแแ แฃแแแ แแแแแแแแ แแแแก แแฃแจแแแแ แแชแแ แ แแ แแแฅแขแแ - แฉแแแแแแ แแแแแแฃแ แ แแแแแแแชแแแก แแแแแ แแแ. แแแฎแแแ แแแแก แแกแฃแ แแแแแแก แแแฎแแ แแแกแแฏแแก แแแฌแแ แแจแ, แแแแแ แฉแแแแแก แแ - แฎแแ แแแกแชแแ (แ แแแแแ แแแแแ แแแแแแ แแก แแแแแแก แกแญแแ แแแแ แแฃ แแ แ).
แแแแ แแแแแแแ!
แแแแแแแแฎแแแจแ แแแแแฌแแแแแแ แจแแฃแซแแแแ แแฎแแแแ แแแ แแแแกแขแ แแ แแแฃแ แแแแฎแแแ แแแแแแก.
แแงแแแแแ Habr-แแก แแแแแแฃแ แแแแแแแชแแแก?
-
แแ, แแแงแแแแ, แแแแงแแคแแแ แแแ
-
แแแแฎ, แแ แแแงแแแแ, แแแแแแแชแแ แแฌแแแแก แฃแฎแแ แฎแฃแแแแแก
-
แแ แ, แแ แแแงแแแแ แแแ แแแ แกแแแก แฉแแแก แขแแแแคแแแแ
-
แแ แ, แแ แแแงแแแแ Habr-แก แฉแแแ แแแแแแฃแขแแ แแแแ
แแแกแชแ แฎแแ 357 แแแแฎแแแ แแแแแแ. 30-แแ แแแแฎแแแ แแแแแแ แแแแ แจแแแแแแ.
แฌแงแแ แ: www.habr.com