(Un)అధికారిక Habr అప్లికేషన్ - HabrApp 2.0: యాక్సెస్ పొందుతోంది

ఒక నీరసంగా మరియు ఇప్పటికే చాలా నీరసంగా ఉన్న సాయంత్రం, నేను, ఆకులను దాటుతున్నాను అధికారిక Habr అప్లికేషన్, నేను మరోసారి నా వేళ్లను వంచాను, ప్రతి పని చేయని లక్షణానికి ఒకటి. ఇక్కడ, ఉదాహరణకు, మీరు వ్యాఖ్యానించలేరు, ఇక్కడ మీకు ఓటు హక్కు నిరాకరించబడింది మరియు సాధారణంగా, స్క్రీన్‌పై సూత్రాలు ఎందుకు కనిపించవు?

(Un)అధికారిక Habr అప్లికేషన్ - HabrApp 2.0: యాక్సెస్ పొందుతోంది
ఇది నిర్ణయించబడింది: మాకు సౌకర్యవంతమైన, ఆహ్లాదకరమైన, మన స్వంత ఏదో అవసరం. Habr కోసం మీ స్వంత అప్లికేషన్ గురించి ఏమిటి?
పరిస్థితిని అర్థం చేసుకోవడానికి నేను మీకు కొన్ని స్క్రీన్‌షాట్‌లను ఇస్తాను.

(Un)అధికారిక Habr అప్లికేషన్ - HabrApp 2.0: యాక్సెస్ పొందుతోందిఇలాంటిదే కనిపిస్తోంది ఇది - యొక్క. habr.com అప్లికేషన్

"అసౌకర్యాల" జాబితా

  • రేటింగ్ 0 నుండి భిన్నంగా ఉన్న ప్రచురణను మీరు రేట్ చేయలేరు
  • వ్యాఖ్య రాయడం ఎల్లప్పుడూ సాధ్యం కాదు
  • Не работают опросы
  • డార్క్ థీమ్‌లో ఫార్ములా కనిపించదు (నలుపుపై ​​నలుపు)
  • అన్ని బుక్‌మార్క్‌లు అందుబాటులో లేవు

అవును, యాప్ గత సంవత్సరం ఆగస్టు నుండి అప్‌డేట్ చేయబడలేదు, కానీ ఇది ఇప్పటికీ చెడ్డది. సాధారణంగా, ఇది పరిష్కరించాల్సిన అవసరం ఉంది.

ప్రథమ భాగము. యాక్సెస్ కోసం వెతుకుతోంది.

త్వరిత Google ప్రశ్న "habrahabr API" ఇది ఇప్పటికే చాలా పాతది అని చెప్పారు రిపోజిటరీ Githubలో, అప్పటి నుండి నవీకరించబడలేదు నవంబర్ 21 2016, మరియు ఇది, ఒక క్షణం, రెండున్నర సంవత్సరాలు.

ఇది PHP అనే వాస్తవాన్ని విస్మరించి, క్రిందికి స్క్రోల్ చేసి చదవండి:

అప్లికేషన్ ID పొందడం

సద్వినియోగం చేసుకుంటున్నారు ఈ రూపం на Хабрахабре, нужно кратко описать суть нового приложения и цель, для которой ему нужен API.

ఎటువంటి సందేహం లేదు, మీరు ప్రాప్యతను పొందాలంటే, మీకు ఇది అవసరం. మేము ఒక లేఖ వ్రాస్తాము (సంక్షిప్తంగా):

లెటర్

PWA ఆధారంగా Habr కోసం దరఖాస్తు చేయాలనే కోరిక ఉంది. దీనికి అనేక కారణాలు ఉన్నాయి. 

మొదటి మరియు అత్యంత స్పష్టమైనది: Android అప్లికేషన్ నా వ్యక్తిగత అవసరాలకు అనుగుణంగా లేదు.

రెండవది: సాధారణంగా ఇమెయిల్ ద్వారా వచ్చే అన్ని రకాల విషయాల గురించి తగినంత స్థానిక నోటిఫికేషన్‌లు లేవు (ఉదాహరణకు వ్యాఖ్యలు).

మూడవది: నా ఆసక్తులను పరిగణనలోకి తీసుకుని, నాకు ఆసక్తి ఉన్న వ్యక్తులు/హబ్‌లపై వ్యక్తిగత డైజెస్ట్‌లు (దృక్కోణం వలె).

సమాధానం, వాస్తవానికి, చాలా ఆహ్లాదకరంగా లేదు, కానీ కనీసం నిజాయితీగా ఉంది:

దురదృష్టవశాత్తూ, మా APIకి యాక్సెస్ ప్రస్తుతం అందుబాటులో లేదు. మేము APIని ఖరారు చేసిన తర్వాత యాక్సెస్‌ను అందించడాన్ని పునఃప్రారంభించాలని ప్లాన్ చేస్తున్నాము, కానీ మాకు ఇంకా ఖచ్చితమైన తేదీలు లేవు, ఎందుకంటే మేము ప్రస్తుతం ఇతర ప్రాధాన్యతా పనులను పరిష్కరించడంలో బిజీగా ఉన్నాము.

“సరే, సమస్య లేదు! మేము ఏదో ఒకదానితో వస్తాము!" - నేను చెప్పాను మరియు చూడటం ప్రారంభించాను.

రెండవ భాగం. లోతైన తవ్వకాలు.

లాజిక్ ఆధారంగా, అప్లికేషన్ రన్ అవుతున్నట్లయితే, అది APIకి యాక్సెస్‌ను కలిగి ఉంటుంది మరియు అది అప్లికేషన్‌లోకి హార్డ్‌వైర్డ్ చేయబడింది. విశ్లేషిద్దాం.

మేము ట్రాఫిక్‌తో వ్యవహరిస్తున్నందున, వైర్‌షార్క్ మా ఎంపిక. కొన్ని నొప్పులు లేకుండా, డెస్క్‌టాప్ కంప్యూటర్ ద్వారా ఫోన్‌ను ఇంటర్నెట్‌కు కనెక్ట్ చేసిన తర్వాత, మేము అప్లికేషన్‌ను తెరిచి అభ్యర్థనలను పరిశీలిస్తాము:

(Un)అధికారిక Habr అప్లికేషన్ - HabrApp 2.0: యాక్సెస్ పొందుతోంది
ఏదీ క్లియర్‌గా లేదని స్పష్టం చేశారు

అవును, ప్రతిదీ గుప్తీకరించబడింది, కానీ నేను క్రిప్టోగ్రఫీతో గందరగోళానికి గురికావడం ఇష్టం లేదు. అప్పుడు మీరు అప్లికేషన్ లోపల చూడవలసి ఉంటుంది.

డీకంపైల్ చేయబడింది .apk, చూడటం ప్రారంభిద్దాం. ఏదైనా APIకి ఏమి కావాలి? కుడి, తుది స్థానం, అన్ని అభ్యర్థనలు వెళ్లే స్థలం. ఇది బహుశా http(లు), “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"

ఇది ఆండ్రాయిడ్ వర్చువల్ మెషీన్ కోసం కోడ్ (దాల్విక్ వి.ఎం.), మానవులకు చాలా అర్థమయ్యేది కాదు, కానీ ఇప్పటికీ చాలా సమాచారం. ఈ మూడు స్థిరాంకాలు, వాటి కంటెంట్ మరియు పేరు ద్వారా నిర్ణయించబడతాయి, అలాగే 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 అప్లికేషన్ లాగ్‌లను వీక్షించడానికి.

(Un)అధికారిక Habr అప్లికేషన్ - HabrApp 2.0: యాక్సెస్ పొందుతోంది

ఊహించని విధంగా, లాగ్‌లు ఊహించిన దానికంటే మరింత వివరంగా మారాయి.

ఇక్కడ మనకు అవసరమైనవి మాత్రమే లేవు client_idకానీ టోకెన్ వినియోగదారు/అప్లికేషన్, మరియు లాగిన్ и పాస్వర్డ్ సాదా వచనంలో!

కొన్ని కుట్ర సిద్ధాంతాలుСамо по себе присутствие а логах логина и пароля ничем не вредит, так как эти логи можно прочитать лишь имея либо рут-права, либо подключение через adb. కానీ Habr చదివే వ్యక్తులలో డీబగ్గింగ్ ప్రారంభించబడిన Android డెవలపర్‌లు ఉన్నందున, ఇది సమస్యగా మారుతుంది.

ఈ సందర్భంలో, విమానాశ్రయంలో "ఉచిత ఛార్జింగ్" ఖాతా దొంగతనానికి దారితీయవచ్చు, కానీ అది ఎవరికి అవసరం?
ఈ లాగ్‌ల నుండి మనం సంగ్రహించవచ్చు:

  • client_id и apikeyయాక్సెస్ అవసరం API;
  • వినియోగదారు అధికార URL (విచిత్రమైనది, కానీ ఈ పద్ధతి గురించి రిపోజిటరీలో ఏమీ లేదు, బహుశా ఇది అందించబడలేదా?)

అలా జరిగింది. ఈ చిన్న పరిశోధన ఆధారంగా, ఒక చిన్న ప్రాజెక్ట్‌పై ఇప్పటికే పని జరుగుతోంది - మొబైల్ అప్లికేషన్ యొక్క మా స్వంత అమలు. నేను సందేశాన్ని వ్రాయడానికి సహాయం చేయాలనుకునే వారిని మరియు ప్రతి ఒక్కరినీ ఓటు వేయమని అడుగుతున్నాను (ఎవరికైనా ఇది అవసరమా అని నేను అర్థం చేసుకోవాలనుకుంటున్నాను).

Спасибо!

నమోదు చేసుకున్న వినియోగదారులు మాత్రమే సర్వేలో పాల్గొనగలరు. సైన్ ఇన్ చేయండిదయచేసి.

మీరు Habr మొబైల్ అప్లికేషన్‌ని ఉపయోగిస్తున్నారా?

  • అవును, నేను దానిని ఉపయోగిస్తాను, నేను దానితో సంతోషంగా ఉన్నాను

  • అవును, నేను దానిని ఉపయోగిస్తాను, అప్లికేషన్ అసౌకర్యాన్ని కలిగిస్తుంది

  • లేదు, నేను నా ఫోన్‌లో వెబ్ వెర్షన్‌ని ఉపయోగిస్తాను

  • లేదు, నేను నా కంప్యూటర్ నుండి Habrని ఉపయోగిస్తాను

357 మంది వినియోగదారులు ఓటు వేశారు. 30 మంది వినియోగదారులు దూరంగా ఉన్నారు.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి