Раздели на сайта
Избор на редактора:
- Кои USB флашки са най-надеждни и най-бързи?
- Свързване на лаптоп към телевизор чрез USB кабел за свързване на лаптоп към VGA телевизор
- Промяна на интерфейса на Steam - от прости снимки до цялата презентация на екрана Нов дизайн на Steam
- Как да отмените абонамент за Megogo по телевизията: подробни инструкции Как да се отпишете от абонаменти за megogo
- Как да разделите диск с инсталиран Windows без загуба на данни Разделете диска 7
- Защо издателите не могат да редактират всички страници
- В BIOS няма зареждане от флаш устройство - как да го конфигурирам?
- Pandao промо кодове за точки
- Опасен ransomware вирус се разпространява масово в интернет
- Инсталиране на допълнителна RAM памет
реклама
Ето един от най-добрите решенияпри получаване Root е правна смартфони и таблети без използване на компютър. Днес тази програма получи Root права на своя тестов смарт Samsung Galaxy Nexus и китайски таблет Freelander. Едно от предимствата на тази конкретна версия на програмата от китайски разработчици е, че интерфейсът на програмата е напълно преведен на руски език. Прочетете инструкциите по-долу как да получите root права. Моите видео инструкции получаване на Rootправа чрез Baidu Root 1. Изтеглете приложението Baidu Root: и го инсталирайте на вашето устройство. 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 и го инсталирайте на вашето устройство. 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)...))
След това 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"));
И декодирането е така: публичен статичен низ 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 SecretKey generateKey(String password) хвърля изключение ( 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); )
Създайте, стартирайте приложението и погледнете дневника за изпълнение. Там ще видите реда ПОДПИС: 478uEnKQV+fMQT8Dy4AKvHkYibo=. Това е хешът. Тя трябва не само да бъде запомнена, но и поставена в кода на приложението като константа, например под името SIGNATURE. Сега премахнете реда Log.e... от кода и добавете следния метод: public static boolean checkSignature(Context context) ( return SIGNATURE.equals(getSignature(context)); )
Той прецизно ще сверява запаметения хеш с хеша на ключа, с който приложението е подписано в момента. Функцията връща 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"); )
Както обикновено: вярно - всичко е наред, невярно - Хюстън, имаме проблеми. Определяне на емулатораНякои методи за обръщане на приложения включват използването на емулатор. Следователно би било полезно да добавите код към приложението, който проверява дали работи във виртуална среда. Това може да стане чрез четене на стойностите на някои системни променливи. Например стандартен Android емулатор Studio задава тези променливи и стойности: ro.hardware=златна рибка 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 ( име));
Ако сте забравили паролата или модела на устройството си с 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. Това може да стане по няколко начина:
В този случай ще бъде възможно да изтеглите не само официален фърмуер, но също и различни потребителски опции, в които могат да се променят дизайнът, защитните функции, драйверите, помощните програми и т.н. Премахване на gesture.key (работи само за заключване с графичен ключ)Отключването на телефон или таблет с Android чрез този метод е невъзможно без права на root и. Ако не отговаряте на тези условия, изберете друг метод за заобикаляне на защитата. Графичен ключсе нулира, както следва: Много от описаните по-горе методи са невъзможни без отключване на буутлоудъра. След като направите това, ще получите root права и ще можете да инсталирате собствена версияфърмуер или персонализирано възстановяване, следователно, преди да хакнете заключването на Android, трябва да премахнете защитата на буутлоудъра. Препоръчително е да направите това незабавно, за да сте напълно подготвени в ситуации, в които сте забравили своя ПИН код/модел. Алгоритъм за отключване: След това стартира процесът на активиране на буутлоудъра и се появява на екрана на устройството. Изчакайте процесът да завърши и след това просто рестартирайте устройството си. Отключването на буутлоудъра е завършено. Гореописаните съвети са подходящи за почти всички случаи, защото всеки може да има своя собствена проблемна ситуация. Надяваме се, че нашите съвети ще ви помогнат бързо и правилно да се отървете от проблема. |
Прочетете: |
---|
Популярни:
Нов
- Свързване на лаптоп към телевизор чрез USB кабел за свързване на лаптоп към VGA телевизор
- Промяна на интерфейса на Steam - от прости снимки до цялата презентация на екрана Нов дизайн на Steam
- Как да отмените абонамент за Megogo по телевизията: подробни инструкции Как да се отпишете от абонаменти за megogo
- Как да разделите диск с инсталиран Windows без загуба на данни Разделете диска 7
- Защо издателите не могат да редактират всички страници
- В BIOS няма зареждане от флаш устройство - как да го конфигурирам?
- Pandao промо кодове за точки
- Опасен ransomware вирус се разпространява масово в интернет
- Инсталиране на допълнителна RAM памет
- Какво да направите, ако слушалките не възпроизвеждат звук на лаптоп