(Не)званична Хабр апликација - ХабрАпп 2.0: добијање приступа

Једне клонуле и већ прилично досадне вечери, ја листам званичник Хабр апликација, још једном сам савио прсте, по један за сваку нерадну функцију. Овде, на пример, не можете да коментаришете, овде вам је ускраћено право гласа, и уопште, зашто се формуле не виде на екрану?

(Не)званична Хабр апликација - ХабрАпп 2.0: добијање приступа
Одлучено је: треба нам нешто удобно, пријатно, нешто своје. Шта је са вашом сопственом апликацијом за Хабр?
Дозволите ми да вам дам неколико снимака екрана да бисте разумели ситуацију.

(Не)званична Хабр апликација - ХабрАпп 2.0: добијање приступаНекако то изгледа овако ово - оф. апликација хабр.цом

Списак "непријатности"

  • Не можете да оцените публикацију чија се оцена разликује од 0
  • Није увек могуће написати коментар
  • Анкете не раде
  • Формуле нису видљиве у тамној теми (црно на црно)
  • Нису сви обележивачи доступни

Да, апликација није ажурирана од августа прошле године, али је и даље лоша. Генерално, то треба поправити.

Први део. Тражим приступ.

Брзи Гоогле упит "хабрахабр АПИ" каже да је већ прилично застарео репозиторијум на Гитхуб-у, од тада није ажурирано Новембар КСНУМКС КСНУМКС, и ово, на тренутак, две и по године.

Занемарујући чињеницу да је ово ПХП, померите се надоле и прочитајте:

Добијање ИД-а апликације

Искористивши ова форма на Хабрахабру треба укратко описати суштину нове апликације и сврху за коју јој је потребан АПИ.

Нема сумње, ако треба да добијете приступ, онда вам је потребан. Пишемо писмо (скраћено):

Писмо

Постоји жеља да се направи апликација за Хабр заснована на ПВА. За то постоји неколико разлога. 

Прво и најочигледније: Андроид апликација не испуњава моје личне захтеве.

Друго: нема довољно изворних обавештења о свим врстама ствари које обично долазе путем е-поште (коментари, на пример).

Треће: лични прегледи (као перспектива) о људима/центрима који ме занимају, узимајући у обзир моја интересовања.

Одговор, наравно, није био баш пријатан, али барем искрен:

Нажалост, приступ нашем АПИ-ју тренутно није доступан. Планирамо да наставимо са пружањем приступа након што завршимо финализацију АПИ-ја, али још увек немамо тачне датуме, јер Тренутно смо заузети решавањем других приоритетних задатака.

"Ок нема проблема! Смислићемо нешто!" – рекао сам себи и почео да тражим.

Други део. Дубока ископавања.

На основу логике, ако је апликација покренута, онда има приступ АПИ-ју и хардверски је повезан са апликацијом. Хајде да анализирамо.

Пошто се бавимо саобраћајем, Виресхарк је наш избор. Не без муке, повезујући телефон на Интернет преко десктоп рачунара, отварамо апликацију и гледамо захтеве:

(Не)званична Хабр апликација - ХабрАпп 2.0: добијање приступа
Јасно да ништа није јасно

Да, све је шифровано, али не желим да се петљам са криптографијом. Затим морате погледати унутар саме апликације.

Декомпилирано АПК., почнимо да тражимо. Шта је потребно било ком АПИ-ју? Јел тако, крајња тачка, место где иду сви захтеви. Ово је вероватно хттп(с), хајде да покушамо да пронађемо „хттпс://“:

У фајлу 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"

Ово је код за Андроид виртуелну машину (Далвик ВМ), није баш разумљиво за људе, али ипак прилично информативно. Ове три константе, судећи по њиховом садржају и називу, као и ГитХуб спремиште, користе се за тражење токена за приступ помоћу методе 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 да видите дневнике апликација.

(Не)званична Хабр апликација - ХабрАпп 2.0: добијање приступа

Неочекивано, испоставило се да су дневници још детаљнији него што се очекивало.

Овде имамо не само оно што нам треба client_idАли жетон корисник/апликација, и логин и лозинка у чистом тексту!

Неке теорије завереСамо присуство логин-а и лозинке у евиденцији не штети ничему, јер се ови евиденције могу читати само са роот правима или везом преко adb. Али због чињенице да међу људима који читају Хабр постоје Андроид програмери који можда имају омогућено отклањање грешака, ово постаје проблем.

У овом случају, „бесплатно пуњење“ на аеродрому може довести до крађе налога, али коме је то потребно?
Из ових дневника можемо издвојити:

  • client_id и apikeyпотребно за приступ АПИ;
  • УРЛ ауторизације корисника (чудно, али у спремишту нема ништа о овом методу, можда није наведено?)

Тако се то догодило. На основу овог малог истраживања, већ се ради на малом пројекту - сопственој имплементацији мобилне апликације. Молим оне који желе да помогну да напишу поруку, а све остале - да гласају (јер желим да разумем да ли је ово некоме потребно).

Спасибо за внимание!

Само регистровани корисници могу учествовати у анкети. Пријавите се, Добродошао си.

Да ли користите мобилну апликацију Хабр?

  • Да, користим га, задовољан сам

  • Да, користим га, апликација изазива непријатности

  • Не, користим веб верзију на свом телефону

  • Не, користим Хабр са свог рачунара

Гласало је 357 корисника. Уздржано је било 30 корисника.

Извор: ввв.хабр.цом

Додај коментар