КомпјутериБезбедност

Обратно инженерство за почетници. Заштитете апликации од Андроид од обратен инженеринг

Понекогаш некој сака да гледа, и што е пополнување на одредена програма? Потоа тој мора да користи обратно инженерство. Што е тоа? Како функционира? Како се случува овој процес? За сето ова можете да научите од оваа статија.

Што се програмите за обратно инженерство?

Тоа е она што процесот на парсирање на апликацијата е повикан да се разбере како тоа функционира, со цел да се рекреира процесот во иднина со неопходните промени. Типично, за оваа намена се користат дебагерот и асемблерот. Во зависност од квалитетот на користениот софтвер, резултатот ќе се разликува и колку време ќе потрае за да се донесе во нормала. Објаснете го обратното инженерство за почетници најдобро се базира на пример. Бидејќи ова ќе биде апликација напишана за Андроид. И сега ајде да дознаеме што и како.

Користење апликации на Android

За почеток, неопходно е да се разјаснат некои точки. Апликациите користат бајткод и LogCat. Ова се локални аналози на претходно споменатиот дебагер и асемблер. Исто така е неопходно да се разбере структурата на самите апликации. Значи, секоја програма е датотека со продолжување apk. Тоа е спакувано со поштенски. Ние сме заинтересирани за неговата содржина - апликациски ресурси, classes.dex и AndroidManifest.xml. Ако сте програмирање на Андроид, тогаш прашања со првиот и последниот не треба да бидат. Но class.dex е бајт-код на програмата, која е компајлирана специјално за виртуелната машина. За да се извлече од него изворниот код java претставен на интернет значи дека не работи. Но, можно е да се добијат dalvik opcodes - специјален сет на команди кои се користат за виртуелна машина. За аналогија, можеме да кажеме дека ова е асемблер на локално истурање. Исто така classes.dex може да се претвори во датотека со продолжена тегла. Веќе во овој случај, по неговата декомпилација, можете да добиете Java-код, кој ќе биде повеќе или помалку читлив. На овој начин ќе одиме.

Декомпилација

Овој процес ќе се спроведе со помош на програмата Apk Manger. Пред да започнете, треба да бидете сигурни дека имате вистински драјвери за уредот, а исто така и за USB-дебагирање. Првично, ќе треба да ја преместите датотеката, која ќе ја разбере директивата apk_manager \ place-apk-here-for-modding. После тоа, извршете Script.bat. Ако нема проблем, тогаш стартувајте ја конзолата, која ќе биде зелени натписи. Ние избираме број број девет - "Декомпилирај". Откако ќе се почне процесот, не треба да ја затворате конзолата. Потоа треба да го отворите APK-датотеката од интерес со помош на архиварот и да извади classes.dex од него, што треба да го процесира dex2jar. За резултатот што ни треба, треба да го преместите во некој објект со продолжување .bat. Ќе се појави датотека која ќе заврши со .jar. Додека прозорецот не е затворен.

Анализирање на податоците

За да добиете информации за апликацијата, мора да го отворите својот манифест. На неа утврдуваме дека делува како главна активност. Тоа е од најголемо значење за нас сега. Исто така е пожелно да се погледне на дното на програмата. Ако информациите на менаџерот на лиценци се подолу, тогаш ова значително ќе го комплицира обратниот инженеринг. Ако се префрлиме на jd-gui и ќе го прошириме дрвото, ќе видиме неколку именски простори. Да претпоставиме дека има три. Во првиот има датотеки поврзани со рекламирање. Вториот ќе ги содржи класификациите на менаџерот на лиценцата. Во третиот ги имаме потребните податоци. Во него, тогаш одиме. Овде ќе треба да го пронајдете и избришете клучот, а потоа и останатите линии кои проверуваат дали лиценцираната верзија работи. Сето ова мора да се исчисти. Потоа во нашиот Apk менаџер го бараме местото каде бајт-кодот треба да биде поставен. Сега да направиме малку дигресија и да ги коментираме командите што потенцијално би можеле да предизвикаат проблеми. После тоа, ние само треба да ја компајлираме програмата.

Градење на апликација

Ова ќе ни помогне сите исти Apk менаџер. Во конзолниот прозорец, кој не се затвори, ние одбираме ставка # 14. Потоа, прашање на технологија. Ако пријавата е доста комплицирана, тогаш при стартување може делумно или целосно да ја изгуби својата ефикасност. Не се вознемирувајте, тоа значи дека ние сме само на половина пат и сè уште има каде да одиме. Продолжуваме да го свртуваме инженерството на Android-апликации. Да се каже дека е неопходно да се направи во одреден случај, воопшто зборови, за жал, е невозможно. Затоа, сами ќе треба да го најдете проблемот. Значи, ако прозорецот на апликацијата е блокиран со скокачки прозорец, треба да го видите кодот и да го избришете делот што е одговорен за овој дијалог. Помош со ова може да jd-gui. Како што можете да видите, обратното инженерство не е лесна задача и бара значително знаење. Дури и ако сè започне без проблеми, ќе биде неопходно да се тестира работниот капацитет на апликацијата. Тоа е обратно-инженерство се уште е одземаат многу време. Продолжуваме да работиме сè додека не се идентификуваат сите проблеми.

Безбедност

Што ако треба да ги заштитиме апликациите на Андроид од обратен инженеринг? Во овој случај, постојат две опции: користење на специјални програми или создавање на структура на кодови што ќе влијаат на анализата на она што е напишано. Втората опција е погодна само за искусни професионалци, па ние ќе го разгледаме само првиот метод на заштита. Како специјализиран софтвер го користиме ProGuard. Оваа апликација се користи за намалување, заобиколување и оптимизирање на кодот. Ако програмата се "работи" преку него, тогаш добиваме датотека со продолжување * .apk помала отколку што беше. Во овој случај, ќе биде многу потешко да се расклопат. И предноста на оваа програма е тоа што дури беше воведен во собранието систем на Андроид апликации со ажурирање r9. Затоа, секој развивач може да го користи, кој има стандардни алатки за креирање и развој.

Заклучок

Не може да се каже дека обратното инженерство може да се замисли како нешто еднакво лошо или добро. Се разбира, од гледна точка на програмерите кои ја создале апликацијата, ова не е радосен настан. Но, од друга страна, во многу случаи создавањето на потребните датотеки од страна на искусни програмери може да биде помалку одземачко од употребата на такви алатки. Иако за почетници, обратното инженерство може да направи добра работа, ако нема идеја како да се спроведе нешто, дури и приближни и не сосема разбирливи скици може да помогнат во постигнувањето на целта.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 mk.birmiss.com. Theme powered by WordPress.