Aplikace obsahuje obtokový kód. Baidu Root (ruská verze). Zadání údajů účtu Google


Zde je jeden z nejlepší řešení Podle získání kořene práva na chytré telefony a tablety bez použití počítače. Dnes s tímto programem jsem obdržel Root má pravdu a na mém testovacím chytrém Samsungu Galaxy Nexus a Čínský tablet Freelander. Jednou z výhod této konkrétní verze programu od čínských vývojářů je, že rozhraní programu je kompletně přeloženo do ruštiny. Přečtěte si níže uvedené pokyny, jak získat práva root.

Moje video pokyny pro získání práv root prostřednictvím Baidu Root

1. Stáhněte si aplikaci Baidu Root: a nainstalujte ji do svého zařízení.
(Pozornost!!! Při instalaci kbelíku vám může napsat, že aplikace " Obsahuje kód pro obcházení zabezpečení systému Android". Zaškrtněte políčko a klikněte na " Každopádně nainstalovat"). Instalační pole, spusťte program a podívejte se na dohodu od autora v čínštině. Stiskněte tlačítko Akceptovat Jak je ukázáno níže.

2. Pokud jste v aktuálním čase připojeni k internetu a program nalezl na svém serveru aktualizovanou verzi, budete vyzváni k aktualizaci verze programu na aktuální. Udělal bych to takto. Zatím jsem tlačil zrušení a pokusil jsem se získat root [a pokud root nebyl získán, restartoval bych program znovu a aktualizoval jej a pak znovu zkusil získat root. (Níže načrtnu stejný diagram pouze s nativním čínským programovým rozhraním, abych pochopil, jak postupovat, pokud je vše v čínštině.)].

3. Nyní stiskněte tlačítko " Získejte root" a počkejte na dokončení programu. Na mém Nexusu to fungovalo asi 1 minutu, na tabletu Freelander o něco déle.

Voila. Vidíme, že byla získána práva root.

A nyní, jak jsem slíbil výše, zveřejním malý manuál, jak získat stejná práva root, ale s tím, že rozhraní programu Baidu Root je kompletně v čínštině.

1. Instalační pole: spusťte program a podívejte se na dohodu od autora v čínštině. Klikněte na pravé tlačítko zakroužkované na obrázku níže.

2. Pokud jste v aktuálním čase připojeni k internetu a program nalezl na svém serveru aktualizovanou verzi, budete vyzváni k aktualizaci verze programu na aktuální. Chcete-li aktualizovat verzi, klikněte na pravé tlačítko, abyste neaktualizovali - vlevo, odjet. Obvykle se po aktualizaci objeví čínské rozhraní.

3. Nyní stiskněte na modré tlačítko(Zakroužkoval jsem to na obrázku) a počkejte na dokončení programu.

Získání práv superuživatele bez pomoci počítače na příkladu nexus7_2013.

instrukce

  • 1. Stáhněte si aplikaci Towelroot.
  • 2. Ujistěte se, že v části nastavení/zabezpečení je zaškrtnuto políčko, které umožňuje instalaci z neznámých zdrojů.
  • 3. Nainstalujte bez ohledu na následující varování:
  • {
    Nedoporučujeme instalovat tuto aplikaci:
    kořen ručníku
    Obsahuje kód pro obcházení zabezpečení Androidu.
    (zaškrtávací políčko) Přesto nainstalovat (nezaškrtnuto)
    (tlačítko) Neinstalovat
    (tlačítko) Přesto nainstalovat
    }
  • 4. Zaškrtněte příslušné políčko a klikněte na příslušné tlačítko.
  • 5. Otevřete aplikaci a najděte tlačítko s názvem:
    "Udělej to ra1n"
  • 6. Pečlivě si pamatujeme jeho umístění, od té doby budeme muset Talkback pozastavit, jinak se zobrazí chyba.
  • 7. Dočasně uvolněte TalkBack prostřednictvím globální kontextové nabídky.
  • 8. Aktivujeme místo, které jsme si zapamatovali v bodech (5 a 6).
  • Není zde vyžadována žádná dvojitá karta, stačí pouze jedno klepnutí.
  • Pokud máte po ruce vidícího člověka, pak by bylo optimální požádat ho, aby provedl tuto jednoduchou akci.
  • 9. Počkáme nějakou dobu, přibližně 10-15 sekund, pokud se zařízení nerestartuje, uděláme to sami.
  • 10. Nainstalujte aplikaci supersu.
  • 11. Spusťte supersu. a na nabídku aktualizace binární soubor Souhlasíme.
  • 12. Pokud jsou všechny kroky provedeny správně, může nyní telefon používat práva superuživatele.

Poznámky:

  • Seznam podporovaných zařízení pro Towelroot. nachází se
  • Pokud po spuštění supersu. dostanete zprávu -
    "Nepodařilo se aktualizovat binární soubor"
    poté restartujte zařízení a zkuste to znovu.
  • Pokud vám to nepomůže, pak jste s největší pravděpodobností nezískali práva superuživatele, zkuste to znovu s pomocí vidoucí osoby aktivovat tlačítko „Make it ra1n“.
  • Před instalací práv superuživatele si pečlivě prostudujte všechny související problémy nesprávného použití a zrušení záruky na vaše zařízení...

Pokud jste zapomněli heslo nebo vzor na svém zařízení Android, není to důvod k panice. Existuje několik rychlých a jednoduché možnosti odemkněte svůj telefon nebo tablet založené na Androidu v případě, že si nepamatujete vzor nebo PIN.

Zadání údajů účtu Google

Pokud má váš smartphone nebo tablet trvalé připojení přes bezdrátová síť, pak můžete problém s obcházením ochrany vyřešit pouhým zadáním emailová adresa a heslo. Po 5 neúspěšných pokusech o odemknutí obrazovky se zobrazí upozornění. Klikněte na něj a v zobrazeném okně zadejte uživatelská data svého účtu Google.

Co dělat, když jste zapomněli heslo účet Google? Postupujte podle postupu pro obnovení přístupu ke svému účtu přímo s pomocí podpory.

Odblokování přes Hard Reset

Při použití této metody budou všechna osobní data vymazána a systém chytrého telefonu se vrátí do továrního nastavení (soubory na SD kartě nejsou ovlivněny). Před provedením postupu je vhodné mít záložní soubor, ze kterého můžete obnovit uživatelské informace.

Nejjednodušší způsob resetování je pomocí nástroje, který se nachází v nastavení vašeho zařízení. Protože je přístup do systému blokován, budete muset jednat prostřednictvím:


Každá uživatelská akce (vytvoření PIN kódu, grafického klíče) se v systému zobrazí vytvořením určité soubory. Můžeme dojít k závěru, že pokud vymažete data hesla, budete moci odemknout zařízení bez ztráty uživatelských informací.

Mnoho uživatelů se skutečně zajímá, jak odemknout Android prostřednictvím počítače. K tomu budete potřebovat nástroj ADB a také váš gadget připojený v režimu ladění USB. Postupujte podle následujícího algoritmu:


adb shellrm /data/system/gesture.key

rm /data/system/locksettings.db;

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

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

Přeflashování zařízení

Pokud vám z nějakého důvodu nejsou k dispozici jiné způsoby, jak hacknout Android, pak a. To lze provést několika způsoby:

  • Přes počítač pomocí USB kabelu;
  • Prostřednictvím nabídky Recovery Menu na jakémkoli zařízení Android. Ke stažení souboru firmwaru přímo do paměti telefonu nebo tabletu musíte použít počítač.

V tomto případě bude možné stáhnout nejen oficiální firmware, ale také různé vlastní možnosti, ve kterých lze měnit design, ochranné funkce, ovladače, utility atd.

Odstranění gesture.key (funguje pouze pro uzamčení pomocí grafického klíče)

Odemknutí telefonu nebo tabletu Android pomocí této metody není možné bez práv root a. Pokud tyto podmínky nesplňujete, zvolte jiný způsob, jak ochranu obejít. Grafický klíč se resetuje následovně:


Mnoho z výše popsaných metod není možné bez odemknutí bootloaderu. Tímto způsobem získáte práva root a budete si moci nainstalovat vlastní verzi firmwaru nebo vlastní obnovu, takže než prolomíte zámek Androidu, musíte odstranit ochranu bootloaderu. Doporučujeme to udělat okamžitě, abyste byli plně připraveni na situace, kdy zapomenete svůj PIN kód/vzor.

Algoritmus odemknutí:


Poté se spustí proces aktivace bootloaderu a zobrazí se na obrazovce zařízení. Počkejte na dokončení procesu a poté jednoduše restartujte zařízení. Odemknutí bootloaderu je dokončeno. Výše popsané tipy jsou vhodné prakticky pro všechny příležitosti, protože každý může mít svou vlastní problémovou situaci. Doufáme, že naše rady vám pomohou rychle a správně se zbavit problému.

Představili jsme vám řadu článků, které jasně ukázaly, jak snadné aplikace pro Android skutečně jsou. Nepotřebujete k tomu ani disassembler, stačí povrchní znalost Javy a jazyka Smali. Pokud je tedy vaše aplikace dostatečně populární, vězte, že bude odcizena a placené funkce budou aktivovány pomocí jednoduchých manipulací. A pokud se ho rozhodnete zpeněžit pomocí reklamy, bude vypnutý.

Ochrana aplikace je obtížná, ale je to možné. Za prvé, hned to stojí za to opustit distribuční model Pro/Lite. Aplikace je velmi snadno odstranitelná ze smartphonu, takže zloději stačí aplikaci zakoupit pouze jednou a poté může být distribuována tak, jak je. Za druhé, musíte se postarat ochrana proti převrácení kódu. Dekompilace kódu Java je snadná, ale mění se binární kód nevyžaduje žádné speciální dovednosti ani nástroje. Zatřetí se musíte ujistit, že i v případě úspěšného hacknutí aplikace prostě nefunguje. Pak bude muset hacker vyřešit dva problémy najednou: hacknout aplikaci a zajistit, aby hacknutá verze fungovala.

Takže opouštíme verzi Pro a začínáme bojovat.

Skrytí a zamlžení kódu

Nejlepší způsob, jak chránit kód aplikace před zpětným chodem, je zatemnění, jinými slovy, zamlžení bajtkódu tak, že je neúnosně obtížné mu porozumět. Existuje několik nástrojů, které to umí. Nejjednodušší, ale přesto efektivní je součástí Android Studia. Tento ProGuard.

Chcete-li jej aktivovat, stačí přidat řádek minifyEnabled true do části android → buildTypes → release v souboru build.gradle:

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

android (

. . .

typy sestavení(

uvolnit (

minifyEnabled true

. . .

Poté začne Android Studio předávat všechny „vydané“ sestavení prostřednictvím ProGuard. V důsledku toho se aplikace stane kompaktnější (v důsledku odstranění nepoužívaného kódu) a také získá určitou úroveň ochrany proti zpětnému chodu. „Některé“ v tom smyslu, že ProGuard nahradí názvy všech interních tříd, metod a polí jedním nebo dvěma kombinacemi písmen. Díky tomu bude dekompilovaný/rozložený kód mnohem obtížnější pochopit.


Další krok - řetězcové šifrování. To je zvláště užitečné, pokud uvnitř aplikace ukládáte citlivá data: identifikátory, klíče, koncové body REST API. To vše pomůže útočníkovi zorientovat se ve vašem kódu nebo z něj získat důležité informace.

Řetězce můžete šifrovat různé způsoby, například pomocí nástrojů Stringer nebo DexGuard. Výhoda: Plně automatizovaná úprava stávajícího kódu pro implementaci šifrování řetězců. Nevýhoda: cena, která je dostupná pro firmy, ale příliš vysoká pro nezávislého vývojáře.

Proto se o to pokusíme sami. V nejjednodušším případě se šifrování řetězců pomocí Java provádí takto:

veřejný statický bajt encryptString(zpráva String, tajný klíč SecretKey) vyvolá výjimku ( Cipher cipher = null; cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); cipher.init(Cipher.ENCRYPT_MODE, secret); return cipher.doFinal( message.getBytes("UTF-8"));

public static byte encryptString (String message , SecretKey secret ) vyvolá výjimku (

Šifra šifra = null ;

cipher .init (Cipher .ENCRYPT_MODE , tajenka ) ;

return cipher .doFinal ( message . getBytes ( "UTF-8" ) ) ;

A dekódování je takto:

public static String decryptString(byte cipherText, SecretKey secret) vyvolá výjimku ( Cipher cipher = null; cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); cipher.init(Cipher.DECRYPT_MODE, secret); vrátí nový String(cipher .doFinal(cipherText), "UTF-8" )

public static String decryptString (byte cipherText , SecretKey secret ) vyvolá výjimku (

Šifra šifra = null ;

cipher = Cipher .getInstance ( "AES/ECB/PKCS5Padding" ) ;

šifra .init (Šifra .DECRYPT_MODE , tajenka ) ;

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

Pro vygenerování klíče stačí jeden řádek:

public static SecretKey generationKey(String password) vyvolá výjimku ( return secret = new SecretKeySpec(password.getBytes(), "AES"); )

public static SecretKey generationKey (String password ) vyvolá výjimku (

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

Jde o to napsat jednoduchou desktopovou/mobilní aplikaci v Javě, která vezme všechny vaše řetězce jako vstup a jako výstup vytvoří jejich zašifrované verze. Dále tyto řetězce vložíte do hlavní aplikace místo původních a v místech, kde se k nim přistupuje, zavoláte funkci decryptString().

Výsledkem je, že útočník jednoduše nebude moci vidět zašifrované řetězce dekompilací aplikace. Ale samozřejmě může napsat jednoduchý dešifrovač založený na dekompilovaném kódu vašeho šifrovače. Jinými slovy, toto není všelék, ale šifrování řetězců přidá další vrstvu složitosti.

Můžete jít ještě dále a použít jeden z komplexních nástrojů ochrany aplikací pro Android, jako je AppSolid. Je opět drahý, ale umožňuje zašifrovat celou aplikaci. To může mnoho reverzorů skutečně odstrašit, ale existuje řada nástrojů, včetně placeného Java dekompilátoru JEB, který takovou ochranu dokáže odstranit automaticky.

Můžete také zkusit svou aplikaci rozdělit do mnoha malých modulů, jak jsem již psal v článku Psaní modulárních aplikací pro Android . To samo o sobě není způsob ochrany a jen stěží to bude bránit práci obraceče. Ale bude se to lámat různě automatizované systémy praskání aplikace. Jednoduše nebudou schopni pochopit, kde hledat kód v modulu.

No a poslední věc: z kódu je nutné odstranit (odkomentovat) všechna volání do loggeru, tedy všechna volání Log.d(), Log.v() a tak dále. V opačném případě bude útočník moci použít tyto informace k pochopení logiky aplikace.

Selhání hacknuté aplikace

Dobře, trochu jsme zkazili život obraceče. Je čas to udělat znovu! Jak ale můžete zjistit, zda byla aplikace napadena? Přesněji, jak to může zjistit sama? Koneckonců, pojmy „hacknutý“ a „nehacknutý“ existují pouze v našich hlavách, to znamená, že jde o koncepty poměrně vysokého řádu, které nelze algoritmicky popsat.

Tak to je, ale není tomu tak. Faktem je, že uvnitř souboru APK je sada metadat, která se ukládají kontrolní součty absolutně všechny soubory v balíčku a samotná metadata jsou podepsána klíčem vývojáře. Pokud aplikaci změníte a znovu ji zabalíte, metadata balíčku se změní a balíček bude nutné znovu podepsat. A protože reverzor nemá a nemůže mít váš vývojářský klíč, používá buď náhodně vygenerovaný, nebo takzvaný testovací klíč.

Android sám takovou aplikaci snadno spolkne (nevede databázi všech digitálních podpisů všech možných Android vývojářů), ale my máme vlastní digitální podpis, a můžeme to ověřit!

Ověření digitálního podpisu

Ve skutečnosti je metoda docela jednoduchá. Do aplikace je potřeba vložit kód, který obdrží hash klíče aktuálního digitálního podpisu balíčku a porovnat jej s dříve uloženým. Odpovídají – aplikace nebyla přebalena (a hacknuta), ne – bijeme na poplach.

Chcete-li začít, vložte do aplikace následující část kódu (čím hlouběji jej skryjete, tím lépe):

public static String getSignature(Context context) (String apkSignature = null; zkuste ( PackageInfo packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES); for ( Podpis podpis: packageInfo.signatures) ( MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); apkSignature = Base64.encodeToString(md.digest(), Base64.DEFAULT); Log.e( "DEBUG", "SIGNATURE: " + apkSignature); )

public static String getSignature(kontext kontextu) (

Řetězec apkSignature = null ;

Snaž se (

PackageInfo packageInfo = context.getPackageManager().getPackageInfo(

context.getPackageName(),

PackageManager .GET_SIGNATURES

pro (Podpisový podpis: packageInfo .signatures) (

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

md.update(signature.toByteArray());

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

Log .e ( "DEBUG" , "SIGNATURE: " + apkSignature ) ;

) chytit (výjimka e) ( )

vrátit apkPodpis;

Sestavte, spusťte aplikaci a podívejte se na protokol provádění. Tam uvidíte řádek PODPIS: 478uEnKQV+fMQT8Dy4AKvHkYibo=. Toto je hash. Musí být nejen zapamatována, ale umístěna v kódu aplikace jako konstanta, například pod názvem PODPIS. Nyní odstraňte řádek Log.e... z kódu a přidejte následující metodu:

public static boolean checkSignature(Context context) ( return SIGNATURE.equals(getSignature(context)); )

public static boolean checkSignature(kontext kontextu) (

return PODPIS .se rovná (getSignature (kontext));

Uložený hash pouze zkontroluje pomocí hashe klíče, který je in tento moment přihláška podepsaná. Funkce vrací true, pokud je digitální podpis váš (aplikace nebyla přestavěna), a false, pokud byla změněna. Co dělat v druhém případě je na vás. Aplikaci můžete jednoduše ukončit pomocí os.exit(0) nebo ji můžete zhroutit, například voláním metody na neinicializovaném objektu nebo přístupem k neexistující hodnotě pole.

Ale pamatujte: útočník může jednoduše vystřihnout váš ověřovací kód pro digitální podpis a nikdy to nebude fungovat (to platí i pro kód uvedený níže). Proto jej skryjte na neznámém místě a zašifrujte hash původního klíče, jak je uvedeno výše.


Kontrola zdroje instalace

Další metodou ochrany je zjistit, odkud byla aplikace nainstalována. Logika je zde jednoduchá: pokud je zdrojem instalace Obchod Play, pak je vše v pořádku, jedná se o originální, nezabalenou aplikaci. Pokud ne, Varez stáhl z fóra a nainstaloval z paměťové karty nebo z černého trhu.

Na jednom řádku zjistíte, odkud byla aplikace nainstalována, a samotná funkce, která to dělá, může vypadat takto:

public static boolean checkInstaller(Context context) (final String installer = context.getPackageManager().getInstallerPackageName(context.getPackageName()); return installer != null && installer.startsWith("com.android.vending"); )

public static boolean checkInstaller(kontext kontextu) (

final String installer = context .getPackageManager() .getInstallerPackageName(context .getPackageName()) ;

return installer != null & & & & installer.startsWith("com.android.vending");

Jako obvykle: pravda - všechno je v pořádku, nepravda - Houstone, máme problémy.

Určení emulátoru

Některé reverzní metody aplikací vyžadují použití emulátoru. Proto by bylo užitečné přidat do aplikace kód, který kontroluje, zda běží ve virtuálním prostředí. To lze provést čtením hodnot některých systémových proměnných. Například standardní Emulátor Androidu Studio nastavuje tyto proměnné a hodnoty:

ro.hardware=zlatá rybka ro.kernel.qemu=1 ro.product.model=sdk

ro .hardware = zlatá rybka

ro .kernel .qemu = 1

ro .produkt .model = sdk

Proto po přečtení hodnot těchto proměnných můžeme předpokládat, že kód je spuštěn v emulátoru:

public static boolean checkEmulator() ( try ( boolean goldfish = getSystemProperty("ro.hardware").contains("goldfish"); boolean emu = getSystemProperty("ro.kernel.qemu").length() > 0; boolean sdk = getSystemProperty("ro.product.model").contains("sdk" if (emu || zlatá rybka || sdk) ( return true; ) ) catch (výjimka e) () return false ) private static String getSystemProperty (); String name) vyvolá výjimku ( Class sysProp = Class.forName("android.os.SystemProperties"); return (String) sysProp.getMethod("get", new Class(String.class)).invoke(sysProp, new Object ( název));

public static boolean checkEmulator() (

Snaž se (

Získání práv root pro Android bez použití PC a nutnost uchýlit se k používání obtížně naučitelných softwarových nástrojů je docela dostupná příležitost. V tomto článku vám řekneme, jak získat práva Superuser ve dvou jednoduchých krocích pomocí aplikace Framaroot pro Android.

Hlavní výhodou popsaného způsobu získání práv root je především jeho jednoduchost a také krátká doba, během níž lze tento proces dokončit. Postupujeme podle pokynů, ale nejprve je důležité upozornění.

Důležité! Níže popsané manipulace s sebou nesou určitá rizika! Každý úkon, včetně dodržování níže uvedených pokynů, provádí uživatel na vlastní nebezpečí a riziko. Správa zdrojů nenese odpovědnost za možné negativní důsledky.

Aplikace Framarut je po stažení nebo zkopírování do paměti zařízení nebo na paměťovou kartu úplně obyčejný apk soubor. Instalace nevyžaduje žádné speciální úkony, vše je standardní.

Krok 2: Získání práv root

Stejně jako instalace nevyžaduje získání práv root pomocí Framarut mnoho kroků. Děláme jen následující.