ComputersVeiligheid

Reverse-engineering voor beginners. Alle aanvragen Android-bescherming tegen reverse engineering

Soms wil men zien, en wat voor soort van het invullen van een specifiek programma? Dan moet hij een 'reverse engineering' te gebruiken. Wat is het? Hoe werkt het? Hoe is dit proces? Dit alles leert u uit dit artikel.

Wat is een reverse engineering programma's?

Zogenaamde proces applicatie analyse om te begrijpen hoe het werkt, zodat in de toekomst om dit proces opnieuw door het maken van de noodzakelijke veranderingen. Meestal gebruikt voor dit doel debugger en assembler. Afhankelijk van de kwaliteit van de software worden gebruikt verschillen, en het resultaat is de hoeveelheid tijd die moet worden besteed aan het in een normale vorm tot stand te brengen. Leg reverse-engineering voor beginners het beste voorbeeld. Als hiervan een applicatie geschreven voor Android voeren. Laten we nu om uit te vinden wat en hoe.

Werken met Android-applicaties

Eerst moeten we een aantal punten te verduidelijken. De applicatie maakt gebruik van de bytecode en logcat. Deze lokale tegenhangers eerder genoemde debugger en assembler. Het is ook noodzakelijk om de structuur van de applicaties zelf te begrijpen. Dus, elk programma is een bestand met de extensie apk. Hij pakte zip'om. Wij zijn geïnteresseerd in de inhoud ervan - toepassingsbronnen, classes.dex en AndroidManifest.xml. Als u programmeren op Android, moet de problemen met de eerste en de tweede niet. Maar classes.dex - dit programma byte code die speciaal is samengesteld voor de virtuele machine. Uittreksel uit zijn Java-broncode beschikbaar op het internet hebben de middelen niet. Maar is het mogelijk om Dalvik opcodes te verkrijgen - een speciale set van commando's die worden gebruikt voor de virtuele machine. Voor een analogie kunnen we zeggen dat deze assemblee van lokale overstromingen. Classes.dex kan ook worden omgezet in een bestand met de pot. Zelfs in een dergelijk geval kunt u een Java-code na decompilatie, die min of meer leesbaar zullen zijn te krijgen. Dat is het pad dat we gaan.

decompilatie

Dit proces zal worden uitgevoerd met behulp van Apk Manger programma. Voordat u begint, zorg ervoor dat er het juiste stuurprogramma voor devaysa en functioneren USB-debugging modus. In eerste instantie zullen we nodig hebben om het bestand dat zal worden ontleed in een richtlijn apk_manager \ place-apk-hier-voor-modding bewegen. Daarna moet je Script.bat draaien. Als er geen probleem is, dan start de console, die het groene van letters zal zijn. Selecteer het punt nummer negen - "Decompile". Zodra het proces is gestart, is het noodzakelijk om niet te console te sluiten. Vervolgens open interest apk-bestand met de archiefbeheerder en een uittreksel uit deze classes.dex, te verwerken dex2jar programma. Voor ons is het gewenste resultaat is het noodzakelijk om een object te verplaatsen met de extensie .bat. Je zal het bestand, die zal eindigen in .jar te zien. Tot nu toe, wordt in het venster niet te sluiten.

we analyseren data

Om informatie over de toepassing te krijgen, moet u openen manifest. Volgens het, we vaststellen dat fungeert als de belangrijkste activiteit. Zij was het die nu presenteert het grootste belang voor ons. Het is ook wenselijk om te kijken naar de onderkant van het programma. Als de bodem is de informatie over de licentie manager, is het beduidend moeilijker reverse engineering uit te voeren. Als u overschakelt naar jd-gui en de boom uit te breiden, kunnen we een aantal namespaces zien. Neem aan dat de drie van hen. In de eerste plaats zijn de dossiers in verband met reclame. De tweede zal de licentie manager klassen. In de derde, we zijn de benodigde gegevens. Het is wanneer we gaan. Er zal moeten vinden en verwijderen van de sleutel, en dan de rest van de lijnen die na te gaan of een licentie werkende versie. Al deze moeten worden schoongemaakt. Toen in onze Apk Manager zoek naar een plek waar de plaats die bytecode. Laten we nu eens een kleine uitweiding en commentaar uit het team, die mogelijk problemen kunnen veroorzaken. Na dat, we hebben alleen maar om het programma samen te stellen.

applicaties bouwen

Dit zal ons helpen allemaal hetzelfde Apk Manager. In de console, die we niet hebben vergrendeld, selecteert u het item №14. Volgende truc. Als de aanvraag is vrij ingewikkeld, als je begint, kan het geheel of gedeeltelijk de efficiëntie te verliezen. Maak je geen zorgen, het betekent dat we zijn er alleen halverwege en ergens anders heen te gaan. We blijven reverse engineering-All Android apps uit te voeren. Zeg, wat te doen in een bepaald geval, in het algemeen, helaas, is onmogelijk. Daarom, kijk voor knelpunten zullen hun eigen. Bijvoorbeeld, als een toepassing venster wordt geblokkeerd pop-up venster, moet u de code te zien en verwijder het onderdeel dat verantwoordelijk is voor deze dialoog. Om te helpen met dit kan jd-gui. Zoals u kunt zien, de reversed engineering is geen gemakkelijke zaak, en het vereist een aanzienlijke hoeveelheid kennis. Zelfs als alles wordt uitgevoerd zonder problemen, zal het nodig zijn om de prestaties van applicaties te testen. Dat wil zeggen, de reverse-engineering is meer tijdrovende bezigheid. We blijven werken totdat alle problemen worden geïdentificeerd.

veiligheid

Wat als we bescherming nodig Alle Android-applicatie uit reverse engineering? In dit geval zijn er twee opties: het gebruik van specifieke programma's of de creatie van een code structuur die zal bemoeien maken Parseren geschreven. De laatste optie is alleen geschikt ervaren professionals, dus we zullen alleen de eerste methode van de bescherming te overwegen. Als gespecialiseerde software gebruik ProGuard. Deze applicatie, die wordt gebruikt om te verminderen, verduistering en code optimalisatie. Als het programma "chase" er doorheen, krijgen we een bestand met de extensie * .apk kleiner dan hij was. In een dergelijk geval zou het veel moeilijker uit elkaar te halen zijn. En het voordeel van dit programma is dat het zelfs in de build Android-applicaties met R9 updates geïntroduceerd. Daarom kunt u profiteren van het is een ontwikkelaar die standaard instrumenten van de oprichting en ontwikkeling heeft.

conclusie

We kunnen niet zeggen dat de 'reverse engineering' kan worden voorgesteld als iets uniform goed of slecht is. Natuurlijk, vanuit het oogpunt van de ontwikkelaars, die een aanvraag hebben gemaakt, is het niet een blijde gebeurtenis. Maar aan de andere kant, in veel gevallen ervaren programmeurs het schrijven van de benodigde bestanden kunnen per keer goedkoper dan het gebruik van dergelijke instrumenten zijn. Hoewel voor beginnende ontwikkelaars 'reverse engineering' kan een goede dienst bewijzen als er geen idee van hoe om iets uit te voeren, zelfs voorbeeldig, en niet helemaal duidelijk overzicht kunnen helpen met het bereiken van dit doel.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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