KomputilojSekureco

Reversa inĝenierado por komencantoj. Protekti Android-aplikojn de reversa inĝenierado

Kelkfoje iu volas rigardi, kaj kio estas la plenigo de certa programo? Tiam li devas uzi reversa inĝenierado. Kio estas? Kiel funkcias? Kiel okazas ĉi tiu procezo? Pri ĉio ĉi tio vi povas lerni de ĉi tiu artikolo.

Kio estas inversaj-inĝenieraj programoj?

Jen kion la aplika procezo de analizo nomiĝas por kompreni kiel ĝi funkcias, por amuzi la procezon en la estonteco kun la necesaj ŝanĝoj. Tipe, debugger kaj kunmetanto estas uzataj por ĉi tiu celo. Dependante de la kvalito de la programaro uzita, la rezulto diferencas kaj la kvanton da tempo ĝi prenos por alporti ĝin al normala. Klarigu la reversa-inĝenierado por komencantoj plej bone bazita sur ekzemplo. Ĉar ĉi tio estos aplikaĵo por Android. Kaj nun ni ekscios, kio kaj kiel.

Uzante Android-programojn

Komence necesas klarigi iujn punktojn. Aplikoj uzas bytecode kaj LogCat. Ĉi tiuj estas lokaj analogoj de la antaŭe menciita elpurigilo kaj ensamblador. Ankaŭ necesas kompreni la strukturon de la propraj aplikoj. Do, ĉiu programo estas dosiero kun la etenda apk. Ĝi estas plenplena de zip. Ni interesiĝas pri ĝiaj enhavoj - aplikaĵoj, klasoj.dex kaj AndroidManifest.xml. Se vi estas programado sur Android, tiam demandoj kun la unua kaj la lasta ne devus esti. Sed klasoj.dex estas la bytekodo de la programo, kiu estas kompilita specife por la virtuala maŝino. Por ĉerpi el ĝi, la fonta kodo java reprezentata en interretaj rimedoj ne funkcias. Sed eblas akiri dalvik-opkodojn - specialan aron de komandoj uzataj por virtuala maŝino. Por analogio, ni povas diri, ke ĉi tiu estas la ensamblador de loka verŝado. Ankaŭ klasoj.dex povas esti igitaj dosiero kun la etenda kruĉo. Jam en ĉi tiu kazo, post ĝia malkompilaĵo, vi povas ricevi java-kodon, kiu estos pli aŭ malpli legebla. Tiel ni iros.

Decompilado

Ĉi tiu procezo fariĝos uzanta la Apk Manger-programon. Antaŭ ol vi komenciĝos, vi devas certigi, ke vi havas la ĝustan ŝoforon por la aparato, kaj ankaŭ la USB-elpurigilon. Komence, ni devos movi la dosieron, kiu komprenos la apk_manager \ place-apk-here-for-modding directive. Post tio, kuru Script.bat. Se ne ekzistas problemo, tiam komencu la konzolon, kio estos verdaj aliĝoj. Ni elektas eron nombro naŭ - "Decompile". Post kiam la procezo komenciĝas, vi ne bezonas fermi la konzolon. Tiam vi devas malfermi la apk-dosieron de intereso per la helpo de la arkivisto kaj eltiri el ĝi klasojn.dex, kiujn vi devas procesi per dex2jar. Pro la rezulto ni bezonas, ni devas movi ĝin al objekto kun la etendo .bat. Arkivo aperos, kiu finos per .jar. Dum la fenestro ne estas fermita.

Analizante la datumojn

Por ricevi informojn pri la apliko, vi devas malfermi sian manifeston. Sur ĝi ni determinas, ke ĝi agas kiel la ĉefa aktiveco. Ĝi plej gravas por ni nun. Ankaŭ estas dezirinde rigardi la fundon de la programo. Se la informo pri la permesilo-administranto estas malsupre, tiam ĉi tio signife komplikos inversan inĝenierion. Se ni ŝanĝiĝas al jd-gui kaj vastigas la arbon, ni vidos plurajn nomojn. Supozu, ke estas tri. En la unua estas dosieroj rilataj al reklamado. La dua enhavos la permesilojn de la administraj klasoj. En la tria ni havas la necesajn datumojn. En ĝi, tiam ni iros. Ĉi tie vi bezonos trovi kaj forviŝi la ŝlosilon, kaj tiam la resto de la linioj, kiuj kontrolos, ĉu la licenco versio funkcias. Ĉio ĉi devas esti purigita. Tiam en nia Apk-administrilo ni serĉas la lokon, kie la bajokodo devas esti metita. Nun ni faru iom da digresumo kaj komentu la ordonojn, kiuj eble povus kaŭzi problemojn. Post tio, ni nur devas kompili la programon.

Konstrui Aplikon

Ĉi tio helpos al ni ĉiujn samajn Apk-administranton. En la fenestro de la konzolo, kiun ni ne fermis, ni elektas eron # 14. Tiam la materio de teknologio. Se la apliko estas sufiĉe komplika, tiam ĉe la komenco, ĝi povas parte aŭ tute perdi ĝian efikecon. Ne ĝenu, ĝi signifas, ke ni estas nur duonvoje kaj ankoraŭ estas kie iri. Ni daŭre inversigas inĝenieristikon de Android-aplikoj. Por diri, ke oni devas fari en aparta kazo, ĝenerale, ne eblas. Sekve, vi trovos la problemon mem. Ekzemple, se apliko fenestro estas blokita pop-up fenestro, vi devus vidi la kodon kaj forigi la parton kiu komisias de ĉi dialogon. Helpo kun ĉi tio povas jd-gui. Kiel vi povas vidi, reversa inĝenierado ne estas facila tasko, kaj ĝi postulas konsiderindan kvanton da scio. Eĉ se ĉio komenciĝos sen problemoj, oni devos provi la funkcian kapablon de la apliko. Tio estas reversa inĝenieristiko estas ankoraŭ agrabla ago. Ni daŭre laboras ĝis ĉiuj problemoj estas identigitaj.

Sekureco

Kio se ni bezonas protekti Android-aplikojn de reversa inĝenierado? En ĉi tiu kazo, ekzistas du ebloj: la uzo de specialaj programoj aŭ la kreado de kodo-strukturo, kiu malhelpos la analizon de la skribitaĵo. Ĉi tiu lasta opcio taŭgas nur por spertaj profesiuloj, do ni konsideros nur la unuan metodon de protekto. Kiel speciala programaro ni uzas ProGuard. Ĉi tiu apliko estas uzata por redukti, malŝalti kaj optimumigi la kodon. Se la programo "kuras" per ĝi, tiam ni ricevas dosieron kun la etendo * .apk pli malgranda ol ĝi. En ĉi tiu kazo, ĝi estos multe pli malfacile malkonstrui. Kaj la avantaĝo de ĉi tiu programo estas, ke ĝi eĉ enkondukis en la sistemon de asembleo de Android-aplikoj kun ĝisdatigo de r9. Sekve, iu programisto povas uzi ĝin, kiu havas normajn ilojn por kreado kaj evoluado.

Konkludo

Oni ne povas diri, ke reversa-inĝenierado povas esti imagita kiel io uniforme malbona aŭ bona. Kompreneble, de la vidpunkto de la programistoj, kiuj kreis la aplikon, ĉi tio ne estas ĝoja evento. Sed aliflanke, en multaj kazoj, la kreado de la necesaj dosieroj de spertaj programistoj povas esti malpli da tempo ol la uzo de tiaj iloj. Kvankam por komencantoj, inversa inĝenierado povas fari bonan laborpostenon, se ne ekzistas ideo kiel efektivigi ion, eĉ proksimumaj kaj ne tute kompreneblaj skizoj povas helpi kun la atingado de la celo.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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