Carinan yek dixwaze bibînin, û bi çi zaniyariyane dagirtiye di bernameya taybet? Hingê ew bi kar berevajî-engineering. Çi ye? Çawa dixebite? vê pêvajoyê de çawa ye? Hemû ev ji te wê ji vî babetî dxwazîn hîn bibin.
a bernameyên berevajî-engineering çi ye?
So analysis serlêdana bang da ku fam çawa dixebite, da ku di pêşerojê de ji bo spehîtî, vê pêvajoyê bi çêkirina guherînên pêwîst. Bi piranî ji bo vê Debuggera bi armanc û Language bikaranîn. Dimîne li ser kalîteya ya nivîsbariyê bikaranîn cuda wê bibe û di encama li gorî dema ku divê li ser wê diçe ji bo di forma normal bînin e. Bî berevajî-engineering ji bo arşîvkirin baştirîn nimûne. Wek bajêr an serlêdana nivîskî ji bo Android bimeşîne. Niha jî em bê ku bizanin ka çi û çawa.
Kar bi Android-sepanên
Pêşî divê em ji bo zelalkirina hin xalan. Sepana zimên bytecode û LogCat. Ev rexên herêmî berê pêknehatina û Language behsa. Ev e jî pêwîst ji bo fêm de avahiya sepanên xwe. Bi vî awayî, her bernameyeke a file bi apk dirêjkirina e. Ew bi timamî zip'om. çavkaniyên serlêdana, classes.dex û AndroidManifest.xml - Em bala naveroka wê ne. Eger hûn bernameyên li ser Android, di mijarên bi berê û bi ro û divê nebe. Lê classes.dex - vê kodê byte bernameya ku bi taybetî ji bo makîne virtual berhev. Extract from source code java xwe de li ser Înternetê çi pereyên bi dest ne. Lê mimkun e ji bo bidestxistina opcodes dalvik - a taybet ji fermanên ku ji bo makîne virtual bikaranîn. Ji bo analogy em dikarin, ku ev civîn ji tofan herêmî dibêjin. Classes.dex dikare bi nav a file bi jar bîya. Heta di vê rewşê de, tu dikarî java-code piştî decompilation, ku zêdetir an kêmtir xwendin dê bibe bistînin. Ku riya ku em herin ye.
decompilation
Ev pêvajo wê ji bikaranîna bernameya Apk Manger hatiye lidarxistin. Berî ku hun dest bi get bikî, ew e ku driver, bo devaysa û bikêrhatî ji moda USB-neqandina hene. Di destpêkê de, divê em wê to move the file ku wê bê nav a apk_manager \ directive cihê-apk-here-bo-Modding lêhûrbûnê. Piştî ku ji te re pêwîst Script.bat birêvebirin. Ger problem tunene, paşê dest bi konsolê, ku wê bibin lettering kesk. "Decompile" - hejmara xala neh Select. Piştî ku pêvajoya dest pê kirin, bi girtina konsolê re ne pêwîst e. Hingê, bala vekirî apk-file bikaranîna Archiver û jêgirtina ji classes.dex, ji bo dex2jar bernameya vehûnandin. Ji bo me di encama pêwîst ew to move an object bi .bat dirêjkirina pêwîst e. Tu dê file, ku li .jar dawî hûnê bibînin. Heta niha, Pace nayê girtinê.
em analîz welat
Ji bo agahiyên li ser sepana, tu divê ew eşkere veke. Li gorî wê, em diyar dikin ku weke kiryara serekî tevbigere. Ev ew bû ku niha gelekî girîng e ji bo me pêktîne. Ev e jî gotineke ku li jêrî ya bernameya binêre. Heke jêr agahiyên der barê Rêveberê lîsansê e, ew bi awayekî dijwar avabûye ji bo engineering berevajî ye. Ger tu ji bo JD-gui û berfereh dara, em dikarin çend navan bibînin. Texmîn dikin ku sê ji wan. Di ya yekem de pelên têkildar bi reklaman in. Ya duyem jî dê bibin dersên manager lîsansa. Di sêyem, em li daneyên pêwîst in. Ev dema ku em herin. Divê dê bibînin û jê bi key, û paşê yên din jî bi xeta ku seke, ku Behadîn Versiyon ji bo kar. Hemû van divê were paqijkirin. Hingê li Manager Apk me digerin, ji bo cihê ku cihê xwe dişinî bytecode. Niha werin em bikin navbend biçûk û şîrove ji tîma, ku bi potansiyelî dikarin sedema pirsgirêkan. Piştî ku, em tenê ji bo ku çêkirina bernameya.
ava sepanên
Ev ji me re hemû di heman Manager Apk alîkariya wê. Li konsolê, ku em ne kilîtkirî hatine, babete №14 hilbijêre. trick Next. Heke sepana bêtir aloz û tevlihev e, gava ku tu dest pê bike, ev bi qismî an bi temamî dibe ku karîgeriya wê winda bike. Xem neke, ev tê wê wateyê ku em ne bi tenê dikarî derecebilind li wir û li cîhekî din ku here. Em berdewam avabûye ji bo berevajî-engineering-Hemû sepanên Android. Dibêjin, çi bikim di doza bi taybetî jî, di warê giştî de, mixabin, ne mimkun e. Ji ber vê yekê, va ne ji bo heremê pirsgirêka xwe bi xwe wê. Ji bo nimûne, eger pace serlêdana asteng kirin window pop-up, divê tu code dibînin û jê beşa e ku ji bo vê diyalogê de. Ji bo alîkarîya vê dikarin jd-gui. Wek ku hûn dibînin, endazyarî berevajî e karekî ne hêsan e, û pêwîstî bi store berçav ji zanînê. Heta ku her tişt, bêyî ku ti pirsgirêk birevin, wê pêwîst be ji bo ceribandinê bi performansa sepanên be. Ku, berevajî-engineering çalakiyên dem-dixwe û zêdetir e. Em dewam bikî heta hemû pirsgirêkên tên tesbîtkirinê.
ewlekarî
Çi ye eger em divê parastina Hemû Android-sepan ji endezyariya berevajî? Di vê rewşê de, ne du rêken: bikaranîna bernameyên taybet an jî ji bo avakirina avahiya koda ku mudaxele dê ji bo ku parsing hatiye nivîsîn. Vebijêrka ro minasib profesyonel bi tenê jiyan e, da em dê bi tenê metoda yekem de ji bo parastina çavan. Wek bikaranîna software ProGuard şareza. Ev sepan, ya ku tê bikaranîn ji bo kêmkirina, obfuscation û optimization code. Heke ku bernameya "chase" bi riya ew, em pel bi berfirehkirina * .apk biçûk ji wî mezintir bû bistînin. Di vê rewşê de ew ê bi awayekî pir dijwar ji bo disassemble. Û sûd ji vê bernameyê ew e ku hatiye heta li ser sepanên Android build bi updates r9 nasand. Ji ber vê yekê, sûd ji ew ti pêşvebirinê ku amûrên standard ên afirandinê û pêşketinê ye.
encamê de
Em nikarin bêjin ku berevajî-engineering dikare wekî tiştekî yeknijadî baş e an xirab temsîlkirin. Bê guman, ji ya nihêrîna bo pêşdebiran dibe, ku serlêdana afirandin kirine, ew e ku bûyer ne razî ne. Lê li aliyekî din jî, di gelek dozan de bernamenûs, nivîsandina pelên pêwîst dikarin demeke biha kêmtir ji bikaranîna van amûran jiyîn. Tevî ku ji bo pêşdebiran novice berevajî-engineering dikarin xizmeteke baş kirinê, eger tu fikra çawa ji bo bicihanîna tiştekî, heta îdolojiya li wir, û ne pir outline zelal dikarin bi pêkanîna vê armancê alîkarî.