Начало - Обслужване
В Android, когато инсталирате приложения и игри, изскача съобщение, че инсталирането от неизвестни източници е блокирано на устройството. Baidu Root (руска версия) Приложението съдържа код за заобикаляне на защитата на Android


Ето един от най-добрите решенияпри получаване Root е правна смартфони и таблети без използване на компютър. Днес тази програма получи Root права на своя тестов смарт Samsung Galaxy Nexus и китайски таблет Freelander. Едно от предимствата на тази конкретна версия на програмата от китайски разработчици е, че интерфейсът на програмата е напълно преведен на руски език. Прочетете инструкциите по-долу как да получите root права.

Моите видео инструкции получаване на Rootправа чрез Baidu Root

1. Изтеглете приложението Baidu Root: и го инсталирайте на вашето устройство.
(Внимание!!!При инсталиране на кофата може да ви изпише, че приложението " Съдържа код за заобикаляне на сигурността на Android". Поставете отметка в квадратчето и щракнете върху " Инсталирайте все пак"). Поле за инсталиране, стартирайте програмата и вижте споразумението от автора на китайски. Натиснете бутона Приемикакто е показано по-долу.

2. Ако сте свързани към интернет в момента и програмата е намерила актуализирана версия на своя сървър, тогава ще бъдете подканени да актуализирате версията на програмата до текущата. Бих го направил по този начин. Досега натисках Откази се опитах да получа root [и ако root не беше получен, тогава щях да рестартирам програмата отново и да я актуализирам, след което отново да опитам да получа root. (По-долу ще очертая същата диаграма само с родния китайски програмен интерфейс, за да разбера как да продължа, ако всичко е на китайски.)].

3. Сега натиснете бутона " Вземете root" и изчакайте програмата да завърши. На моя Nexus работи около 1 минута, на таблета Freelander малко повече.

Готово. Виждаме, че root правата са получени.

И сега, както обещах по-горе, ще публикувам кратко ръководство за това как да получите същите права за root, но с разбирането, че интерфейсът на програмата Baidu Root е изцяло на китайски.

1. Поле за инсталиране: стартирайте програмата и вижте споразумението от автора на китайски. Щракнете върху десния бутон, ограден на снимката по-долу.

2. Ако сте свързани към интернет в момента и програмата е намерила актуализирана версия на своя сървър, тогава ще бъдете подканени да актуализирате версията на програмата до текущата. За да актуализирате версията, щракнете с десния бутон, за да не актуализирате - наляво. Обикновено китайският интерфейс се появява след актуализацията.

3. Сега натиснете на син бутон (оградил съм го на снимката) и изчакайте програмата да приключи.

Получаване на root права за Android без използване на компютър и необходимост от използване на трудни за научаване инструменти софтуерни инструменти- доста налична възможност. В тази статия ще ви кажем как да получите права на суперпотребител само за две прости стъпкис помощта на приложението Framaroot за Android.

Основното предимство на описания метод за получаване на root права, на първо място, е неговата простота, както и краткото време, през което този процес може да бъде завършен. Следваме инструкциите, но първо има важно предупреждение.

важно! Описаните по-долу манипулации носят определени рискове! Всяко действие, включително следването на инструкциите по-долу, се извършва от потребителя на негова отговорност и риск. Администрацията на ресурса не носи отговорност за възможни негативни последици.

Приложението Framarut, след изтегляне или копиране в паметта на устройството или картата с памет, е напълно обикновен apk файл. Инсталацията не изисква специални действия, всичко е стандартно.

Стъпка 2: Получаване на root права

Подобно на инсталацията, получаването на root права чрез Framarut не изисква много стъпки. Просто правим следното.


Ето едно от най-добрите решения за получаване на Root права на смартфони и таблети без използване на компютър. Днес тази програма получи Root права на своя тестов смарт Samsung Galaxy Nexus и китайския таблет Freelander. Едно от предимствата на тази конкретна версия на програмата от китайски разработчици е, че интерфейсът на програмата е напълно преведен на руски език. Прочетете инструкциите по-долу как да получите root права.

1. Изтеглете приложението Baidu и го инсталирайте на вашето устройство.
(Внимание!!! При инсталиране Android може да ви изпише, че приложението „Съдържа код за заобикаляне на защитата на Android“. Поставете отметка в квадратчето и щракнете върху „Инсталирай въпреки това“). В полето за инсталиране стартираме програмата и виждаме споразумението от автора на китайски. Щракнете върху бутона Приемам, както е показано по-долу.


2. Ако сте свързани към интернет в момента и програмата е намерила актуализирана версия на своя сървър, тогава ще бъдете подканени да актуализирате версията на програмата до текущата. Бих го направил по този начин. Засега щракнах върху Отказ и се опитах да получа root [и ако root не беше получен, тогава щях да рестартирам програмата отново и да я актуализирам, след което опитах да получа root отново. (По-долу ще очертая същата диаграма само с родния китайски програмен интерфейс, за да разбера как да продължа, ако всичко е на китайски)

3. Сега щракнете върху бутона „Вземете root“ и изчакайте програмата да завърши. На моя Nexus работи за около 1 минута, на таблета Freelander малко повече.

Готово. Виждаме, че root правата са получени.

И сега, както обещах по-горе, ще публикувам малко ръководство за получаване на същите права за root, но с разбирането, че интерфейсът на програмата Baidu Root е изцяло на китайски:

1. Поле за инсталиране: стартирайте програмата и вижте споразумението от автора на китайски. Щракнете върху десния бутон, ограден на снимката по-долу.

2. Ако сте свързани към интернет в момента и програмата е намерила актуализирана версия на своя сървър, тогава ще бъдете подканени да актуализирате версията на програмата до текущата. За да актуализирате версията, щракнете върху десния бутон, а за да не актуализирате, кликнете върху левия бутон. Обикновено китайският интерфейс се появява след актуализацията.

Запознахме ви с редица статии, които ясно показаха колко лесни са всъщност приложенията за Android. Дори не се нуждаете от дизасемблер за това, а само повърхностни познания по Java и езика Smali. Ето защо, ако приложението ви е достатъчно популярно, знайте, че то ще бъде откраднато и платените функции ще бъдат активирани чрез прости манипулации. И ако решите да го монетизирате с помощта на реклама, той ще бъде изключен.

Защитата на приложение е трудна, но е възможна. Първо, заслужава си веднага изоставете модела на разпространение Pro/Lite. Приложението е много лесно за премахване от смартфон, така че крадецът ще трябва да купи приложението само веднъж и след това то може да се разпространява както е. Второ, трябва да се грижите защита на кода от обрат. Декомпилирането на Java код е лесно, но се променя двоичен кодне изисква никакви специални умения или инструменти. Трето, трябва да сте сигурни, че дори и в случай на успешно хакване, приложението просто не работи. Тогава хакерът ще трябва да реши два проблема наведнъж: да хакне приложението и да накара хакната версия да работи.

Така че изоставяме Pro версията и започваме битката.

Скриване и обфускиране на кода

Най-добрият начин да защитите кода на приложението от обрат е замъгляване, с други думи, обфускация на байт кода, така че да е непоносимо трудно за обратния да го разбере. Има няколко инструмента, които могат да направят това. Най-простият, но все пак ефективен е включен в Android Studio. това ProGuard.

За да го активирате, просто добавете реда minifyEnabled true към секцията android → buildTypes → release на файла build.gradle:

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

андроид (

. . .

buildTypes(

освобождаване (

minifyEnabled вярно

. . .

След това Android Studio ще започне да предава всички компилации на „release“ през ProGuard. В резултат на това приложението ще стане по-компактно (поради премахването на неизползван код) и ще получи известно ниво на защита срещу обрат. „Някои“ в смисъл, че ProGuard ще замени имената на всички вътрешни класове, методи и полета с една или две буквени комбинации. Това наистина ще направи декомпилирания/разглобения код много по-труден за разбиране.


Следваща стъпка - криптиране на низове. Това е особено полезно, ако съхранявате чувствителни данни в приложението: идентификатори, ключове, крайни точки на REST API. Всичко това ще помогне на атакуващия да навигира във вашия код или да извлече важна информация от него.

Можете да шифровате низове по различни начини, например с помощта на инструментите Stringer или DexGuard. Предимство: Напълно автоматизирана модификация на съществуващ код за прилагане на криптиране на низове. Недостатък: цена, достъпна за компании, но твърде висока за независим разработчик.

Затова ще се опитаме да го направим сами. В най-простия случай криптирането на низове с помощта на Java се извършва по следния начин:

public static byte encryptString(String message, SecretKey secret) хвърля изключение ( Cipher cipher = null; cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); cipher.init(Cipher.ENCRYPT_MODE, secret); return cipher.doFinal( message.getBytes("UTF-8"));

публичен статичен байт encryptString (String съобщение, SecretKey secret) хвърля изключение (

Cipher cipher = нула;

cipher .init (Cipher .ENCRYPT_MODE, секретен) ;

връща шифър .doFinal ( съобщение . getBytes ( "UTF-8" ) );

И декодирането е така:

публичен статичен низ decryptString(byte cipherText, SecretKey secret) хвърля изключение ( Cipher cipher = null; cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); cipher.init(Cipher.DECRYPT_MODE, secret); връща нов низ (cipher) .doFinal(cipherText), "UTF-8")

public static String decryptString (byte cipherText, SecretKey secret) хвърля изключение (

Cipher cipher = нула;

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

cipher .init ( Cipher . DECRYPT_MODE , секрет );

върне нов низ (cipher. doFinal (cipherText), "UTF-8");

За генериране на ключ е достатъчен един ред:

public static SecretKey generateKey(String password) хвърля изключение ( return secret = new SecretKeySpec(password.getBytes(), "AES"); )

публичен статичен SecretKey generateKey (парола за низ) хвърля изключение (

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

Въпросът е да напишете просто настолно/мобилно приложение на Java, което ще приема всичките ви низове като вход и ще произвежда техните криптирани версии като изход. След това вмъквате тези низове в основното приложение вместо оригиналните и на местата, където са достъпни, извиквате функцията decryptString().

В резултат на това нападателят просто няма да може да види криптираните низове чрез декомпилиране на приложението. Но, разбира се, той може да напише прост декриптор на базата на декомпилиран код на вашия шифратор. С други думи, това не е панацея, но криптирането на низ ще добави още едно ниво на сложност.

Можете да отидете дори по-далеч и да използвате един от всеобхватните инструменти за защита на Android приложения, като AppSolid. Отново е скъпо, но ви позволява да шифровате цялото приложение. Това наистина може да изплаши много реверси, но има редица инструменти, включително платения декомпилатор на Java JEB, който може автоматично да премахне такава защита.

Можете също да опитате да разделите приложението си на много малки модули, както вече писах в статията Писане на модулни приложения за Android. Това само по себе си не е защитен метод и едва ли ще попречи на работата на реверса. Но ще се счупи различни автоматизирани системикракване на приложения. Те просто няма да могат да разберат къде да търсят кода, разположен в модула.

Е, едно последно нещо: необходимо е да премахнете (коментирате) от кода всички повиквания към регистратора, т.е. всички повиквания към Log.d(), Log.v() и т.н. В противен случай нападателят ще може да използва тази информация, за да разбере логиката на приложението.

Срив на хакнато приложение

Добре, развалихме малко живота на реверса. Време е да го направим отново! Но как можете да разберете дали дадено приложение е хакнато? По-точно, как може да разбере за себе си? В крайна сметка понятията „хакнат“ и „не хакнат“ съществуват само в нашите глави, тоест това са понятия от доста висок порядък, които не могат да бъдат описани алгоритмично.

Така е, но не е така. Факт е, че вътре в APK файла има набор от метаданни, които съхраняват контролните суми на абсолютно всички файлове в пакета, а самите метаданни са подписани с ключа на разработчика. Ако промените приложението и го пакетирате отново, метаданните на пакета ще се променят и пакетът ще трябва да бъде подписан отново. И тъй като реверсорът няма и не може да има вашия ключ на разработчика, той използва или произволно генериран такъв, или така наречения тестов ключ.

Самият Android лесно ще преглътне такова приложение (той не поддържа база данни с всички цифрови подписи на всички възможни Android разработчици), но ние имаме собствена цифров подпис, и ние можем да го проверим!

Проверка на цифровия подпис

Всъщност методът е доста прост. Трябва да въведете код в приложението, който ще получи хеша на ключа на текущия цифров подпис на пакета и ще го сравни с предишния записан. Те съвпадат - приложението не е преопаковано (и хакнато), не - алармираме.

За да започнете, вмъкнете следния код в приложението (колкото по-дълбоко го скриете, толкова по-добре):

public static String getSignature(Context context) ( String apkSignature = null; опитайте ( PackageInfo packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES); for ( Подпис подпис: packageInfo.signatures) ( MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); apkSignature = Base64.encodeToString(md.digest(), Base64.DEFAULT); Log.e( "DEBUG", "SIGNATURE: " + apkSignature); )

публичен статичен низ getSignature(контекст контекст) (

String apkSignature = null;

пробвай (

PackageInfo packageInfo = context.getPackageManager().getPackageInfo(

context.getPackageName(),

PackageManager.GET_SIGNATURES

за (Подпис: packageInfo .signatures) (

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

md.update(signature.toByteArray());

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

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

) catch (Изключение e) ( )

връщане apkSignature;

Създайте, стартирайте приложението и погледнете дневника за изпълнение. Там ще видите реда ПОДПИС: 478uEnKQV+fMQT8Dy4AKvHkYibo=. Това е хешът. Тя трябва не само да бъде запомнена, но и поставена в кода на приложението като константа, например под името SIGNATURE. Сега премахнете реда Log.e... от кода и добавете следния метод:

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

public static boolean checkSignature(Context context) (

връща ПОДПИС .equals (getSignature (контекст));

Той прецизно ще сверява запаметения хеш с хеша на ключа, с който приложението е подписано в момента. Функцията връща true, ако цифровият подпис е ваш (приложението не е преустроено) и false, ако е променено. Какво да направите във втория случай зависи от вас. Можете просто да прекратите приложението с os.exit(0) или можете да го сринете, например чрез извикване на метод на неинициализиран обект или достъп до несъществуваща стойност на масив.

Но помнете: нападателят може просто да изреже вашия код за потвърждение на цифровия подпис и той никога няма да работи (това важи и за кода, даден по-долу). Затова го скрийте на неочевидно място и криптирайте хеша на оригиналния ключ, както е показано по-горе.


Проверка на инсталационния източник

Друг метод за защита е да разберете откъде е инсталирано приложението. Логиката тук е проста: ако инсталационният източник е Play Store, тогава всичко е наред, това е оригинално, неопаковано приложение. Ако не, Varez се изтегля от форума и се инсталира от карта с памет или от черния пазар.

Можете да разберете откъде е инсталирано приложението в един ред, а самата функция, която прави това, може да изглежда така:

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(контекст контекст) (

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

върне инсталатора != null & усилвател; & усилвател; installer.startsWith("com.android.vending");

Както обикновено: вярно - всичко е наред, невярно - Хюстън, имаме проблеми.

Определяне на емулатора

Някои методи за обръщане на приложения включват използването на емулатор. Следователно би било полезно да добавите код към приложението, който проверява дали работи във виртуална среда. Това може да стане чрез четене на стойностите на някои системни променливи. Например стандартен Android емулатор Studio задава тези променливи и стойности:

ro.hardware=златна рибка ro.kernel.qemu=1 ro.product.model=sdk

ro .хардуер = златна рибка

ro .kernel .qemu = 1

ro .product .model = sdk

Следователно, след като прочетем стойностите на тези променливи, можем да приемем, че кодът се изпълнява в емулатора:

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 || goldfish || sdk) ( return true; ) ) catch (Exception e) () return false ) private static String getSystemProperty ( Име на низ) хвърля изключение ( Class sysProp = Class.forName("android.os.SystemProperties"); return (String) sysProp.getMethod("get", new Class(String.class)).invoke(sysProp, new Object ( име));

публичен статичен булев checkEmulator() (

пробвай (

Ако сте забравили паролата или модела на устройството си с Android, това не е причина за паника. Има няколко бързи и прости опцииотключете телефона или таблета си на Базиран на Androidв случай, че не си спомняте схемата или ПИН кода.

Въвеждане на информация за Google акаунт

Ако вашият смартфон или таблет има постоянна връзкаот безжична мрежа, тогава можете да разрешите проблема с заобикалянето на защитата, като просто въведете имейл адреси парола. След 5 неуспешни опита за отключване на екрана ще се появи известие. Кликнете върху него и в прозореца, който се показва, въведете потребителските данни на вашия акаунт в Google.

Какво да направите, ако сте забравили паролата за акаунта си Google публикации? Завършете процедурата за възстановяване на достъпа до вашия акаунт директно с помощта на поддръжката.

Отключване чрез Hard Reset

Когато използвате този метод, всички лични данни ще бъдат изтрити и системата на смартфона ще бъде върната към фабричните настройки (файловете на SD картата не са засегнати). Преди да извършите процедурата, препоръчително е да имате архивен файл, от който можете да възстановите потребителската информация.

Най-лесният начин за нулиране е да използвате помощната програма, която се намира в настройките на вашето устройство. Тъй като достъпът до системата е блокиран, ще трябва да действате чрез:


Всяко потребителско действие (създаване на ПИН код, графичен ключ) се отразява в системата чрез създаване на определени файлове. Можем да заключим, че ако изтриете данните за паролата, ще можете да отключите устройството, без да губите информация за потребителя.

Много потребители всъщност се чудят как да отключат Android през компютър. За да направите това, ще ви трябва помощната програма ADB, както и вашата притурка, свързана в режим на USB отстраняване на грешки. Следвайте следния алгоритъм:


adb shellrm /data/system/gesture.key

rm /data/system/locksettings.db;

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

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

Презареждане на устройството

Ако други начини за хакване на Android не са ви достъпни по някаква причина, тогава a. Това може да стане по няколко начина:

  • Чрез компютър чрез USB кабел;
  • Чрез менюто за възстановяване на всяко устройство с Android. Трябва да използвате компютър, за да изтеглите файла на фърмуера директно в паметта на вашия телефон или таблет.

В този случай ще бъде възможно да изтеглите не само официален фърмуер, но също и различни потребителски опции, в които могат да се променят дизайнът, защитните функции, драйверите, помощните програми и т.н.

Премахване на gesture.key (работи само за заключване с графичен ключ)

Отключването на телефон или таблет с Android чрез този метод е невъзможно без права на root и. Ако не отговаряте на тези условия, изберете друг метод за заобикаляне на защитата. Графичен ключсе нулира, както следва:


Много от описаните по-горе методи са невъзможни без отключване на буутлоудъра. След като направите това, ще получите root права и ще можете да инсталирате собствена версияфърмуер или персонализирано възстановяване, следователно, преди да хакнете заключването на Android, трябва да премахнете защитата на буутлоудъра. Препоръчително е да направите това незабавно, за да сте напълно подготвени в ситуации, в които сте забравили своя ПИН код/модел.

Алгоритъм за отключване:


След това стартира процесът на активиране на буутлоудъра и се появява на екрана на устройството. Изчакайте процесът да завърши и след това просто рестартирайте устройството си. Отключването на буутлоудъра е завършено. Гореописаните съвети са подходящи за почти всички случаи, защото всеки може да има своя собствена проблемна ситуация. Надяваме се, че нашите съвети ще ви помогнат бързо и правилно да се отървете от проблема.



 


Прочетете:



Справочник диоди Мощни изправителни диоди 220V

Справочник диоди Мощни изправителни диоди 220V

Основната цел на токоизправителните диоди е преобразуване на напрежението. Но това не е единствената област на приложение на тези полупроводникови...

Как да нулирате паролата на администратора на Mac OS X без инсталационен диск

Как да нулирате паролата на администратора на Mac OS X без инсталационен диск

Въпреки двусмисленото заглавие, статията няма да е за хакване на акаунти в Mac OS X (може да прочетете за това, ако желаете...

Настройване на Shadow Defender

Настройване на Shadow Defender

И по-специално, засегнахме такива неща като (които също могат да служат като някакъв вид защита срещу инфекция или поне начин за връщане...

Защо процесорът на моя компютър се нагрява много?

Защо процесорът на моя компютър се нагрява много?

Не планирах да напиша тази статия, бях подтикнат да я напиша от много въпроси относно прегряването на лаптопа, почистването му и смяната на термопаста. на...

feed-image RSS