Lietojumprogramma satur kodu, lai apietu Android. Saknes tiesību iegūšana operētājsistēmā Android, izmantojot Framaroot bez datora

Sākums / Bremzes

Ja esat aizmirsis paroli vai modeli savā Android ierīcē, tas nav iemesls panikai. Ir vairāki ātri un vienkāršas iespējas atbloķējiet tālruni vai planšetdatoru Uz Android bāzes ja neatceraties modeļa atslēgu vai PIN.

Google konta informācijas ievadīšana

Ja viedtālrunim vai planšetdatoram ir pastāvīgs savienojums, izmantojot bezvadu tīkls, tad jūs varat atrisināt aizsardzības apiešanas problēmu, vienkārši ievadot e-pasta adrese un paroli. Pēc 5 neveiksmīgiem ekrāna atbloķēšanas mēģinājumiem tiks parādīts paziņojums. Noklikšķiniet uz tā un parādītajā logā ievadiet sava Google konta lietotāja datus.

Ko darīt, ja esat aizmirsis savu paroli kontu Google? Pabeidziet procedūru, lai atjaunotu piekļuvi savam kontam tieši ar atbalsta palīdzību.

Atbloķēšana, izmantojot cieto atiestatīšanu

Izmantojot šo metodi, visi personiskie dati tiks dzēsti un viedtālruņa sistēma tiks atgriezta rūpnīcas iestatījumos (SD kartes faili netiek ietekmēti). Pirms procedūras veikšanas vēlams izveidot rezerves failu, no kura var atjaunot lietotāja informāciju.

Vienkāršākais atiestatīšanas veids ir izmantot utilītu, kas atrodas jūsu ierīces iestatījumos. Tā kā piekļuve sistēmai ir bloķēta, jums būs jārīkojas, izmantojot:


Katra lietotāja darbība (PIN koda izveide, grafiskā atslēga) tiek atspoguļota sistēmā, izveidojot noteiktus failus. Varam secināt, ka, dzēšot paroles datus, varēsiet atbloķēt ierīci, nezaudējot lietotāja informāciju.

Daudzi lietotāji patiešām domā, kā atbloķēt Android, izmantojot datoru. Lai to izdarītu, jums būs nepieciešama ADB utilīta, kā arī jūsu sīkrīks, kas pievienots USB atkļūdošanas režīmā. Izpildiet šādu algoritmu:


adb shellrm /data/system/gesture.key

rm /data/system/locksettings.db;

rm /data/system/locksettings.db-wal;

rm /data/system/locksettings.db-shm;

Ierīces atsvaidzināšana

Ja kāda iemesla dēļ jums nav pieejami citi Android uzlaušanas veidi, tad a. To var izdarīt vairākos veidos:

  • Izmantojot datoru, izmantojot USB kabeli;
  • Izmantojot atkopšanas izvēlni jebkurā Android ierīcē. Lai lejupielādētu programmaparatūras failu tieši tālruņa vai planšetdatora atmiņā, ir jāizmanto dators.

IN šajā gadījumā būs iespējams lejupielādēt ne tikai oficiālā programmaparatūra, bet arī dažādas pielāgotas opcijas, kurās var mainīt dizainu, aizsargfunkcijas, draiverus, utilītus utt.

Žests.key noņemšana (darbojas tikai bloķēšanai ar grafisko atslēgu)

Android tālruņa vai planšetdatora atbloķēšana, izmantojot šo metodi, nav iespējama bez saknes tiesībām un. Ja neatbilstat šiem nosacījumiem, izvēlieties citu metodi, lai apietu aizsardzību. Grafiskā atslēga tiek atiestatīts šādi:


Daudzas no iepriekš aprakstītajām metodēm nav iespējamas, neatbloķējot sāknēšanas ielādētāju. To darot, jūs iegūsit saknes tiesības un varēsiet instalēt savu programmaparatūras versiju vai pielāgotu atkopšanu, tāpēc pirms Android bloķēšanas uzlaušanas jums ir jānoņem sāknēšanas ielādētāja aizsardzība. Ieteicams to izdarīt nekavējoties, lai būtu pilnībā sagatavots situācijās, kad esat aizmirsis savu PIN kodu/rakstu.

Atbloķēšanas algoritms:


Pēc tam sākas sāknēšanas ielādētāja aktivizācijas process un tiek parādīts ierīces ekrānā. Pagaidiet, līdz process ir pabeigts, un pēc tam vienkārši restartējiet ierīci. Bootloader atbloķēšana ir pabeigta. Iepriekš aprakstītie padomi ir piemēroti praktiski visiem gadījumiem, jo ​​katram var būt sava problēmsituācija. Mēs ceram, ka mūsu padoms palīdzēs ātri un pareizi atbrīvoties no problēmas.

Superlietotāja tiesību iegūšana bez datora palīdzības, izmantojot nexus7_2013 piemēru.

norādījumus

  • 1. Lejupielādējiet lietojumprogrammu Towelroot.
  • 2. Pārliecinieties, ka iestatījumu/drošības sadaļā ir atlasīts lodziņš, kas ļauj instalēt no nezināmiem avotiem.
  • 3. Instalējiet, nepievēršot uzmanību šim brīdinājumam:
  • {
    Mēs neiesakām instalēt šo lietojumprogrammu:
    dvieļu sakne
    Tajā ir kods, lai apietu Android drošību.
    (izvēles rūtiņa) Instalēt tik un tā (nav atzīmēts)
    (poga) Neinstalējiet
    (poga) Instalējiet jebkurā gadījumā
    }
  • 4. Atzīmējiet atbilstošo rūtiņu un noklikšķiniet uz atbilstošās pogas.
  • 5. Atveriet lietojumprogrammu un atrodiet pogu ar nosaukumu:
    "Make it ra1n"
  • 6. Mēs rūpīgi atceramies tā atrašanās vietu, kopš tā laika mums būs jāpārtrauc Talkback, pretējā gadījumā tiks parādīta kļūda.
  • 7. Īslaicīgi izlādējiet TalkBack, izmantojot globālo kontekstizvēlni.
  • 8. Mēs aktivizējam vietu, kuru atcerējāmies punktos (5 un 6).
  • Šeit nav nepieciešama dubultā cilne, pietiek ar vienu pieskārienu.
  • Ja pie rokas ir redzošs cilvēks, tad optimāli būtu lūgt viņam veikt šo vienkāršo darbību.
  • 9. Pagaidām kādu laiku, aptuveni 10-15 sekundes, ja ierīce nerebootējas, tad to darām paši.
  • 10. Instalējiet lietojumprogrammu supersu.
  • 11. Palaidiet supersu. un mēs piekrītam piedāvājumam atjaunināt bināro failu.
  • 12. Ja visas darbības ir izpildītas pareizi, tad tālrunis tagad var izmantot superlietotāja tiesības.

Piezīmes:

  • Towelroot atbalstīto ierīču saraksts. atrodas
  • Ja pēc supersu palaišanas. tu saņem ziņu -
    "neizdevās atjaunināt bināro failu"
    pēc tam restartējiet ierīci un mēģiniet vēlreiz.
  • Ja tas jums nepalīdz, visticamāk, jūs neesat ieguvis superlietotāja tiesības, lai to izdarītu, mēģiniet vēlreiz, izmantojot redzīgas personas palīdzību, lai aktivizētu pogu “Make it ra1n”.
  • Pirms superlietotāja tiesību instalēšanas rūpīgi izpētiet visas problēmas, kas saistītas ar ierīces nepareizu lietošanu un garantijas anulēšanu...

Es nevaru instalēt lietotnes un spēles operētājsistēmā Android drošības bloķēšanas dēļ.. Šajā rakstā jūs uzzināsit, kā atvērt piekļuvi instalācijai.

Ja lejupielādējāt spēles vai lietojumprogrammas no interneta un vēlaties tās instalēt savā Android ierīcē, varat redzēt Android ekrānsšāds ziņojums: "Drošības apsvērumu dēļ ierīcē ir bloķēta lietojumprogrammu instalēšana no nezināmiem avotiem." Instalēšana var tikt bloķēta arī tad, ja lietojumprogrammu saņēmāt, izmantojot Bluetooth vai Wi-Fi, no cita tālruņa, datora, klēpjdatora, planšetdatora vai citas ierīces. Tas viss, protams, tiek darīts jūsu Android drošībai, jo tagad jūs varat lejupielādēt un instalēt milzīgu skaitu lietojumprogrammu ar vīrusu, kas var bloķēt jūsu tālruni un izspiest naudu no īpašnieka, lai to atbloķētu. Ja viedtālrunis vai planšetdators ir uz jauna Android versijas, tad zemāk atradīsit saiti uz lapu ar detalizēta informācija par nezināmu lietojumprogrammu instalēšanu vai bloķēšanu.

Android ierīcē nekad neinstalējiet lietojumprogrammas un spēles no nezināmiem avotiem, it īpaši, ja tās lejupielādējāt no interneta. Bet, ja zināt, ka faili ir no uzticamiem avotiem vai lietojumprogrammas, kas saņemtas, izmantojot Bluetooth, no cita Android, kurai uzticaties, varat atbloķēt instalēšanu no nezināmām lietojumprogrammām un turpināt instalēšanu Android ierīcē.

Tagad paskatīsimies kā atļaut instalēt lietojumprogrammas Android ierīcē no nezināmiem avotiem. Pirms lietojumprogrammu vai spēļu instalēšanas atveriet Android iestatījumus un atrodiet drošības vienumu, pēc tam atrodiet vienumu nezināmiem avotiem un atzīmējiet tai blakus esošo izvēles rūtiņu. Tagad Android ierīcē varat instalēt lietojumprogrammas no nezināmiem avotiem, kas ir bloķēti drošības apsvērumu dēļ. Pēc tam varat vēlreiz noņemt atzīmi no izvēles rūtiņas, un tādējādi jūs atkal bloķēsit nevēlamu lietojumprogrammu instalēšanu.

Turklāt, ja jau esat sācis instalēšanu un redzat ziņojumu, ka instalēšana ir aizliegta jūsu ierīcē drošības apsvērumu dēļ, varat nekavējoties atļaut instalēšanu. Kad ekrānā tiek parādīts ziņojums, ir arī saite uz iestatījumiem, noklikšķinot uz tā, mēs uzreiz nonākam pie drošības elementa un varam atzīmēt izvēles rūtiņu blakus vienumam nezināmiem avotiem un turpiniet iesākto instalēšanu. Pēc šādas instalēšanas nesaglabājiet izvēles rūtiņu drošības iestatījumos, tas ir, katru reizi ir jāatļauj lietojumprogrammu instalēšana.

Neinstalējiet lietojumprogrammas no nezināmiem avotiem, ja vien neesat pārliecināts, ka nepastāv vīrusu infekcijas risks. Lietojumprogrammas var atskaitīt naudu no jūsu konta, bloķēt ierīci vai sabojāt ierīci.

Neaizmirstiet atstāt atsauksmi par to, vai šis raksts palīdzēja vai nē, lūdzu, norādiet ierīces modeli, lai jūs saņemtu to pašu noderīga informācija Android lietotājiem.

  • Es ceru, ka šis raksts jums palīdzēja un jūs atradāt informāciju kā instalēt bloķētas lietojumprogrammas Android ierīcē no nezināmiem avotiem.
  • Lūdzam sniegt savstarpēju palīdzību un dalīties ar noderīgiem padomiem.
  • Paldies par atsaucību, savstarpējo palīdzību un noderīgiem padomiem!!!


06-08-2019
00:00 48 min.
Ziņa:
Labdien, viss, ko aprakstījāt par tēmu “Android ierīcē, instalējot lietojumprogrammas un spēles, tiek parādīts ziņojums, ka ierīcē ir bloķēta instalēšana no nezināmiem avotiem”. izlasi ieteikumus d

13-06-2019
09:00 19 min.
Ziņa:
Kā noņemt administratoru?

06-01-2018
18:00 24 min.
Ziņa:
Paldies! Man ir problēma. Vai varat man pateikt, kā rīkoties, ja viņi raksta: Kļūda, analizējot pakotni. Ko darīt?

02-01-2018
pulksten 15 46 min.
Ziņa:
Palīdzība, tālrunis ir bloķējis lietojumprogrammas instalēšanu, kas nav pieejama no Play veikala. Es to lejupielādēju no Chrome, noklikšķināju uz atvērtu, bet tā netika instalēta.

18-12-2017
11:00 11 min.
Ziņa:
Labdien, viss, ko aprakstījāt par tēmu “Android ierīcē, instalējot lietojumprogrammas un spēles, tiek parādīts ziņojums, ka ierīcē ir bloķēta instalēšana no nezināmiem avotiem”. Izlasīju ieteikumus un darīju to pašu

31-10-2017
23:00 05 min.
Ziņa:
Viltība ir tāda, ka mans LG L70 pat neļauj man atzīmēt izvēles rūtiņu, lai noņemtu aizliegumu...

26-09-2017
00:00 27 min.
Ziņa:
Es nevaru noklikšķināt uz atzīmes, kad noklikšķināju uz atzīmes, tā man neieslēdzās

11-09-2017
03:00 37 min.
Ziņa:
Vai arī varat uzrakstīt rakstu šādi: Pirms lietojumprogrammu vai spēļu instalēšanas dodieties uz Android iestatījumi un atrodiet drošības vienumu, pēc tam atrodiet nezināmo avotu vienumu un atzīmējiet izvēles rūtiņu blakus tam.

28-03-2017
.. un dzīve kļūst garāka .. bez jūsu puņķiem 6 rindkopās.
Ziņa:
pulksten 20 06 min. Man ir izvēles rūtiņa blakus “Instalēt programmatūru no nezināmiem avotiem”, taču tālrunis joprojām bloķē instalēšanu. Meizu telefons

17-12-2016
3. piezīme. Vai tas ir labi? Ar Meizu man nekad agrāk nav bijis darīšanas.
Ziņa:
pulksten 20 52 min. Bet man ir vēl viena problēma, un pēc 15-30 minūtēm šis vienums pastāvīgi tiek atzīmēts no nezināma avota. Ko es neizdarīju — no atiestatīšanas uz rūpnīcas iestatījumiem, pretvīrusu programmas

05-12-2016
Es to uzinstalēju, bet tas tikšķ un tikšķ. Palīdziet!
Ziņa:
22:00 52 min.

05-12-2016
Sofija, mēģiniet atinstalēt lietojumprogrammu, izmantojot iestatījumus, un lietojumprogrammas var atspējot vai pilnībā noņemt.
Ziņa:
22:00 05 min.

31-10-2016
Palīdziet! Es lejupielādēju spēli no nezināma avota un tagad nevaru to izdzēst ((
Ziņa:
pulksten 21 47 min.

Ir problēma, kas saistīta ar to, ka (programmaparatūras kļūdas dēļ) man nav piekļuves iestatījumos cilnei "Drošība". Pēc ieiešanas šajā cilnē tas izmet to vergam. tabulu ar ziņojumu, piemēram, “Lietojumprogramma Iestatījumi nereaģē. Kā NEVAR aktivizēt “kreiso” lietojumprogrammu instalēšanu, izmantojot iestatījumus? Android saknes tiesību iegūšana, neizmantojot datoru, un nepieciešamība izmantot grūti apgūstamus programmatūras rīkus ir diezgan pieejamā iespēja

. Šajā rakstā mēs jums pateiksim, kā iegūt Superuser tiesības, veicot tikai divas vienkāršas darbības, izmantojot Framaroot Android lietotni.

Aprakstītās sakņu tiesību iegūšanas metodes galvenā priekšrocība, pirmkārt, ir tās vienkāršība, kā arī īsais laiks, kurā šo procesu var pabeigt. Mēs izpildām norādījumus, taču vispirms ir svarīgs brīdinājums.

Svarīgi! Tālāk aprakstītās manipulācijas rada zināmus riskus! Katru darbību, tostarp tālāk sniegto norādījumu izpildi, lietotājs veic, uzņemoties risku un risku. Resursu administrācija nav atbildīga par iespējamām negatīvām sekām.

Lietojumprogramma Framarut pēc lejupielādes vai kopēšanas ierīces atmiņā vai atmiņas kartē ir pilnīgi parasts apk fails. Uzstādīšana neprasa nekādas īpašas darbības, viss ir standarta.

2. darbība: saknes tiesību iegūšana

Mēs jūs iepazīstinājām ar vairākiem rakstiem, kas skaidri parāda, cik vienkāršas patiesībā ir Android lietotnes. Šim nolūkam jums pat nav nepieciešams demontētājs, tikai virspusējas Java un Smali valodas zināšanas. Tāpēc, ja jūsu pieteikumu būs diezgan populārs, ziniet: tas tiks nozagts un ar vienkāršām manipulācijām tiks aktivizētas maksas funkcijas. Un, ja jūs nolemjat gūt peļņu, izmantojot reklāmu, tas tiks izslēgts.

Lietojumprogrammas aizsardzība ir sarežģīta, taču tā ir iespējama. Pirmkārt, tas ir tā vērts uzreiz atteikties no Pro/Lite izplatīšanas modeļa. Aplikāciju ir ļoti viegli izņemt no viedtālruņa, tāpēc zaglim aplikācija būs jāiegādājas tikai vienu reizi, un tad to varēs izplatīt tādu, kāda tā ir. Otrkārt, jums ir jārūpējas koda apgrieztā aizsardzība. Java koda dekompilēšana ir vienkārša, un binārā koda maiņa neprasa nekādas īpašas prasmes vai rīkus. Treškārt, jums ir jāpārliecinās, ka pat veiksmīgas uzlaušanas gadījumā lietojumprogramma vienkārši nedarbojas. Tad hakeram būs jāatrisina divas problēmas uzreiz: uzlauzt lietojumprogrammu un likt uzlauztajai versijai darboties.

Tātad, mēs atsakāmies no Pro versijas un sākam cīņu.

Koda slēpšana un apmulsināšana

Labākais veids, kā aizsargāt lietojumprogrammas kodu no apvērsuma, ir apmulsināšana, citiem vārdiem sakot, baitkoda apmulsināšana tā, ka apgrieztājam to ir nepanesami grūti saprast. Ir vairāki rīki, kas to var izdarīt. Vienkāršākais, bet joprojām efektīvais ir iekļauts Android Studio. Šis ProGuard.

Lai to aktivizētu, faila build.gradle sadaļai android → buildTypes → izlaidums vienkārši pievienojiet rindiņu minifyEnabled true:

android(...buildTypes(release(minifyEnabled true)...))

android (

. . .

buildTypes(

atbrīvot (

minifyEnabled true

. . .

Pēc tam Android Studio sāks nodot visas “izlaiduma” versijas, izmantojot ProGuard. Rezultātā lietojumprogramma kļūs kompaktāka (neizmantotā koda noņemšanas dēļ), kā arī saņems zināmu aizsardzības līmeni pret reversu. “Daži” tādā nozīmē, ka ProGuard aizstās visu iekšējo klašu, metožu un lauku nosaukumus ar vienu vai divām burtu kombinācijām. Tas patiešām padarīs dekompilēto/izjaukto kodu daudz grūtāk saprotamu.


Nākamais solis - virknes šifrēšana. Tas ir īpaši noderīgi, ja lietojumprogrammā glabājat sensitīvus datus: identifikatorus, atslēgas, REST API galapunktus. Tas viss palīdzēs hakeram orientēties jūsu kodā vai iegūt no tā svarīgu informāciju.

Jūs varat šifrēt virknes dažādos veidos, piemēram, izmantojot Stringer vai DexGuard rīkus. Priekšrocība: pilnībā automatizēta esošā koda modifikācija, lai ieviestu virknes šifrēšanu. Trūkums: cena, kas ir pieejama uzņēmumiem, bet pārāk augsta neatkarīgam izstrādātājam.

Tāpēc mēģināsim to izdarīt pašu spēkiem. Vienkāršākajā gadījumā virknes šifrēšana, izmantojot Java, tiek veikta šādi:

publisks statiskais baits encryptString (virknes ziņojums, SecretKey noslēpums) rada izņēmumu (šifra šifrs = null; šifrs = Cipher.getInstance("AES/ECB/PKCS5Padding"); cipher.init(Cipher.ENCRYPT_MODE, secret); atgriež cipher.doFinal( message.getBytes("UTF-8"));

publisks statisks baits encryptString (String message , SecretKey secret ) izmet Izņēmums (

Šifrs šifrs = null ;

šifrs .init (Šifrs .ENCRYPT_MODE , slepens ) ;

atgriezt šifru .doFinal ( ziņojums . getBytes ( "UTF-8" ) );

Un dekodēšana ir šāda:

public static String atšifrētString(baitu šifrētais teksts, SecretKey noslēpums) rada izņēmumu (šifra šifrs = null; šifrs = Cipher.getInstance("AES/ECB/PKCS5Padding"); cipher.init(Cipher.DECRYPT_MODE, secret); atgriezt jaunu virkni (šifrs) .doFinal(šifrētais teksts), "UTF-8")

public static String atšifrētString (baits cipherText , SecretKey noslēpums ) izmet Izņēmums (

Šifrs šifrs = null ;

šifrs = Šifrs .getInstance ("AES/ECB/PKCS5Padding") ;

šifrs .init ( Šifrs . DECRYPT_MODE , slepens ) ;

return new String (šifrs . doFinal ( cipherText ) , "UTF-8" );

Lai ģenerētu atslēgu, pietiek ar vienu rindiņu:

publisks statisks SecretKey generateKey (virknes parole) rada izņēmumu ( return secret = new SecretKeySpec(password.getBytes(), "AES");)

publisks statisks SecretKey generateKey (virknes parole) met Izņēmums (

return secret = new SecretKeySpec(password.getBytes(), "AES");

Mērķis ir uzrakstīt vienkāršu darbvirsmas/mobilo lietojumprogrammu Java valodā, kas izmantos visas jūsu virknes kā ievadi un izveidos to šifrētās versijas kā izvadi. Pēc tam šīs virknes ievietojat galvenajā lietojumprogrammā, nevis sākotnējās, un vietās, kur tām piekļūst, izsauciet funkciju decryptString ().

Tā rezultātā uzbrucējs vienkārši nevarēs redzēt šifrētās virknes, dekompilējot lietojumprogrammu. Bet, protams, viņš var uzrakstīt vienkāršu atšifrētāju, pamatojoties uz jūsu šifrētāja dekompilēto kodu. Citiem vārdiem sakot, šī nav panaceja, taču virknes šifrēšana papildinās vēl vienu sarežģītības pakāpi.

Varat iet vēl tālāk un izmantot kādu no visaptverošajiem Android lietojumprogrammu aizsardzības rīkiem, piemēram, AppSolid. Atkal, tas ir dārgi, taču tas ļauj šifrēt visu lietojumprogrammu. Tas patiešām var atbaidīt daudzus reversētājus, taču ir vairāki rīki, tostarp maksas Java dekompilators JEB, kas var automātiski noņemt šādu aizsardzību.

Varat arī mēģināt sadalīt savu lietojumprogrammu daudzos mazos moduļos, kā jau rakstīju rakstā Moduļu lietojumprogrammu rakstīšana operētājsistēmai Android. Tā pati par sevi nav aizsardzības metode, un tā diez vai traucēs reversora darbu. Bet tas nojauks dažādi automatizētas sistēmas aplikācijas plaisāšana. Viņi vienkārši nevarēs saprast, kur meklēt modulī esošo kodu.

Nu, pēdējā lieta: no koda ir jānoņem (komentē) visi izsaukumi uz reģistrētāju, tas ir, visi izsaukumi uz Log.d(), Log.v() un tā tālāk. Pretējā gadījumā uzbrucējs varēs izmantot šo informāciju, lai izprastu lietojumprogrammas loģiku.

Avarējiet uzlauztu lietojumprogrammu

Labi, mēs nedaudz sabojājām reversora dzīvi. Ir pienācis laiks to darīt vēlreiz! Bet kā jūs varat noteikt, vai lietotne ir uzlauzta? Precīzāk, kā tas pats var uzzināt? Galu galā jēdzieni “uzlauzts” un “neuzlauzts” pastāv tikai mūsu galvās, tas ir, tie ir diezgan augsta līmeņa jēdzieni, kurus nevar aprakstīt algoritmiski.

Tā tas ir, bet ne tā. Fakts ir tāds, ka APK failā ir metadatu kopa, kas tiek saglabāta kontrolsummas absolūti visi pakotnes faili, un paši metadati ir parakstīti ar izstrādātāja atslēgu. Ja maināt lietojumprogrammu un iepakot to vēlreiz, pakotnes metadati mainīsies un pakotne būs jāparaksta vēlreiz. Un tā kā reversoram nav un nevar būt jūsu izstrādātāja atslēgas, tas izmanto vai nu nejauši ģenerētu, vai tā saukto testa atslēgu.

Pats Android šādu aplikāciju viegli norīs (tajā neglabājas visu iespējamo Android izstrādātāju visu digitālo parakstu datu bāze), bet mums ir savs digitālais paraksts, un mēs varam to pārbaudīt!

Digitālā paraksta pārbaude

Patiesībā metode ir diezgan vienkārša. Lietojumprogrammā jāievieto kods, kas saņems pakotnes pašreizējā ciparparaksta atslēgas jaucējkodu un jāsalīdzina ar iepriekš saglabāto. Tie sakrīt - lietojumprogramma netika pārsaiņota (un uzlauzta), nē - mēs skaņas signālu.

Lai sāktu, lietojumprogrammā ievietojiet šādu koda daļu (jo dziļāk to paslēpsit, jo labāk):

publiska statiskā virkne getSignature(konteksta konteksts) ( String apkSignature = null; izmēģiniet ( PackageInfo packageInfo = kontekst.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES); par (paraksta paraksts: packageInfo.) (Paraksta paraksts: packageInfo. = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); + apkSignature);

publiska statiskā virkne getSignature(konteksta konteksts) (

Virkne apkSignature = null ;

mēģināt (

PackageInfo packageInfo = konteksts.getPackageManager().getPackageInfo(

konteksts.getPackageName(),

PackageManager .GET_SIGNATURES

for (Paraksta paraksts : packageInfo .signatures ) (

MessageDigest md = MessageDigest .getInstance ("SHA") ;

md.update(signature.toByteArray());

apkSignature = Base64 .encodeToString (md .digest () , Base64 .DEFAULT ) ;

Log .e ("ATKLĀJUMS", "PARAKSTS:" + apkSignature) ;

) nozveja (e izņēmums) ( )

atgriezt apkSignature ;

Izveidojiet, palaidiet lietojumprogrammu un skatiet izpildes žurnālu. Tur jūs redzēsiet rindu SIGNATURE: 478uEnKQV+fMQT8Dy4AKvHkYibo=. Šis ir hash. Tas ir ne tikai jāatceras, bet jāievieto aplikācijas kodā kā konstante, piemēram, zem nosaukuma SIGNATURE. Tagad noņemiet rindu Log.e... no koda un pievienojiet šādu metodi:

publiska statiskā Būla pārbaudeParaksts(konteksta konteksts) (atgriež SIGNATURE.equals(getSignature(context)); )

publiska statiskā Būla pārbaudeParaksts(konteksta konteksts) (

return SIGNATURE .equals ( getSignature ( konteksts ) ) ;

Viņš vienkārši pārbaudīs saglabāto jaucējkodu ar atslēgas jaucējkodu, kas ir iekšā šobrīd pieteikums parakstīts. Funkcija atgriež True, ja ciparparaksts pieder jums (lietojumprogramma nav pārbūvēta), un false, ja tā ir modificēta. Ko darīt otrajā gadījumā, tas ir atkarīgs no jums. Lietojumprogrammu var vienkārši pārtraukt ar os.exit(0) vai arī to var avarēt, piemēram, izsaucot metodi neinicializētam objektam vai piekļūstot neeksistējošai masīva vērtībai.

Taču atcerieties: uzbrucējs var vienkārši izgriezt jūsu digitālā paraksta verifikācijas kodu, un tas nekad nedarbosies (tas attiecas arī uz tālāk norādīto kodu). Tāpēc paslēpiet to nepārprotamā vietā un šifrējiet sākotnējās atslēgas jaucējkodu, kā parādīts iepriekš.


Instalācijas avota pārbaude

Vēl viena aizsardzības metode ir noskaidrot, no kurienes lietojumprogramma tika instalēta. Loģika šeit ir vienkārša: ja instalācijas avots ir Play veikals, tad viss ir kārtībā, šī ir oriģināla, neiepakota lietojumprogramma. Ja nē, Varez lejupielādēja no foruma un instalēja no atmiņas kartes vai no melnā tirgus.

Vienā rindā varat uzzināt, no kurienes lietojumprogramma tika instalēta, un pati funkcija, kas to veic, varētu izskatīties šādi:

publiska statiskā Būla pārbaudeInstalētājs(konteksta konteksts) ( beigu virknes instalēšanas programma = konteksts.getPackageManager().getInstallerPackageName(context.getPackageName()); atgriezt instalētāju != null && installer.startsWith("com.android.vending"); )

publiska statiskā Būla pārbaudeInstalētājs(konteksts) (

final String instalētājs = konteksts .getPackageManager() .getInstallerPackageName(konteksts .getPackageName()) ;

atgriezt instalētāju != null & pastiprinātājs ; & pastiprinātājs ; installer.startsWith("com.android.vending");

Kā parasti: taisnība - viss kārtībā, nepatiesi - Hjūstona, mums ir problēmas.

Emulatora noteikšana

Dažas lietojumprogrammu apgrieztās metodes ietver emulatora izmantošanu. Tāpēc būtu lietderīgi lietojumprogrammai pievienot kodu, kas pārbauda, ​​vai tā darbojas virtuālajā vidē. To var izdarīt, nolasot dažu sistēmas mainīgo vērtības. Piemēram, standarta Android emulators Studio iestata šos mainīgos un vērtības:

ro.hardware=zelta zivtiņa ro.kernel.qemu=1 ro.product.model=sdk

ro .hardware = zelta zivtiņa

ro .kernel .qemu = 1

ro .product .model = sdk

Tāpēc pēc šo mainīgo vērtību nolasīšanas mēs varam pieņemt, ka kods tiek izpildīts emulatorā:

public static Boolean checkEmulator() ( izmēģiniet ( Būla zelta zivtiņa = getSystemProperty("ro.hardware").contains("zelta zivtiņa"); Būla emu = getSystemProperty("ro.kernel.qemu").length() > 0; Būla sdk = getSystemProperty("ro.product.model").contains("sdk"); if (emu || zelta zivtiņa || sdk) ( return true; ) ) noķer (izņēmums e) () return false ) privāta statiskā virkne getSystemProperty () Virknes nosaukums) rada izņēmumu ( Class sysProp = Class.forName("android.os.SystemProperties"); return (String) sysProp.getMethod("get", new Class(String.class)).invoke(sysProp, new Object () vārds));

publiska statiskā Būla pārbaudeEmulators() (

mēģināt (

© 2024 ermake.ru - Par datoru remontu - Informācijas portāls