RekenaarsVeiligheid

Reverse-engineering vir beginners. Alle aansoeke Android-beskerming teen reverse engineering

Soms wil mens te sien, en watter soort van die invul van 'n spesifieke program? Toe het hy na 'n omgekeerde-ingenieurswese gebruik. Wat is dit? Hoe werk dit? Hoe is hierdie proses? Al hierdie sal jy leer uit hierdie artikel.

Wat is 'n omgekeerde-ingenieurswese programme?

Sogenaamde proses aansoek analise ten einde te verstaan hoe dit werk, sodat in die toekoms om hierdie proses te herskep deur die nodige veranderinge. Gewoonlik gebruik vir hierdie doel debugger en assembler. Afhangende van die kwaliteit van die sagteware wat gebruik word sal anders wees en die resultaat is die hoeveelheid tyd wat bestee moet word op dit in 'n normale vorm te bring. Verduidelik omgekeerde-ingenieurswese vir beginners die beste voorbeeld. Soos daarvan 'n aansoek geskryf vir Android voer. Kom ons wees om uit te vind wat en hoe.

Werk met Android-programme

Eerstens moet ons 'n paar punte te verduidelik. Die program maak gebruik van die bytecode en LogCat. Hierdie plaaslike eweknieë voorheen genoem debugger en assembler. Dit is ook nodig om die struktuur van die aansoeke self verstaan. Dus, elke program is 'n lêer met die uitbreiding APK. Hy verpak zip'om. Ons is geïnteresseerd in die inhoud daarvan - aansoek hulpbronne, classes.dex en AndroidManifest.xml. As jy programmering doen op Android, moet die probleme met die voormalige en laasgenoemde nie. Maar classes.dex - hierdie program byte kode wat spesifiek saamgestel vir die virtuele masjien. Uittreksel uit sy java bronkode beskikbaar op die Internet doen die fondse nie. Maar is dit moontlik om dalvik opcodes verkry - 'n spesiale stel instruksies wat gebruik word vir die virtuele masjien. Vir 'n analogie kan ons sê dat hierdie vergadering van die plaaslike vloed. Classes.dex kan ook omskep word in 'n lêer met die pot. Selfs in so 'n geval, kan jy 'n Java-kode na decompilatie, wat min of meer leesbare sal wees nie. Dit is die pad wat ons gaan.

decompilatie

Hierdie proses sal uitgevoer word met behulp van APK Bestuurder program. Voordat jy begin, maak seker dat daar is die korrekte drywer vir devaysa en funksioneer USB-ontfouting af. Aanvanklik sal ons nodig het om die lêer wat sal ontleed word in 'n richtlijn apk_manager \ n plek-APK-hier-vir-modding beweeg. Daarna moet jy Script.bat hardloop. As daar nie 'n probleem, dan begin die konsole, wat groen letters sal wees. Kies die punt nommer nege - "afbreek". Sodra die proses begin, is dit noodsaaklik om nie te konsole sluit. Dan, oop belangstelling APK-lêer met die archiver en uittreksel uit dit classes.dex, te verwerk dex2jar program. Vir ons die nodige resultaat is dit nodig om 'n voorwerp beweeg met die uitbreiding bat. Jy sal die lêer, wat sal eindig in Jar sien. Tot dusver het die venster toemaak nie.

ons analiseer data

Om inligting oor die aansoek te kry, moet jy oop dit openbaar. Volgens dit, ons bepaal wat optree as die hoof aktiwiteit. Dit was sy wat nou bied die grootste belang. Dit is ook wenslik om te kyk na die onderkant van die program. As die onderkant is die inligting oor die lisensie bestuurder, dit is aansienlik moeiliker reverse engineering uit te voer. As jy oorskakel na JD-GUI en die boom uit te brei, kan ons 'n hele paar name spaces sien. Neem aan dat die drie van hulle. In die eerste is die lêers wat verband hou met advertensies. Die tweede sal wees om die lisensie bestuurder klasse. In die derde, ons van die nodige data. Dit is wanneer ons gaan. Daar sal nodig hê om te vind en verwyder die sleutel, en dan die res van die lyne wat kyk of gelisensieer werk weergawe. Al hierdie moet skoongemaak word. Dan in ons APK Bestuurder op soek na 'n plek waar plek wat bytecode. Kom ons maak 'n klein afwyking en kommentaar uit die span, wat potensieel probleme kan veroorsaak. Daarna het ons moet net die program saam te stel.

bou aansoeke

Dit sal ons help almal dieselfde APK Manager. In die konsole, wat ons nie het gesluit, kies die item №14. Volgende truuk. As die aansoek is nogal ingewikkeld, wanneer jy begin, kan dit gedeeltelik of heeltemal sy doeltreffendheid verloor. Moenie bekommerd wees nie, dit beteken dat ons net daar halfpad en elders te gaan. Ons gaan voort omgekeerde-ingenieurswese-All Android-programme uit te voer. Sê wat om te doen in 'n bepaalde geval, in die algemeen, helaas, is onmoontlik. Daarom, kyk vir probleemareas sal hul eie het. Byvoorbeeld, indien 'n aansoek venster is geblokkeer pop-up window, jy moet die kode te sien en te verwyder die deel wat verantwoordelik is vir hierdie dialoog. Om te help met hierdie kan JD-GUI. Soos jy kan sien, die omgekeerde ingenieurswese is nie 'n maklike onderneming, en dit vereis 'n aansienlike winkel van kennis. Selfs as alles loop sonder enige probleme, sal dit nodig wees om die prestasie van aansoeke te toets. Dit wil sê, die omgekeerde-ingenieurswese is meer tydrowend aktiwiteit. Ons gaan voort om te werk totdat al die probleme word geïdentifiseer.

veiligheid

Wat gebeur as ons moet beskerming Alle Android-aansoek van reverse engineering? In hierdie geval, is daar twee opsies: die gebruik van spesifieke programme of die skepping van 'n kode struktuur wat sal inmeng om die ontleding van geskrewe. Die laaste opsie is geskik net ervare professionele, so ons sal net die eerste metode van beskerming te oorweeg. As 'n gespesialiseerde sagteware gebruik ProGuard. Hierdie aansoek, wat gebruik word om te verminder, obfuscation en kode optimalisering. As die program "jaag" deur dit, kry ons 'n lêer met die uitbreiding * APK kleiner as hy was. In so 'n geval sou dit baie moeiliker om te onderwerp aan wees. En die voordeel van hierdie program is dat dit selfs in die aanloop Android aansoeke met R9 updates ingestel. Daarom, neem voordeel van dit is 'n ontwikkelaar wat standaard gereedskap van die skepping en ontwikkeling het.

gevolgtrekking

Ons kan nie sê dat die omgekeerde-ingenieurswese kan voorgestel word as iets eenvormig goed of sleg. Natuurlik, uit die oogpunt van die ontwikkelaars, wat 'n aansoek geskep het, is dit nie 'n heuglike gebeurtenis. Maar aan die ander kant, in baie gevalle ervaar programmeerders skryf die nodige lêers kan 'n tyd goedkoper as die gebruik van sulke instrumente word. Hoewel vir beginner ontwikkelaars omgekeerde-ingenieurswese kan 'n goeie diens te lewer as daar nie 'n idee van hoe om iets te implementeer, selfs voorbeeldige, en nie heeltemal duidelik uiteensetting kan help met die bereiking van hierdie doel te bereik.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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