apk වෙනස් කිරීමේ වැඩසටහන. ඇන්ඩ්රොයිඩ් පද්ධති යෙදුම් සංස්කරණය කිරීමේ මූලික කරුණු (apk). APK පැකේජ සකස් කිරීම සහ ඒවා ලබා ගැනීම

APK යනු සංරක්ෂිත ක්‍රියාත්මක කළ හැකි යෙදුම් ගොනු සඳහා Android මෙහෙයුම් පද්ධතියේ භාවිතා වන ආකෘතියකි. උදාහරණයක් ලෙස, වින්ඩෝස් හි ඇනෙලොග් යනු .msi, Symbian - .sis, Linux හි - .rpm හෝ .deb වේ. මෙම ලිපියෙන් අපි මෙම ගොනු ආකෘතිය සම්බන්ධ සියලු ගැටළු හැකි තරම් විස්තරාත්මකව තේරුම් ගනිමු.

"නිවැරදිව" විසුරුවා හැරීම, සංස්කරණය කිරීම සහ එකලස් කිරීමේ ක්රියාවලිය ප්රතිලෝම-ඉංජිනේරු ලෙස හැඳින්වේ. මේ සඳහා අවශ්ය වන්නේ කුමක්ද? පහත සඳහන් මෙවලම් අවශ්ය වේ:

ඇප්ක්ටූල්. SmartApktool කවචය සමඟ භාවිතා කිරීම වඩාත් පහසු වේ; ඔබට සූදානම් කළ කණ්ඩායම් ගොනු ද භාවිතා කළ හැකිය, උදාහරණයක් ලෙස ApktoolBAT.

Notepad++ - අවශ්ය නොවේ, නමුත් ඉතා නිර්දේශිතයි.

7zip හෝ WinRar, හෝ වෙනත් ලේඛනාගාර වැඩසටහනක්, නමුත් මෙයින් එකක් නිර්දේශ කෙරේ.

Deodexed ස්ථිරාංග.

ඇන්ඩ්රොයිඩ් මෙහෙයුම් පද්ධතියේ යෙදුම් ස්ථාපනය කිරීමට ක්රම කිහිපයක් තිබේ. පළමු, ද ප්රධාන එක, සෘජුවම Google Play (Android Market) හරහා, එනම්, නිල මූලාශ්රයකින්, Google ගිණුමක් අවශ්ය වේ. බොහෝ යෙදුම් ගෙවනු ලැබේ, ඔබට සොරකම් කරන ලද අඩවි වල හැක් කළ අනුවාදයක් සෙවීමට අවශ්‍ය නැතිනම්, ඔබට මිලදී ගැනීම සඳහා ගෙවීමට සිදුවේ. නමුත් අපි මෙය කරන්නේ කෙසේද යන්න ගැන කතා කරමු. දෙවැන්න ගූගල් ප්ලේ හැර වෙනත් නිල නොවන ප්‍රභවයන්ගෙන් වන අතර, ඒ සඳහා ඔබට ඔබගේ ස්මාර්ට් ජංගම දුරකතනයේ හෝ ටැබ්ලටයේ සැකසුම් තුළ “නිල නොවන ප්‍රභවයන්ගෙන් යෙදුම් ස්ථාපනය කිරීමට ඉඩ දෙන්න” විකල්පය සක්‍රීය කිරීමට සිදුවනු ඇත, ඉන්පසු APK ස්ථාපන ගොනුව මතකයට ලිවිය යුතුය. කාඩ්පත.

APK යෙදුම් තොග වශයෙන් ස්ථාපනය කිරීමට ද හැකිය. මෙය සිදු කිරීම සඳහා, ඔබට Astro ගොනු කළමනාකරු අවශ්ය වනු ඇත - විශේෂ ගොනු කළමනාකරු. එය ස්ථාපනය කිරීමෙන් පසු, යෙදුම් ගෙනයන්න:

ස්මාර්ට් ජංගම දුරකතනයකින්/ටැබ්ලටයකින්: තුළ mntsdcardackupsapp(වෙනත් වචන වලින් කිවහොත්, මතක කාඩ්පත, පසුව උපස්ථ ෆෝල්ඩරය, යෙදුම් ෆෝල්ඩරය)

පුද්ගලික පරිගණකයකින් (සරල USB ධාවක ආකාරයෙන් Android උපාංගයේ සම්බන්ධතාවය සක්රිය කිරීමට අමතක නොකරන්න): sdcardඋපස්ථයෙදුම

ඉන්පසු අපේක්ෂිත යෙදුම විවෘත කරන්න, සන්දර්භය මෙනුවේ "යෙදුම් කළමණාකරු" තෝරන්න සහ "උපස්ථ" ටැබයට යන්න, එහිදී අපි "දිගු ක්ලික් කරන්න හෝ ස්ථාපනය කිරීමට යෙදුම පරීක්ෂා කරන්න" තෝරන්න. "ස්ථාපනය කරන්න" බොත්තම ක්ලික් කරන්න - ඔබගේ උපාංගයේ සියලුම යෙදුම් ස්ථාපනය කෙරේ.

APK ගොනුවක ව්‍යුහය කුමක්දැයි බැලීම ඉතා පහසුය. සංරක්ෂිත වැඩසටහනක් භාවිතයෙන් අපේක්ෂිත APK විවෘත කරන්න, උදාහරණයක් ලෙස WinRar. මෙන්න අපි ඇතුළත දකින දේ:

AndroidManifest.xmlයෙදුමේ ඇති දේ විස්තර කරන "විදේශ ගමන් බලපත්‍රය" වර්ගයකි, ඇතුළත්ව: යෙදුම සඳහා පද්ධති අවශ්‍යතා, එහි ව්‍යුහය සහ අනුවාදය.

META-INF- ගොනුව අඩංගු ෆෝල්ඩරය MANIFEST.MF(එය ඕනෑම පෙළ සංස්කාරකයක් සමඟ විවෘත කළ හැක, Notepad ++ භාවිතා කිරීම රෙකමදාරු කරනු ලැබේ), විවෘත කිරීමෙන් ඔබට SHA-1 චෙක්සම් සහ දත්ත මාර්ග, මැනිෆෙස්ට්-අනුවාද සම්මතයේ අනුවාදය, RSA හෝ DSA සහතික ගොනු, SF දැකිය හැකිය. ගොනුවේ විවිධ සම්පත් සඳහා මාර්ග සහ ඒවායේ චෙක්සම් අඩංගු වේ. සාමාන්‍යයෙන්, META-INF යනු පාර-දත්ත ගොනු, එනම් දත්ත පිළිබඳ දත්ත වේ.

res- උප ෆෝල්ඩර වලට වර්ග කර ඇති සියලුම "මෘදුකාංග පිරවුම්" සම්පත් අඩංගු ෆෝල්ඩරයක්. උදාහරණයක් ලෙස, ~drawable~ ෆෝල්ඩරයේ යෙදුම්වල චිත්‍රක මූලද්‍රව්‍ය (විවිධ තත්ව, අයිකන, ආදිය) අඩංගු වන අතර, පිරිසැලසුම් නාමාවලියෙහි චිත්‍රක පරිශීලක අතුරුමුහුණත් (GUI) මූලද්‍රව්‍ය ස්ථානගත කිරීම පෙන්නුම් කරන XML ගොනු අඩංගු වේ.

class.dex- Dalvik VM අතථ්‍ය යන්ත්‍රය මඟින් ක්‍රියාත්මක කරන ලද වැඩසටහන් කේතය. ඇන්ඩ්‍රොයිඩ් මෙහෙයුම් පද්ධතිය ලිනක්ස් කර්නලය සහ ජාවා අථත්‍ය යන්ත්‍රයේ මිශ්‍රණයක් බව අපි මතක තබා ගනිමු.

සම්පත්.arsc- සම්පාදනය කරන ලද XML ගොනුව. වැඩසටහන මඟින් භාවිතා කරන සියලුම සම්පත් පිළිබඳ දත්ත එහි අඩංගු වේ.

වත්කම්- විවිධ සම්පත් අඩංගු ෆෝල්ඩරයක්; එය කිසිසේත් APK හි නොතිබිය හැකිය.

lib- "ලිබ්ස්" අඩංගු ෆෝල්ඩරයක් හෝ, වඩාත් සරලව, ස්වදේශීය පුස්තකාල, වැඩසටහන ලියා ඇත්තේ NDK භාවිතයෙන් නම්, උදාහරණයක් ලෙස C++ විට මූලද්රව්ය සමඟ. මෙම නාමාවලිය APK හි නොතිබිය හැකිය.

com- APK හි නොතිබිය හැකිය.

org- APK හි නොතිබිය හැකිය.

udk- APK හි නොතිබිය හැකිය.

අපි APK යෙදුමේ අන්තර්ගතය සමඟ කටයුතු කර ඇත, දැන් අපි එහි සවිස්තරාත්මක විසුරුවා හැරීමට යමු. විසංයෝජනය සඳහා ඔබට Apktool සහ Java මෙන්ම APK ගොනුව අවශ්‍ය වේ. Apktool නාමාවලියකට අසුරන ලෙස නිර්දේශ කෙරේ C:වින්ඩෝස්(මෙය අවශ්ය නොවේ, නමුත් එය වඩාත් පහසු වනු ඇත. ඇයි - ටිකක් පහළ කියවන්න).

Apktool දියත් කිරීම සඳහා, ඔබ ඔබේ පරිගණකයේ "ධාවනය" මෙනුව ඇතුළත් කළ යුතුය. Windows XP මත ක්ලික් කරන්න ආරම්භය -> ධාවනය කරන්න, Windows 7 මත: කාර්ය කළමනාකරු ( Ctrl+Alt+ඩෙල්), පතන මෙනුවේ ඉහළින් ගොනුව -> නව කාර්යය (ධාවනය...), හෝ යතුරුපුවරු කෙටිමඟක් සමඟ එය අමතන්න Win+R.

විධාන රේඛාව අමතන්න - ලියන්න cmd, ඉන්පසු අපි Apktool දියත් කරමු - ලියන්න apktool(මෙම කාර්යය සඳහා එය WINDOWS ෆෝල්ඩරයේ තැබීමට අවශ්ය විය). තවද, සියලු පාලනය පරාමිති භාවිතයෙන් විධාන රේඛාව හරහා සිදු වේ.

ඔබට නිරන්තරයෙන් පෙළ විධාන ඇතුළත් කිරීම ගැන කරදර වීමට අවශ්‍ය නැතිනම්, ඔබට චිත්‍රක අතුරු මුහුණතක් භාවිතා කළ හැකිය - උදාහරණයක් ලෙස, සඳහන් කළ SmartApkTool. SmartApkTool.exe දියත් කරන්න, ඉන්පසු Unpack/Pack පටිත්තෙහි අපේක්ෂිත APK යෙදුම තෝරන්න (ගොනු නාමයේ හිස්තැන්, සිරිලික්, විශේෂ අක්ෂර සහ විරාම ලකුණු අඩංගු නොවීම වැදගත් වේ).

ඉවත් කිරීමෙන් පසු, වැඩසටහන APK ගොනුව ලෙස එකම නම සහිත ෆෝල්ඩරයක් සාදනු ඇත. එය ඇතුළත යෙදුමේ සියලුම අන්තර්ගතයන් වනු ඇත.

APK ද ස්ථානගත කළ හැක. අපි මෙය ආරම්භ කිරීමට පෙර, අපි කලින් ස්ථාපනය කර ඇති Notepad ++ දියත් කර එය පහත පරිදි වින්‍යාස කරමු. විවෘත සැකසීම් -> වින්‍යාසය -> නව ලේඛනය.

මෙම පියවරයන් පසු, unpacked (decompiled) යෙදුම, ෆෝල්ඩරය විවෘත කරන්න res/අගයන්.

සියලුම ස්ථානගත කිරීම් බොහෝ විට ගොනුවේ පිහිටා ඇත නූල්.xml, නමුත් සමහර විට ඒවායින් සමහරක් අඩංගු විය හැක අරා.xml. මෙම ගොනු පිටපත් කර ෆෝල්ඩරයක සාදන්න resෆෝල්ඩරය අගයන්-ruසහ ඒවාට ඇතුල් කරන්න.

දැන් ඔබට විවෘත කළ හැකිය නූල්.xml Notepad++ භාවිතා කරමින්, පරිවර්තනය සිදු කර වෙනස් කළ ගොනුව සුරකින්න.

ගොනුවේ AndroidManifest.xml APK යෙදුම් ස්ථාපනය කරන්නේ කොතැනද යන්න ඔබට සඳහන් කළ හැක. අවධානය යොමු කරන්න, මෙය අදාළ වන්නේ Android 2.2 සහ නව අනුවාදය සඳහා පමණි. එබැවින්, Notepad ++ භාවිතයෙන් නිශ්චිත ගොනුව විවෘත කරන්න. ආරම්භයේදීම ඔබට පරාමිතිය දැකිය හැකිය:

මෙහිදී ඔබට පහත විකල්ප සඳහන් කළ හැක ("=" සංකේතයට පසුව):

අභ්යන්තර පමණි- යෙදුම ස්ථාපනය කරනු ලබන්නේ උපාංගයේ අභ්‍යන්තර මතකයේ පමණි

ස්වයංක්‍රීය- අභ්‍යන්තර මතකයේ හෝ මතක කාඩ්පතක යෙදුම ස්ථාපනය කිරීමේ තේරීම පරිශීලකයාට සපයයි

කැමති බාහිර- වැඩසටහන මතක කාඩ්පත මත ස්ථාපනය කෙරේ. බාහිර ධාවකයක් මත ස්ථාපනය කර ඇත්නම්, සියලුම යෙදුම් නිවැරදිව ක්රියා නොකරනු ඇති බව සැලකිල්ලට ගත යුතුය, නැතහොත් සියල්ල ක්රියා නොකරනු ඇත. මේවාට ඇතුළත් වන්නේ:

සේවා- එනම් සේවා

අනතුරු ඇඟවීමේ සේවා- අනතුරු ඇඟවීමේ ඔරලෝසු වැනි කාලය භාවිතා කරන සේවාවන්

ආදාන ක්‍රම එන්ජින්- විවිධ යතුරුපුවරු ඇතුළුව ආදාන යෙදුම්

සජීවී බිතුපත්- "සජීවී" සජීවිකරණ බිතුපත

සජීවිෆෝල්ඩර- පිළිවෙලින්, සජීවිකරණ නාමාවලි

යෙදුමවිජට්- විවිධ "විජට්"

ගිණුමකළමනාකරුවන්- ICQ සේවාලාභීන්, සමාජ ජාල සඳහා සේවාදායකයින් ඇතුළු විවිධ ගිණුම්වල කළමනාකරුවන් යනාදිය

සමමුහුර්ත ඇඩැප්ටර- නිරන්තර සමමුහුර්තකරණය අවශ්ය වන වැඩසටහන්

උපාංගයපරිපාලකයින්- පරිපාලනය සඳහා භාවිතා කරන යෙදුම්

පිටපත් ආරක්ෂණය- පිටපත් කිරීමෙන් ආරක්ෂා කර ඇති යෙදුම්.

යෙදුම තුළ, ඔබට පරිශීලක අතුරුමුහුණතේ විවිධ අයිකන සහ චිත්‍රක මූලද්‍රව්‍ය ඔබේම දෑ සමඟ සංස්කරණය කර ප්‍රතිස්ථාපනය කළ හැකිය. මෙය සිදු කිරීම සඳහා, ෆෝල්ඩරය විවෘත කරන්න resවිසංයෝජනය කරන ලද APK යෙදුම සහිත ෆෝල්ඩරයේ, ඔබට මෙහි ෆෝල්ඩර දැකිය හැකිය:

ඇඳීම-hdpi

drawable-ldpi

මෙම ෆෝල්ඩරවල සියලුම අයිකන සහ වැඩසටහනේ අනෙකුත් ග්‍රැෆික් අංග අඩංගු වේ. "dpi" ට පෙර අකුරෙන් අදහස් වන්නේ පිළිවෙලින් ග්‍රැෆික් මූලද්‍රව්‍යවල ප්‍රමාණයයි:

hdpi -අඟලකට අධික ඝනත්ව තිත්, ප්‍රමාණය 72x72 පික්සල

mdpi -අඟලකට සාමාන්‍ය තිත් ඝනත්වය, ප්‍රමාණය 48x48 පික්සල

එල්dpi -අඟලකට අඩු තිත් ඝනත්වය, ප්‍රමාණය 36x36 පික්සල

වෙනස් කිරීම සඳහා, උදාහරණයක් ලෙස, යෙදුම් නිරූපකය, ගොනුව විවෘත කරන්න AndroidManifest.xml Notepad ++ වැඩසටහන භාවිතා කරමින්, අයිකනය දක්වා ඇති රේඛාව සොයන්න, එහි නියම නම බලන්න (ගොනු දිගුව ලියා නොමැති බව සලකන්න, ගොනුවේ නම පමණක්).

අදාළ ෆෝල්ඩරය විවෘත කරන්න ඇද ගත හැකි -*dpi,සංස්කරණය කළ හෝ නව නිරූපකය ඇතුළු කරන්න, මුල් නම දෙවරක් පරීක්ෂා කිරීමට අමතක නොකරන්න AndroidManifest.xml. රූපය .png ආකෘතියෙන් විය යුතු අතර මූලාශ්‍ර ගොනුවට හරියටම සමාන පික්සල් ඝනත්වයක් තිබිය යුතුය, උදාහරණයක් ලෙස hdpiඑය පික්සල 72x72 වේ.

ඔබට අයිකනයේ නම ඔබේම නමෙන් ප්‍රතිස්ථාපනය කිරීමට අවශ්‍ය නම්, අවශ්‍ය ගොනු නාමය සමඟ පින්තූරය සුරකින්න ඇද ගත හැකි -*dpi, ඉන් පසුව අපි හරියටම එකම නම සඳහන් කරන්නෙමු AndroidManifest.xml(උදාහරණ වශයෙන් android:icon=”@drawable/පරීක්ෂණය") එලෙසම, ඔබට වෙනත් ඕනෑම ග්‍රැෆික් මූලද්‍රව්‍ය වෙනස් කළ හැක, නමුත් අවශ්‍යතා සමාන වේ - දිගුව .png විය යුතු අතර අඟලක ඝනත්වයේ තිත් ප්‍රභව ගොනුවට සමාන වේ.

ඇසුරුම් නොකළ යෙදුම තුළ, ඔබට එහි ඇති අයිතිවාසිකම් මොනවාදැයි දෙවරක් පරීක්ෂා කළ හැකිය. APK නාඳුනන මූලාශ්‍රයකින් ස්ථාපනය කර ඇත්නම් සහ ෆ්ලෑෂ් ලයිට් හෝ ලස්සන දින දර්ශනයක් හදිසියේම නොදන්නා අංකයකට ගෙවූ SMS පණිවිඩ යැවීමට පටන් ගන්නා තත්වයක් වළක්වා ගැනීමට මෙය ප්‍රයෝජනවත් වේ. විවෘත AndroidManifest.xml Notepad ++ වැඩසටහන සහ අනුරූප රේඛා සොයන්න. කෙටි පණිවුඩ යැවීම සඳහා, උදාහරණයක් ලෙස, පරාමිතිය වගකිව යුතුය SMS යවන්න. යෙදුමකට ලබා ගත හැකි සියලුම හිමිකම් ගැන ඔබට වැඩිදුර කියවිය හැකිය.

ස්ථාපිත APK යෙදුම් පද්ධතියෙන් උපුටා ගත හැක. මෙය ක්රම කිහිපයකින් කළ හැකිය. පළමුව, ඔබට Astro ගොනු කළමනාකරු ස්ථාපනය කළ හැකිය. යෙදුම විවෘත කරන්න, පසුව සන්දර්භය මෙනුවෙන් "යෙදුම් කළමනාකරු" තෝරන්න. අපි අවශ්‍ය යෙදුම සොයන්නෙමු, එය සලකුණු සලකුණකින් සලකුණු කර උපස්ථ පිටපතක් සාදන්න. සැකසීමෙන් පසු, තෝරාගත් යෙදුම මාර්ගය ඔස්සේ පිහිටා ඇත:

mntsdcardackupsapp

sdcardackupsapp

ඊළඟට, ඔබට Root Uninstaller වැඩසටහන භාවිතා කළ හැකිය. දියත් කළ පසු, යෙදුම ස්වයංක්‍රීයව ස්ථාපනය කර ඇති සියලුම APK හඳුනාගෙන ඒවා සියල්ලම ස්වයංක්‍රීයව උපස්ථ කරයි. ඒ අනුව, ඔබට අවශ්‍ය නම්, තවදුරටත් විසංයෝජනය කිරීම සඳහා මෙම උපස්ථ පිටපත් පිටපත් කළ හැකිය; ඒවා මාර්ගය ඔස්සේ පිහිටා ඇත:

mntsdcardRootUnistallerautobackups(Android උපාංගයකින් සෘජුවම බලන විට)

sdcardRootUnistallerautobackups(පරිගණකයක් හරහා බැලූ විට, ඇන්ඩ්රොයිඩ් උපාංගය USB ධාවකයක් ලෙස සම්බන්ධ කර ඇත).

තවත් ක්රමයක් නම් Root Browser Lite භාවිතා කිරීමයි, ඇත්ත වශයෙන්ම ඔබට මේ සඳහා Root අයිතිවාසිකම් අවශ්ය වනු ඇත. මෙම යෙදුම විවෘත කර මාර්ගය අනුගමනය කරන්න:

පද්ධතියෙදුම(ඔබ පද්ධති යෙදුම් ගැන උනන්දුවක් දක්වන්නේ නම්).

අපි අවශ්‍ය යෙදුම් මතක කාඩ්පතට පිටපත් කරන්නෙමු, ඉන්පසු ඔබට ඒවා සමඟ ඕනෑම හැසිරවීමක් කළ හැකිය.

ඔබට Google Play (Android Market) වෙතින් ඔබ කැමති APK යෙදුම් ඔබේ පුද්ගලික පරිගණකයට කෙලින්ම බාගත කළ හැකිය. මෙය සිදු කිරීම සඳහා, ඔබට ගූගල් ක්‍රෝම් බ්‍රව්සරය (අනුවාදය 17 ට නොඅඩු), සහ ඒ සඳහා ප්ලගිනයක් අවශ්‍ය වේ - APK බාගත කරන්නා. නිශ්චිත ප්ලගිනය බාගත කර ස්ථාපනය කිරීමෙන් පසුව, ගූගල් ක්‍රෝම් බ්‍රවුසර කෙටිමඟේ පිටපතක් සාදන්න, එහිදී අපි ඉඩකට පසුව පහත පේළිය ලියන්නෙමු:

-නොසලකන්න-සහතික-දෝෂ

සම්මත බ්‍රව්සර් ස්ථාපන මාර්ගය සමඟ, රේඛාව මේ ආකාරයෙන් දිස්විය යුතුය:

"C:Program FilesGoogleChromeApplicationchrome.exe" -ignore-certificate-errors

ඊට පසු, ස්මාර්ට්ෆෝන් ඩයලර් ඇතුල් කරන්න:

*#*#8255#*#*

අපි අක්ෂර 16 කින් සමන්විත උපාංග හැඳුනුම්පත නැවත ලියන්නෙමු. නිශ්චිත පරාමිතිය සමඟ සාදන ලද කෙටිමඟ භාවිතයෙන් Google Chrome විවෘත කරන්න -නොසලකන්න-සහතික-දෝෂ, අපි යමු මෙවලම් -> දිගු(ඔබට ලිපින තීරුවේ "chrome://settings/extensions" ඇතුලත් කළ හැක), APK බාගැනීම් ප්ලගිනයේ සිටුවම් විවෘත කරන්න. විකල්පයන් තුළ, ඔබගේ Google ගිණුමේ ඊමේල් ලිපිනය සහ මුරපදය මෙන්ම ලැබුණු උපාංග හැඳුනුම්පත ඇතුළත් කරන්න. දැන් Google Play (Android Market) වෙත යන්න, අවශ්ය යෙදුම සමඟ පිටුව විවෘත කරන්න, එය සම්පූර්ණයෙන්ම බාගත කිරීම සඳහා රැඳී සිටින්න. APK බාගැනීම් නිරූපකය දිස්වනු ඇත - එය ක්ලික් කිරීමෙන් පසුව, යෙදුම ඔබේ පරිගණකයට බාගත කරනු ලැබේ.

ඔබට අපගේ වෙබ් අඩවියෙන් ඇන්ඩ්‍රොයිඩ් සඳහා බාගත කළ හැකි Apk සංස්කාරක ප්‍රෝ, ජංගම උපාංග සඳහා ඕනෑම යෙදුමක ගොනුවල අන්තර්ගතය හැක් කිරීමට/වෙනස් කිරීමට සහ ඔබේ අභිමතය පරිදි එය අභිරුචිකරණය කිරීමට ඔබට ඉඩ සලසයි.

විශේෂතා

මෙම වැඩසටහන වෘත්තීය උපයෝගීතාවයක් වන අතර, උසස් පරිශීලකයින් අතට, ඇන්ඩ්රොයිඩ් සඳහා යෙදුම් සංස්කරණය කිරීම සඳහා බලවත් මෙවලමක් බවට පත්විය හැකිය. පුද්ගලික පරිගණක සඳහා සමාන මෘදුකාංග වලින් ක්රියාකාරීත්වය ප්රායෝගිකව වෙනස් නොවේ.

මෙම උපයෝගීතාවයට කුමක් කළ හැකිද?

  1. වෙනත් යෙදුම්වල නම් වෙනස් කරන්න (පරිවර්තනය කරන්න).
  2. ගෘහ නිර්මාණ පිරිසැලසුම්, වර්ණ, ග්‍රැෆික් සැකසුම් සැකිලි (උදාහරණයක් ලෙස, අයිකන ප්‍රමාණය) වෙනස් කරන්න.
  3. ශබ්ද නිර්මාණය, මාධ්ය ගොනු වෙනස් කරන්න.
  4. වෙළඳ දැන්වීම් ඉවත් කරන්න.
  5. ගෙවූ අන්තර්ගත අවහිර කිරීම මගහරින්න.
  6. උපාංගයේ අභ්‍යන්තර මතකයෙන් යෙදුමක් SD කාඩ්පතකට මාරු කරන්න.
  7. විභේදනය වෙනස් කරන්න සහ තවත් බොහෝ දේ.

උපයෝගීතාව භාවිතා කරන්නේ කෙසේද යන්න තේරුම් ගැනීමට, ඔබට apk සංස්කාරක pro බාගත කර මෙනුව වෙත යන්න. ඉන්පසු Android මත දැනටමත් ස්ථාපනය කර ඇති යෙදුමක් හෝ එහි apk ගොනුව තෝරන්න. මෙයින් පසු, පෙරනිමි දත්ත විවෘත වනු ඇත, එය පරිශීලකයාට වෙනස් කළ හැකිය:

  • සංස්කරණ සම්පත්;
  • ගොනු ප්රතිස්ථාපනය කිරීම;
  • සාමාන්ය සංස්කරණය;
  • දත්ත සංස්කරණය.

නවීකරණය කරන ලද අනුවාදය ස්ථාපනය කිරීමට වැඩසටහන ඉදිරිපත් කරයි. මෙය සෑම අවස්ථාවකදීම ක්‍රියා නොකරයි, එබැවින් පැරණි අනුවාදය අතින් අස්ථාපනය කර නව එක ස්ථාපනය කළ යුතුය. මකාදැමීමෙන් පසු, ඔබ ඇන්ඩ්රොයිඩ් මත වැඩසටහන් අතර apk සංස්කාරක ෆෝල්ඩරය (පහසුව සඳහා, ඔබට ES Explorer භාවිතා කළ හැකිය) තෝරාගත යුතු අතර වෙනස් කරන ලද යෙදුම් ගොනුව සොයාගෙන එය උපාංගය මත ස්ථාපනය කරන්න.

වැඩසටහනට පරිශීලක-හිතකාමී අතුරු මුහුණතක් ඇත. සංචාලනය තරමක් සරල ය, නමුත් එය තේරුම් ගැනීමට පරිශීලකයාට ඉංග්‍රීසි පිළිබඳ මූලික දැනුමක් තිබිය යුතුය.

වාසි සහ අවාසි

  1. මෙම වැඩසටහන පරිශීලකයාට යෙදුම් අභිරුචිකරණය සඳහා පුළුල් පරාසයක විකල්ප විවෘත කරයි.
  2. මෙනුවෙහි උපකාරක අංශයක් අඩංගු වේ, එය සරලව සහ විස්තරාත්මකව සංස්කාරක වැඩසටහනේ හැකියාවන් විශාල සංඛ්යාවක් විස්තර කරයි. එබැවින්, වැඩසටහන්කරණයෙන් ඈත්ව සිටින පරිශීලකයින්ට තෙවන පාර්ශවීය සම්පත් පිළිබඳ උදාහරණ සහ සංස්කරණ උපදෙස් සෙවීමට සිදු නොවේ.
  3. ඔබට අපගේ වෙබ් අඩවියෙන් නොමිලේ වැඩසටහන බාගත කළ හැකිය.

මෙම උපයෝගීතාව භාවිතා කිරීම සඳහා යම් නිපුණතා සහ දැනුමක් අවශ්ය වේ. අද්දැකීම් අඩු පරිශීලකයෙකුගේ අතේ, සංස්කරණය කිරීම ගොනු පද්ධතියේ අඛණ්ඩතාව උල්ලංඝනය කිරීමට හේතු විය හැක, එය අවසානයේ යෙදුම් අසාර්ථකත්වයට හේතු වනු ඇත. උපකාරක අයිතමයේ ඇති මෙනුවේ පින්තූර සමඟ පරිවර්තන උදාහරණ සහ Android මත apk සංස්කාරක pro නිවැරදිව භාවිතා කරන්නේ කෙසේද යන්න පිළිබඳ ඉඟි ඇත. එමනිසා, ඔබට මෙම වැඩසටහන තේරුම් ගැනීමට අවශ්ය නම්, උපදෙස් අනුගමනය කරන්න.

අපහසු යෙදුම් අතුරුමුහුණත (රුසියානු භාෂාව නොමැතිකම, නිරන්තර වෙළඳ දැන්වීම්, බැනර් ආදිය) මුහුණ දෙන අය සඳහා සංස්කාරකය තරමක් ප්රයෝජනවත් මෙවලමකි. ඔබ දැනටමත් මෙම වැඩසටහන භාවිතා කර ඇත්නම්, අදහස් දැක්වීමේදී ඔබේ හැඟීම් පහතින් බෙදා ගන්න.

මෙම ලිපියෙන් ඔබ ඇන්ඩ්‍රොයිඩ් යෙදුම සමන්විත වන්නේ කුමක්ද, APK ගොනුවක් විවෘත කරන්නේ කෙසේද සහ කුමන වැඩසටහන් සමඟද යන්න ඉගෙන ගනු ඇත.

APK ගොනුවක් යනු කුමක්ද?

APK යනු සංරක්ෂිත ක්‍රියාත්මක කළ හැකි යෙදුම් ගොනු සඳහා භාවිතා කරන ඇන්ඩ්‍රොයිඩ් මෙහෙයුම් පද්ධතියේ ආකෘතියක් වන අතර, ගොනුවේ නම ඕනෑම දෙයක් විය හැකි නමුත්, දිගුව දිස්විය යුත්තේ this.apk ලෙස පමණි. අනෙකුත් මෙහෙයුම් පද්ධතිවල APK ප්‍රතිසමයන් වන්නේ Windows හි .msi, Symbian හි .sis, Linux හි .rpm හෝ .deb වේ.

අපි බලමු ඇතුලේ මොනවද තියෙන්නේ කියලා
ඇත්ත වශයෙන්ම, .apk යනු ZIP සංරක්ෂිතයකි, එබැවින් ඔබට ඕනෑම ගොනු කළමනාකරුවෙකු හෝ සංරක්ෂිතයක් භාවිතයෙන් අභ්‍යන්තර උපාංගය දෙස බැලිය හැකිය, උදාහරණයක් ලෙස WinRAR හෝ X-plore ජංගම යෙදුම.





ඔබට අභ්‍යන්තර සම්පත් සඳහා දෘශ්‍ය ප්‍රවේශය පමණක් ලැබෙන බව මතක තබා ගැනීම වටී; සංස්කරණ හැකියාවන් අතිශයින් සීමිතය.
අපි ව්යුහය දෙස බලමු
.apk තුළ අපට ගොනු සහ ෆෝල්ඩර ගණනාවක් පෙනේ, ඒවා මොනවාදැයි සොයා බලමු:
  • AndroidManifest.xml යනු ඔබට ප්‍රධාන කරුණු, අවශ්‍යතා, අනුවාදය, අවසරයන් යනාදිය සොයා ගත හැකි යෙදුමේ "විදේශ ගමන් බලපත්‍ර" වර්ගයකි.
  • META-INF මෙම ගොනුවේ පාර-දත්ත, එනම් දත්ත පිළිබඳ දත්ත, චෙක්සම්, දත්ත වෙත මාර්ග, මාර්ග සහ සම්පත් චෙක්සම්, සහතික අඩංගු වේ. ඔබට ඕනෑම පෙළ සංස්කාරකයක් සමඟ මෙම ගොනුව විවෘත කළ හැක, නමුත් Notepad++ භාවිතා කිරීම රෙකමදාරු කරනු ලැබේ.
  • res ෆෝල්ඩරයේ සියලුම වැඩසටහන් සම්පත්, අයිකන, පින්තූර, පෙළ සහ චිත්‍රක අතුරුමුහුණත් මූලද්‍රව්‍ය වැනි ග්‍රැෆික් අඩංගු වේ. ඔබට පහසුවෙන් ෆෝල්ඩරයට පිවිසිය හැකිය.
  • class.dex යනු Dalvik VM අතථ්‍ය යන්ත්‍රය මඟින් ක්‍රියාත්මක කරන ලද සෘජු යෙදුම් වැඩසටහන් කේතයයි; ඔබට මෙම ගොනුව තුළ ඇති දේ දැකිය හැක්කේ .apk විසංයෝජනය කිරීමෙන් පමණි, අපි මේ ගැන වෙනත් ලිපි වලින් කතා කරමු. සම්පත්.arsc - සම්පාදනය කරන ලද XML ගොනුව, මෙම ගොනුවේ වැඩසටහනට සම්බන්ධ සියලුම සම්පත් පිළිබඳ දත්ත අඩංගු වේ.
  • lib - ස්වදේශීය පුස්තකාල සහිත ෆෝල්ඩරයක්, විශේෂිත වැඩසටහන් භාවිතා කරන විට පමණක් ප්‍රවේශ විය හැකි සම්පත්. APK හි com, org, udk වැනි ගොනු සහ ෆෝල්ඩර ද අඩංගු විය හැකි නමුත් සෑම විටම නොවේ.

දැන් අපි අභ්යන්තර ව්යුහය වඩාත් විස්තරාත්මකව බලමු; මේ සඳහා අපට decompilation වැඩසටහනක්, Java සහ APK ගොනුවක් අවශ්ය වේ. .apk විසුරුවා හැරීමේ ප්‍රධාන මෙවලම Apktool වේ, නමුත් මෙම වැඩසටහන ක්‍රියාත්මක වන්නේ රේඛාවෙන් පමණි, එය ඉතා පහසු නොවේ. වේගවත් හා පහසු විශ්ලේෂණයක් සඳහා, ඔබට APKing භාවිතා කළ හැකිය, මෙය තවමත් එකම Apktool වේ, නමුත් සන්දර්භය මෙනුවෙන් වැඩ කිරීමේ හැකියාව ඇත.
එබැවින් අපි වින්ඩෝස් සඳහා ඕනෑම යෙදුමක් මෙන් APKing ස්ථාපනය කර, .apk තෝරාගෙන, දකුණු මූසික බොත්තම සහ Shift එක සමඟ එය මත ක්ලික් කරන්න, ඉන්පසු අපට පහත දැක්වෙන දේ පෙනෙනු ඇත:


අවශ්‍ය ක්‍රියාව තෝරන්න, උදාහරණයක් ලෙස, සම්පූර්ණයෙන්ම විසංයෝජනය කරන්න, එවිට වැඩසටහන මෙහෙයුම සම්පූර්ණ කර එකම නමක් සහිත ෆෝල්ඩරයක් සාදනු ඇත.


ෆෝල්ඩරය විවෘත කිරීමෙන් අපට APK ගොනුවේ සියලුම සම්පත් වෙත ප්‍රවේශය ලැබේ.


දැන් සියලුම පෙළ ගොනු සංස්කරණය කළ හැකිය, මූලික නීති රීති නිරීක්ෂණය කරමින්, ඔබට ජනප්රිය Notepad ++ වැඩසටහන භාවිතා කළ හැකිය, උදාහරණයක් ලෙස, AndroidManifest.xml සලකා බලන්න.

එය නැවතත් මම සහ පින්තූර සහිත තේ පෝච්චි සහ කෝපි පෝච්චි සඳහා මගේ උපදෙස්.

තත්ව තීරු වෙනස් කිරීමක් ස්ථාපනය කිරීමේ උදාහරණය භාවිතා කරමින් ඇන්ඩ්‍රොයිඩ් මෙහෙයුම් පද්ධතියේ පද්ධති සංරචක ප්‍රතිස්ථාපනය කිරීම ගැන මම මෙවර විස්තරාත්මකව කතා කරමි.

Android කියන්නේ පොඩි Linux එකක්. දුරකථනය ගඩොලක් බවට පත් නොවන පරිදි ගොනු ප්‍රතිස්ථාපනය කිරීමේදී නීති ගණනාවක් අනුගමනය කිරීම අවශ්‍ය වේ, එය උපාංගයේ අභ්‍යන්තර මතකයෙන් සියලුම දත්ත නැතිවීමත් සමඟ සම්පූර්ණ දැල්වීමකින් පමණක් පුනර්ජීවනය කළ හැකිය. ෆ්ලෑෂ් ඩ්‍රයිව් වල FAT32 ට වඩා වෙනස් ගොනු පද්ධතියක අභ්‍යන්තර කොටස් ෆෝමැට් කර ඇත. වෙනත් දේ අතර, ගොනු ගුණාංග විවිධ පරිශීලක කණ්ඩායම් (ගොනු හිමිකරු, ගොනු හිමිකරු කණ්ඩායම, වෙනත් පරිශීලකයින්) සඳහා අවසර ගබඩා කරයි. පද්ධති ගොනු සමඟ ක්‍රියාත්මක වන විට, ඒවා සුරැකිය යුතුය, මන්ද පූරණය වන විට, පද්ධතියට සරලව ඒවාට ප්‍රවේශ විය නොහැකි අතර සාමාන්‍යයෙන් ආරම්භ නොවිය හැකිය.
අපි මෙවලම් සමඟ ආරම්භ කරමු.

අපට අවශ්ය වනු ඇත:

  • මූල අයිතිවාසිකම් සහ ගොනු අවසරයන් සමඟ වැඩ කළ හැකි ගොනු කළමනාකරුවෙකු. Root Explorer හොඳම (ඔබ එය මිලදී ගත්තා, හරිද?)
  • පද්ධතිය එක වෙනුවට අපට තැබීමට අවශ්‍ය වෙනස් කරන ලද ගොනුව (ලිපියේ අවසානයේ ඇති සබැඳිය).

දැන් අපි Root Explorer හි පහසු කාර්යයක් භාවිතා කරමු. සන්දර්භය මෙනුව ගෙන ඒම සඳහා අවශ්ය ගොනුව මත දිගු තට්ටු කරමු

සහ අයිතමය මත ක්ලික් කරන්න " මෙම ගොනුව Zip කරන්න"SD පතෙහි zip සංරක්ෂිතයක ගොනුව සුරැකීමට. සංරක්ෂණය කිරීමෙන් පසු, අපට පහත පණිවිඩය ලැබෙනු ඇත:

බොත්තම ඔබන්න " ඉන්න"ෆෝල්ඩරය තුළ රැඳී තවත් එක් දෙයක් කිරීමට.

දැන් ගොනුව ප්රතිස්ථාපනය කිරීමට සියල්ල සූදානම්.
මම දැනටමත් එක් එක් ගොනුවේ ප්රවේශ අයිතිවාසිකම් ගැන කතා කර ඇත. නව ගොනුවක් මත ඒවා ප්‍රතිනිර්මාණය කිරීම සඳහා, ඔබ ප්‍රථමයෙන් ඒවා පැරණි එකකින් බැලිය යුතුය. ඒවා "rwxrwxrwx" සංකේත මාලාවකින් නිරූපණය කෙරේ. 1 වන ත්‍රිත්වය - හිමිකරු අයිතිවාසිකම්, 2 වන - හිමිකරු කණ්ඩායම්, 3 වන - අනෙකුත් සියලුම පරිශීලකයින්. අපගේ ගොනුවට "rw-r--r--" අවසර ඇත.

දැන් SD පත වෙත ගොස්, එහි නවීකරණය කරන ලද ගොනුව සොයාගෙන එහි සන්දර්භය මෙනුවෙන් අයිතමය තෝරන්න " පිටපත් කරන්න", නමුත් වහාම "/system/app" ෆෝල්ඩරය තේරීමට ඉක්මන් නොවන්න, මන්ද අපි වහාම පද්ධතියට හානි කරනු ඇත. ඒ වෙනුවට, ගොනුව ගෙන ඒම සඳහා තාවකාලික ගොනු "/data/local/tmp" සඳහා විශේෂ ෆෝල්ඩරයකට පිටපත් කරන්න. පද්ධතියක් ගන්නා පෝරමයක් බවට ගොනු කරන්න.
පළමුව, ගොනුවේ සන්දර්භය මෙනුව අමතන්න සහ තෝරන්න " නැවත නම් කරන්න" සහ "SystemUI.apk" ගොනුවේ නම ඇතුළත් කරන්න. එය හරි, ලිනක්ස් හි නමේ ඇති අකුරු වල නඩුව වැදගත් වේ, එනම් "systemui.apk" සහ "SystemUI.apk" වෙනස් ගොනු වේ.
ඊළඟට, ඔබ ගොනු අවසර වෙනස් කළ යුතුය, මන්ද ඒවා දැන් බොහෝ දුරට වැරදි ලෙස සකසා ඇත. මෙය සිදු කිරීම සඳහා, දිගු තට්ටු කිරීමකින් ගොනුවේ සන්දර්භය මෙනුව නැවත අමතා අයිතමය තෝරන්න " අවසර". අපගේ "rw-r--r--" අගය සඳහා පිරික්සුම් කොටු මෙසේ තැබිය යුතුය:

ක්ලික් කරන්න" හරි" සහ නැවත සන්දර්භය මෙනුව අමතන්න. දැන් ඔබට මෙම යෙදුම සඳහා හිමිකරු සහ කණ්ඩායම වෙනස් කිරීමට අවශ්ය වේ. මෙය සිදු කිරීම සඳහා, අයිතමය තෝරන්න " හිමිකරු වෙනස් කරන්න". ගොනුවේ වත්මන් හිමිකරු පිළිබඳ තොරතුරු සහිත කවුළුවක් දිස්වනු ඇත.
මෙන්න අපි කුඩා අපගමනය කළ යුතුයි.
"/system/app" ෆෝල්ඩරය තුළ, සියලුම ගොනු "root" (uid=0) සහ "root" (gid=0) කණ්ඩායමට සහ "/system/framework" ෆෝල්ඩරයේ පරිශීලකයාට හිමි වේ. පද්ධතිය" (gid=1000) අයත් වේ. සහ "පද්ධතිය" (gid=1000) කණ්ඩායම.
ඉහත මත පදනම්ව, අවශ්ය අගයන් සකසා ක්ලික් කරන්න " හරි".
තෙවන වරටත්, ගොනුව සඳහා සන්දර්භය මෙනුව අමතා අයිතමය තෝරන්න " පිටපත් කරන්න" සහ පිටපත් සංවාදයේ "/system/app" ෆෝල්ඩරය වෙත යන්න. දැන් ක්ලික් කිරීමට නිදහස් වන්න. අලවන්න"සහ තවදුරටත් හොඳින් කියවන්න.
තත්ත්‍ව තීරු ක්‍රියාවලිය හදිසියේම අවසන් වී ඇති බවත් එය ආරම්භ කිරීමට ඉදිරිපත් වන බවත් පද්ධතිය ඔබට දන්වනු ඇත. සියලු උත්සාහයන් අසාර්ථක වනු ඇත. කවුළු පෙනුම අතර, ඔබට ක්රියාවන් ගණනාවක් කිරීමට කාලය තිබිය යුතුය. බොත්තම එබීමට පෙර, උපාංගය ක්‍රියා විරහිත කිරීමට ඔබ මෙනුව අමතන්න; එය අනතුරු ඇඟවීමක් යටතේ දිස්වනු ඇත. දැන් ඔබ බොත්තමේ වම් පැත්තේ ආසන්න වශයෙන් ඔබේ ඇඟිල්ල තැබිය යුතුය. දැන් ඔබට අනතුරු ඇඟවීම වැසීමට, වසා දැමීමේ විකල්පය තෝරා ඔබේ අභිප්‍රාය තහවුරු කිරීමට කාලය ඇති වන පරිදි ඉතා ඉක්මනින් ඔබේ ඇඟිල්ල තුන් වරක් ක්ලික් කළ යුතුය.
දැන් අපි දුරකථනය අක්රිය කිරීමට බලා සිටිමු, එය නැවත ආරම්භ කර ප්රතිඵලය භුක්ති විඳින්න, නැතහොත් එය භුක්ති නොවිඳින්න සහ දෝෂ සොයන්න.

සමහර විට ඇන්ඩ්රොයිඩ් මත සමහර යෙදුම් යම් ආකාරයකින් පරිශීලකයාට නොගැලපේ. ආක්‍රමණශීලී ප්‍රචාරණය උදාහරණයක්. වැඩසටහන සෑම කෙනෙකුටම හොඳ බව ද සිදු වේ, නමුත් එහි පරිවර්තනය වංක හෝ සම්පූර්ණයෙන්ම නොපවතී. නැතහොත්, උදාහරණයක් ලෙස, වැඩසටහන අත්හදා බැලීමකි, නමුත් සම්පූර්ණ අනුවාදය ලබා ගැනීමට ක්රමයක් නොමැත. තත්වය වෙනස් කරන්නේ කෙසේද?

හැදින්වීම

මෙම ලිපියෙන් අපි යෙදුමක් සමඟ APK පැකේජයක් විසුරුවා හරින ආකාරය, එහි අභ්‍යන්තර ව්‍යුහය දෙස බලන ආකාරය, බයිට්කේතය විසුරුවා හැරීම සහ විසංයෝජනය කරන්නේ කෙසේද යන්න ගැන කතා කරමු, එසේම අපට එක් ප්‍රතිලාභයක් ගෙන දිය හැකි යෙදුම්වල වෙනස්කම් කිහිපයක් කිරීමට උත්සාහ කරමු.

මේ සියල්ල ඔබම කිරීමට, ඔබට ඇන්ඩ්‍රොයිඩ් යෙදුම් ලියා ඇති ජාවා භාෂාව සහ ඇන්ඩ්‍රොයිඩ් හි සෑම තැනකම භාවිතා වන XML භාෂාව පිළිබඳ මූලික දැනුමක්වත් අවශ්‍ය වනු ඇත - යෙදුම විස්තර කිරීමේ සිට සහ එහි ප්‍රවේශ හිමිකම් විස්තර කිරීමේ සිට නූල් ගබඩා කිරීම දක්වා. තිරය ​​මත දිස්වනු ඇත. විශේෂිත කොන්සෝල මෘදුකාංග භාවිතා කිරීමේ හැකියාවද ඔබට අවශ්‍ය වනු ඇත.

ඉතින්, නියත වශයෙන්ම සියලුම Android මෘදුකාංග බෙදා හරින APK පැකේජයක් යනු කුමක්ද?

යෙදුම් විසංයෝජනය

මෙම ලිපියේදී, අපි වැඩ කළේ විසුරුවා හරින ලද යෙදුම් කේතය සමඟ පමණි, නමුත් විශාල යෙදුම් වලට වඩා බරපතල වෙනස්කම් සිදු කරන්නේ නම්, smali කේතය තේරුම් ගැනීම වඩා දුෂ්කර වනු ඇත. වාසනාවකට මෙන්, අපට ඩෙක්ස් කේතය ජාවා කේතයට විසංයෝජනය කළ හැකිය, එය මුල් පිටපත නොව නැවත සම්පාදනය නොකළද, යෙදුමේ තර්කනය කියවීමට සහ තේරුම් ගැනීමට වඩා පහසුය. මෙය සිදු කිරීම සඳහා, අපට මෙවලම් දෙකක් අවශ්ය වනු ඇත:

  • dex2jar යනු Dalvik bytecode JVM bytecode බවට පරිවර්තකයකි, එහි පදනම මත අපට Java භාෂාවෙන් කේතය ලබා ගත හැක;
  • jd-gui යනු JVM බයිට්කේතයෙන් කියවිය හැකි ජාවා කේතය ලබා ගැනීමට ඉඩ සලසන decompiler එකකි. විකල්පයක් ලෙස, ඔබට Jad (www.varaneckas.com/jad) භාවිතා කළ හැකිය; එය තරමක් පැරණි වුවද, සමහර අවස්ථාවල එය Jd-gui වලට වඩා කියවිය හැකි කේතයක් ජනනය කරයි.

ඒවා භාවිතා කළ යුතු ආකාරය මෙයයි. පළමුව, අපි dex2jar දියත් කරමු, තර්කයක් ලෙස apk පැකේජයට යන මාර්ගය සඳහන් කරන්න:

% dex2jar.sh mail.apk

එහි ප්‍රතිඵලයක් ලෙස, Java පැකේජය mail.jar වත්මන් නාමාවලියෙහි දිස්වනු ඇත, එය දැනටමත් jd-gui හි විවෘත කර ජාවා කේතය බැලීමට හැකිය.

APK පැකේජ සකස් කිරීම සහ ඒවා ලබා ගැනීම

ඇන්ඩ්‍රොයිඩ් යෙදුම් පැකේජයක් අත්‍යවශ්‍යයෙන්ම සාමාන්‍ය ZIP ගොනුවක් වන අතර එහි අන්තර්ගතය බැලීමට හෝ එය උපුටා ගැනීමට විශේෂ මෙවලම් අවශ්‍ය නොවේ. Windows සඳහා archiver - 7zip හෝ Linux මත console unzip තිබීම ප්‍රමාණවත් වේ. නමුත් එය දවටනය ගැන ය. ඇතුලේ මොනවද තියෙන්නේ? පොදුවේ, අපට ඇතුළත පහත ව්යුහය ඇත:

  • META-INF/- යෙදුමේ ඩිජිටල් සහතිකයක්, එහි නිර්මාතෘ හඳුනාගැනීම සහ පැකේජ ගොනු වල චෙක්සම් අඩංගු වේ;
  • res/ - රූප, අතුරු මුහුණතේ ප්‍රකාශන විස්තරය මෙන්ම වෙනත් දත්ත වැනි යෙදුම එහි කාර්යයේදී භාවිතා කරන විවිධ සම්පත්;
  • AndroidManifest.xml- යෙදුමේ විස්තරය. මෙයට, උදාහරණයක් ලෙස, අවශ්‍ය අවසර ලැයිස්තුවක්, අවශ්‍ය ඇන්ඩ්‍රොයිඩ් අනුවාදය සහ අවශ්‍ය තිර විභේදනය ඇතුළත් වේ;
  • class.dex- Dalvik අථත්‍ය යන්ත්‍රය සඳහා සම්පාදනය කරන ලද යෙදුම් බයිට්කේතය;
  • සම්පත්.arsc- සම්පත් ද, නමුත් වෙනත් ආකාරයක - විශේෂයෙන්, නූල් (ඔව්, මෙම ගොනුව Russification සඳහා භාවිතා කළ හැක!).

ලැයිස්තුගත ලිපිගොනු සහ නාමාවලි සියල්ලම නොවේ නම්, සමහර විට, APK හි අතිමහත් බහුතරය තුළ ඇත. කෙසේ වෙතත්, සඳහන් කළ යුතු එතරම් සුලභ නොවන ගොනු / නාමාවලි කිහිපයක් තිබේ:

  • වත්කම්- සම්පත් වල ඇනෙලොග්. ප්‍රධාන වෙනස වන්නේ සම්පතක් වෙත ප්‍රවේශ වීම සඳහා ඔබ එහි හඳුනාගැනීම් දැන සිටිය යුතු නමුත් යෙදුම් කේතයේ AssetManager.list() ක්‍රමය භාවිතයෙන් වත්කම් ලැයිස්තුව ගතිකව ලබා ගත හැක;
  • lib- NDK (Native Development Kit) භාවිතයෙන් ලියන ලද ස්වදේශීය Linux පුස්තකාල.

මෙම නාමාවලිය C/C++ වලින් ලියා ඇති ඔවුන්ගේ ක්‍රීඩා එන්ජින් ස්ථානගත කරන ක්‍රීඩා නිෂ්පාදකයින් විසින් මෙන්ම ඉහළ කාර්ය සාධන යෙදුම් (උදාහරණයක් ලෙස Google Chrome) නිර්මාපකයින් විසින් භාවිතා කරනු ලැබේ. අපි උපාංගය හදුනාගත්තා. නමුත් ඔබ උනන්දුවක් දක්වන යෙදුමේ පැකේජ ගොනුව ලබා ගන්නේ කෙසේද? Root නොමැතිව උපාංගයෙන් APK ගොනු ලබා ගැනීමට නොහැකි නිසා (ඒවා /data/app බහලුම තුළ පිහිටා ඇත), සහ Root කිරීම සැමවිටම යෝග්‍ය නොවන බැවින්, යෙදුම් ගොනුව ඔබේ පරිගණකයට ලබා ගැනීමට අවම වශයෙන් ක්‍රම තුනක් තිබේ:

  • Chrome සඳහා APK බාගැනීම් දිගුව;
  • සැබෑ APK Leecher යෙදුම;
  • විවිධ ගොනු සත්කාරක සහ Varezniks.

කුමන එකක් භාවිතා කළ යුතුද යන්න රසය පිළිබඳ කාරණයකි; අපි වෙනම යෙදුම් භාවිතා කිරීමට කැමැත්තෙමු, එබැවින් අපි Real APK Leecher භාවිතය විස්තර කරන්නෙමු, විශේෂයෙන් එය ජාවා වලින් ලියා ඇති අතර, ඒ අනුව, Windows හෝ Nix හි ක්‍රියා කරනු ඇත.

වැඩසටහන ආරම්භ කිරීමෙන් පසු, ඔබට ක්ෂේත්ර තුනක් පිරවිය යුතුය: ඊමේල්, මුරපදය සහ උපාංග හැඳුනුම්පත - සහ භාෂාවක් තෝරන්න. පළමු දෙක වන්නේ ඔබ උපාංගයේ භාවිතා කරන ඔබගේ Google ගිණුමේ විද්‍යුත් තැපෑල සහ මුරපදයයි. තෙවනුව උපාංග හඳුනාගැනීම, සහ ඩයලර් මත කේතය ටයිප් කිරීමෙන් ලබා ගත හැක # #8255## ඉන්පසු උපාංග හැඳුනුම් රේඛාව සොයා ගැනීම. පිරවීමේදී, ඔබට ඇන්ඩ්‍රොයිඩ්-උපසර්ගය නොමැතිව හැඳුනුම්පත ඇතුළත් කළ යුතුය.

පිරවීම සහ සුරැකීමෙන් පසු, "සේවාදායකයට සම්බන්ධ කිරීමේදී දෝෂයක්" යන පණිවිඩය බොහෝ විට උත්පතන වේ. එයට Google Play සමඟ කිසිදු සම්බන්ධයක් නැත, එබැවින් එය නොසලකා හැරීමට සහ ඔබට උනන්දුවක් දක්වන පැකේජ සඳහා සොයන්න.

බලන්න සහ වෙනස් කරන්න

ඔබ කැමති පැකේජයක් ඔබට හමු වූ බව කියමු, එය බාගත කර, එය ගලවා... ඔබ XML ගොනුවක් බැලීමට උත්සාහ කළ විට, එම ගොනුව පෙළ නොවන බව සොයාගැනීමෙන් ඔබ පුදුමයට පත් විය. එය විසංයෝජනය කරන්නේ කෙසේද සහ පොදුවේ පැකේජ සමඟ වැඩ කරන්නේ කෙසේද? SDK ස්ථාපනය කිරීම ඇත්තෙන්ම අවශ්‍යද? නැත, SDK ස්ථාපනය කිරීම කිසිසේත් අවශ්‍ය නොවේ. ඇත්ත වශයෙන්ම, APK පැකේජ උපුටා ගැනීම, වෙනස් කිරීම සහ ඇසුරුම් කිරීම සඳහා පහත සඳහන් මෙවලම් අවශ්‍ය වේ:

  • ZIP ලේඛනාගාරයඇසිරීම සහ ඇසුරුම් කිරීම සඳහා;
  • ස්මාලි- Dalvik virtual machine bytecode Assembler/disassembler (code.google.com/p/smali);
  • aapt- සම්පත් ඇසුරුම් කිරීම සඳහා මෙවලමක් (පෙරනිමියෙන්, යෙදුම් කාර්ය සාධනය ප්‍රශස්ත කිරීම සඳහා සම්පත් ද්විමය ආකාරයෙන් ගබඩා කර ඇත). Android SDK හි ඇතුළත්, නමුත් වෙන වෙනම ලබා ගත හැක;
  • අත්සන් කරන්නා- නවීකරණය කරන ලද පැකේජයක් ඩිජිටල් ලෙස අත්සන් කිරීම සඳහා මෙවලමක් (bit.ly/Rmrv4M).

ඔබට මෙම සියලු මෙවලම් වෙන වෙනම භාවිතා කළ හැකිය, නමුත් මෙය අපහසු වේ, එබැවින් ඒවායේ පදනම මත ගොඩනගා ඇති ඉහළ මට්ටමේ මෘදුකාංග භාවිතා කිරීම වඩා හොඳය. ඔබ Linux හෝ Mac OS X මත වැඩ කරන්නේ නම්, apktool නම් මෙවලමක් තිබේ. එය ඔබට සම්පත් ඒවායේ මුල් ස්වරූපයෙන් (ද්වීයමය XML සහ arsc ගොනු ඇතුළුව) ඉවත් කිරීමට ඉඩ සලසයි, වෙනස් කළ සම්පත් සමඟ පැකේජයක් නැවත ගොඩනඟන්න, නමුත් එය පැකේජ අත්සන් කරන්නේ කෙසේදැයි නොදනී, එබැවින් ඔබට අත්සන් කිරීමේ උපයෝගීතාව අතින් ක්‍රියාත්මක කිරීමට සිදුවේ. උපයෝගීතාව ජාවා වලින් ලියා ඇතත්, එහි ස්ථාපනය තරමක් සම්මත නොවේ. පළමුව ඔබ jar ගොනුව ලබා ගත යුතුය:

$ cd /tmp $ wget http://bit.ly/WC3OCz $ tar -xjf apktool1.5.1.tar.bz2

$ wget http://bit.ly/WRjEc7 $ tar -xjf apktool-install-linux-r05-ibot.tar.bz2

$ mv apktool.jar ~/bin $ mv apktool-install-linux-r05-ibot/* ~/bin $ අපනයනය PATH=~/bin:$PATH

ඔබ වින්ඩෝස් මත වැඩ කරන්නේ නම්, ඒ සඳහා Virtuous Ten Studio නමින් විශිෂ්ට මෙවලමක් ඇත, එය මෙම සියලු මෙවලම් (apktool ද ඇතුළුව) රැස් කරයි, නමුත් CLI අතුරුමුහුණතක් වෙනුවට එය පරිශීලකයාට ඔබට හැකි අවබෝධාත්මක චිත්‍රක අතුරු මුහුණතක් සපයයි. ක්ලික් කිරීම් කිහිපයකින් ඉවත් කිරීම, විසුරුවා හැරීම සහ විසංයෝජනය කිරීම සඳහා මෙහෙයුම් සිදු කරන්න. මෙම මෙවලම Donation-ware වේ, එනම්, සමහර විට ඔබට බලපත්‍රයක් ලබා ගැනීමට ඉල්ලා සිටින කවුළු දිස්වේ, නමුත් අවසානයේ මෙය දරාගත හැකිය. මිනිත්තු කිහිපයකින් අතුරු මුහුණත තේරුම් ගත හැකි නිසා එය විස්තර කිරීමෙන් පලක් නැත. නමුත් apktool, එහි කොන්සෝල ස්වභාවය නිසා, වඩාත් විස්තරාත්මකව සාකච්ඡා කළ යුතුය.


අපි apktool විකල්ප දෙස බලමු. කෙටියෙන් කිවහොත්, මූලික විධාන තුනක් ඇත: d (decode), b (build) සහ if (framework ස්ථාපනය කරන්න). පළමු විධාන දෙක සමඟ සියල්ල පැහැදිලි නම්, තුන්වන, කොන්දේසි සහිත ප්‍රකාශය කරන්නේ කුමක්ද? එය ඔබ කිසියම් පද්ධති පැකේජයක් විසන්ධි කරන අවස්ථා වලදී අවශ්‍ය වන නිශ්චිත UI රාමුව ඉවත් කරයි.

පළමු විධානයේ වඩාත්ම සිත්ගන්නා විකල්ප දෙස බලමු:

  • -s- dex ගොනු විසුරුවා නොහරින්න;
  • -ආර්- සම්පත් ඉවත් නොකරන්න;
  • -බී- dex ගොනුව විසුරුවා හැරීමේ ප්රතිඵලවලට නිදොස් කිරීමේ තොරතුරු ඇතුළත් නොකරන්න;
  • --රාමු මාර්ගය- apktool තුළ ගොඩනගා ඇති එකක් වෙනුවට නිශ්චිත UI රාමුව භාවිතා කරන්න. දැන් අපි b විධානය සඳහා විකල්ප කිහිපයක් බලමු:
  • -එෆ්- වෙනස්කම් පරීක්ෂා නොකර බලහත්කාරයෙන් එකලස් කිරීම;
  • -ඒ- කිසියම් හේතුවක් නිසා ඔබට එය වෙනත් මූලාශ්‍රයකින් භාවිතා කිරීමට අවශ්‍ය නම් aapt වෙත මාර්ගය දක්වන්න (APK සංරක්ෂිතයක් තැනීමේ මෙවලමක්).

apktool භාවිතා කිරීම ඉතා සරල ය; මෙය සිදු කිරීම සඳහා, විධාන වලින් එකක් සහ APK වෙත යන මාර්ගය සඳහන් කරන්න, උදාහරණයක් ලෙස:

$ apktool d mail.apk

මෙයින් පසු, පැකේජයේ උපුටා ගත් සහ විසුරුවා හරින ලද සියලුම ගොනු තැපැල් නාමාවලියෙහි දිස්වනු ඇත.

සකස් කිරීම. ප්‍රචාරණය අක්‍රිය කිරීම

න්‍යාය ඇත්ත වශයෙන්ම හොඳයි, නමුත් ඇසුරුම් නොකළ පැකේජය සමඟ කුමක් කළ යුතු දැයි අප නොදන්නේ නම් එය අවශ්‍ය වන්නේ ඇයි? න්‍යාය අපගේ ප්‍රයෝජනය සඳහා යොදා ගැනීමට උත්සාහ කරමු, එනම්, සමහර මෘදුකාංග අපට වෙළඳ දැන්වීම් නොපෙන්වන ලෙස වෙනස් කරන්න. උදාහරණයක් ලෙස, එය අතථ්‍ය පන්දම - අතථ්‍ය පන්දමක් වේවා. මෙම මෘදුකාංගය අපට වඩාත් සුදුසුය, මන්ද එය කරදරකාරී වෙළඳ ප්‍රචාරණයකින් ධාරිතාවයෙන් පිරී ඇති නිසාත්, එපමනක් නොව, කේත කැලය තුළ අතරමං නොවීමට තරම් සරල නිසාත් ය.


එබැවින්, ඉහත ක්රම වලින් එකක් භාවිතා කර, වෙළඳපොළෙන් යෙදුම බාගත කරන්න. ඔබ Virtuous Ten Studio භාවිතා කිරීමට තීරණය කරන්නේ නම්, යෙදුම තුළ APK ගොනුව විවෘත කර එය විසන්ධි කරන්න, ව්‍යාපෘතියක් සාදන්න (ගොනුව -> නව ව්‍යාපෘතිය), ඉන්පසු ව්‍යාපෘති සන්දර්භය මෙනුවේ ආයාත ගොනුව තෝරන්න. ඔබගේ තේරීම apktool මත වැටුනේ නම්, එක් විධානයක් ක්‍රියාත්මක කරන්න:

$ apktool d com.kauf.particle.virtualtorch.apk

මෙයින් පසු, පෙර කොටසේ විස්තර කර ඇති ආකාරයට සමාන ගොනු ගසක් com.kauf.particle.virtualtorch නාමාවලියෙහි දිස්වනු ඇත, නමුත් dex ගොනු වෙනුවට අතිරේක smali නාමාවලියක් සහ apktool.yml ගොනුවක් සමඟ. පළමු යෙදුමේ ක්‍රියාත්මක කළ හැකි ඩෙක්ස් ගොනුවේ විසුරුවා හරින ලද කේතය අඩංගු වේ, දෙවැන්නෙහි පැකේජය නැවත එකලස් කිරීමට apktool සඳහා අවශ්‍ය සේවා තොරතුරු අඩංගු වේ.

අප බැලිය යුතු පළමු ස්ථානය, ඇත්ත වශයෙන්ම, AndroidManifest.xml වේ. මෙන්න අපි වහාම පහත පේළිය හමුවෙමු:

අන්තර්ජාල සම්බන්ධතාවය භාවිතා කිරීම සඳහා යෙදුම් අවසර ලබා දීම සඳහා එය වගකිව යුතු බව අනුමාන කිරීම අපහසු නැත. ඇත්ත වශයෙන්ම, අපට ප්‍රචාරණයෙන් මිදීමට අවශ්‍ය නම්, අපට බොහෝ විට අවශ්‍ය වනු ඇත්තේ අන්තර්ජාලයෙන් යෙදුම අවහිර කිරීමයි. අපි මෙය කිරීමට උත්සාහ කරමු. අපි නිශ්චිත රේඛාව මකා දමා apktool භාවිතයෙන් මෘදුකාංගය තැනීමට උත්සාහ කරමු:

$ apktool b com.kauf.particle.virtualtorch

ප්‍රතිඵලයක් ලෙස ලැබෙන APK ගොනුව com.kauf.particle.virtualtorch/build/ බහලුම තුළ දිස්වනු ඇත. කෙසේ වෙතත්, එය ඩිජිටල් අත්සනක් සහ ගොනු චෙක්සම් නොමැති බැවින් එය ස්ථාපනය කිරීමට නොහැකි වනු ඇත (එය හුදෙක් META-INF/ නාමාවලියක් නොමැත). අපි apk-signer උපයෝගීතාව භාවිතයෙන් පැකේජය අත්සන් කළ යුතුය. දියත් කරන ලදී. අතුරු මුහුණත ටැබ් දෙකකින් සමන්විත වේ - පළමු (යතුරු උත්පාදක) මත අපි යතුරු නිර්මාණය කරමු, දෙවන (APK අත්සන් කරන්නා) අපි අත්සන් කරමු. අපගේ පුද්ගලික යතුර සෑදීමට, පහත ක්ෂේත්‍ර පුරවන්න:

  • ඉලක්ක ගොනුව- යතුරු ගබඩා ප්රතිදාන ගොනුව; එය සාමාන්‍යයෙන් එක් යතුරු යුගලයක් ගබඩා කරයි;
  • මුරපදයසහ තහවුරු කරන්න- ගබඩා කිරීම සඳහා මුරපදය;
  • අන්වර්ථ නාමය- ගබඩාවේ යතුරේ නම;
  • අන්වර්ථ මුරපදයසහ තහවුරු කරන්න- රහස් යතුර මුරපදය;
  • වලංගුභාවය- වලංගු කාලය (වසර වලින්). පෙරනිමි අගය ප්‍රශස්ත වේ.

ඉතිරි ක්ෂේත්ර, සාමාන්යයෙන්, විකල්ප වේ - නමුත් අවම වශයෙන් එකක් වත් පිරවිය යුතුය.


අවවාදයයි

apk-signer භාවිතයෙන් යෙදුමක් අත්සන් කිරීම සඳහා, ඔබ Android SDK ස්ථාපනය කර යෙදුම් සැකසුම් තුළ එයට සම්පූර්ණ මාර්ගය සඳහන් කළ යුතුය.

සියලුම තොරතුරු සපයනු ලබන්නේ තොරතුරු අරමුණු සඳහා පමණි. මෙම ලිපියේ ද්‍රව්‍ය නිසා සිදුවිය හැකි හානියක් සම්බන්ධයෙන් සංස්කාරකවරුන් හෝ කතුවරයා වගකිව යුතු නොවේ.

දැන් ඔබට මෙම යතුර සමඟ APK අත්සන් කළ හැකිය. APK Signer පටිත්තෙහි, අලුතින් ජනනය කරන ලද ගොනුව තෝරන්න, මුරපදය, යතුර අන්වර්ථය සහ මුරපදය ඇතුළත් කරන්න, ඉන්පසු APK ගොනුව සොයාගෙන නිර්භීතව "අත්සන් කරන්න" බොත්තම ක්ලික් කරන්න. සෑම දෙයක්ම හොඳින් සිදු වුවහොත්, පැකේජය අත්සන් කරනු ලැබේ.

තොරතුරු

අපි අපේම යතුරකින් පැකේජය අත්සන් කර ඇති බැවින්, එය මුල් යෙදුම සමඟ ගැටෙනු ඇත, එනම් අපි වෙළඳපොළ හරහා මෘදුකාංගය යාවත්කාලීන කිරීමට උත්සාහ කරන විට, අපට දෝෂයක් ලැබෙනු ඇත.

ඩිජිටල් අත්සනක් අවශ්‍ය වන්නේ තෙවන පාර්ශවීය මෘදුකාංග සඳහා පමණි, එබැවින් ඔබ ස්ථාපනය කර ඇති පද්ධති යෙදුම් /system/app/ බහලුම වෙත පිටපත් කිරීමෙන් වෙනස් කරන්නේ නම්, ඔබට ඒවා අත්සන් කිරීමට අවශ්‍ය නොවේ.

ඊට පසු, පැකේජය ඔබගේ ස්මාර්ට් ජංගම දුරකතනයට බාගත කර එය ස්ථාපනය කර එය දියත් කරන්න. Voila, දැන්වීම නැති වී ඇත! කෙසේ වෙතත්, ඒ වෙනුවට, අපට අන්තර්ජාලය නොමැති හෝ සුදුසු අවසර නොමැති බවට පණිවිඩයක් දිස් විය. න්‍යායාත්මකව, මෙය ප්‍රමාණවත් විය හැකිය, නමුත් පණිවිඩය කරදරකාරී බව පෙනේ, සහ, අවංකව කිවහොත්, අපි මෝඩ යෙදුමක් සමඟ වාසනාවන්ත විය. සාමාන්‍යයෙන් ලිඛිත මෘදුකාංග බොහෝ විට එහි අක්තපත්‍ර පැහැදිලි කිරීම හෝ අන්තර්ජාල සම්බන්ධතාවයක් සඳහා පරීක්ෂා කිරීම සහ වෙනත් ආකාරයකින් දියත් කිරීම ප්‍රතික්ෂේප කරයි. මෙම නඩුවේ විය යුත්තේ කෙසේද? ඇත්ත වශයෙන්ම, කේතය සංස්කරණය කරන්න.

සාමාන්‍යයෙන්, යෙදුම් කතුවරුන් යෙදුම හෝ එහි “ක්‍රියාකාරකම්” (සරල වචන වලින්, යෙදුම් තිර) දියත් කරන විට මෙම පන්තිවල වෙළඳ දැන්වීම් සහ ඇමතුම් ක්‍රම ප්‍රදර්ශනය කිරීම සඳහා විශේෂ පන්ති නිර්මාණය කරයි. අපි මෙම පන්ති සොයා ගැනීමට උත්සාහ කරමු. අපි smali බහලුම වෙත යන්නෙමු, පසුව com (org හි ඇත්තේ විවෘත ග්‍රැෆික් පුස්තකාලය cocos2d පමණි), පසුව kauf (මෙය ඇත්තේ මෙයයි, මන්ද මෙය සංවර්ධකයාගේ නම වන අතර ඔහුගේ සියලුම කේතය එහි ඇත) - සහ මෙන්න එය, අලෙවි නාමාවලිය. ඇතුළත අපට smali දිගුව සහිත ගොනු සමූහයක් හමු වේ. මේවා පන්ති වන අතර ඒවායින් වඩාත්ම කැපී පෙනෙන වන්නේ Ad.smali පන්තියයි, එහි නමෙන් එය වෙළඳ ප්‍රචාරණය පෙන්වන එක බව අනුමාන කිරීම පහසුය.

අපට එහි ක්‍රියාකාරිත්වයේ තර්කනය වෙනස් කළ හැක, නමුත් එහි ඕනෑම ක්‍රමයක් සඳහා වන ඇමතුම් යෙදුමෙන් ම ඉවත් කිරීම වඩාත් පහසු වනු ඇත. එබැවින්, අපි අලෙවිකරණ නාමාවලියෙන් ඉවත් වී යාබද අංශු නාමාවලිය වෙත ගොස්, පසුව virtualtorch වෙත යන්නෙමු. MainActivity.smali ගොනුව මෙහි විශේෂ අවධානයක් ලැබිය යුතුය. මෙය ඇන්ඩ්‍රොයිඩ් SDK විසින් නිර්මාණය කරන ලද සම්මත ඇන්ඩ්‍රොයිඩ් පන්තියක් වන අතර යෙදුමට ඇතුල් වීමේ ස්ථානය ලෙස ස්ථාපනය කර ඇත (C හි ප්‍රධාන කාර්යයට සමාන). සංස්කරණය සඳහා ගොනුව විවෘත කරන්න.

ඇතුළත ස්මාලි කේතය (දේශීය එකලස් කරන්නා) ඇත. එහි පහත් මට්ටමේ ස්වභාවය නිසා එය තරමක් ව්‍යාකූල සහ කියවීමට අපහසු බැවින් අපි එය අධ්‍යයනය නොකරමු, නමුත් කේතයේ ඇති දැන්වීම් පන්තියට අදාළ සියලු යොමු කිරීම් සරලව සොයාගෙන ඒවා අදහස් දක්වන්න. අපි සෙවුමේ “දැන්වීම්” පේළිය ඇතුළත් කර 25 වන පේළියට පිවිසෙමු:

ක්ෂේත්‍ර පුද්ගලික දැන්වීම:Lcom/kauf/marketing/Ad;

මෙහිදී Ad class object එකක් ගබඩා කිරීමට ad field එකක් සාදා ඇත. රේඛාව ඉදිරිපිට ### ලකුණක් තැබීමෙන් අපි අදහස් දක්වන්නෙමු. අපි සෙවීම දිගටම කරගෙන යන්නෙමු. පේළිය 423:

New-instance v3, Lcom/kauf/marketing/Ad;

වස්තු නිර්මාණය සිදු වන්නේ මෙහිදීය. අපි අදහස් දක්වමු. අපි සෙවීම දිගටම කරගෙන යන අතර දැන්වීම් පන්තියේ ක්‍රම සඳහා ඇමතුම් 433, 435, 466, 468, 738, 740, 800 සහ 802 පේළිවලින් සොයා ගනිමු. අපි අදහස් දක්වමු. බලන්න ඒක තමයි. සුරකින්න. දැන් පැකේජය නැවත එකට එකතු කර ක්‍රියාකාරීත්වය සහ වෙළඳ ප්‍රචාරණයේ පැවැත්ම සඳහා පරීක්ෂා කළ යුතුය. අත්හදා බැලීමේ සංශුද්ධතාවය සඳහා, අපි AndroidManifest.xml වෙතින් ඉවත් කරන ලද රේඛාව ආපසු ලබා දී, පැකේජය එකලස් කර, අත්සන් කර ස්ථාපනය කරන්න.

අපේ ගිනියා ඌරා. ප්‍රචාරණය දෘශ්‍යමාන වේ

අපොයි! ප්‍රචාරණය අතුරුදහන් වූයේ යෙදුම ක්‍රියාත්මක වන විට පමණි, නමුත් ප්‍රධාන මෙනුවේ පවතී, එය අපි මෘදුකාංගය දියත් කරන විට අපට පෙනේ. ඉතින්, ඉන්න, නමුත් ඇතුල්වීමේ ස්ථානය MainActivity පන්තිය වන අතර, යෙදුම ක්‍රියාත්මක වන විට වෙළඳ දැන්වීම අතුරුදහන් විය, නමුත් ප්‍රධාන මෙනුවේ පැවතුනි, එබැවින් ඇතුල්වීමේ ස්ථානය වෙනස්ද? සත්‍ය ප්‍රවේශ ලක්ෂ්‍යය හඳුනා ගැනීමට, AndroidManifest.xml ගොනුව නැවත විවෘත කරන්න. ඔව්, එහි පහත රේඛා අඩංගු වේ:

android.intent.category.LAUNCHER කාණ්ඩයෙන් android.intent.action.MAIN අභිප්‍රාය (සිදුවීම) උත්පාදනය කිරීමට ප්‍රතිචාර වශයෙන් Start නම් ක්‍රියාකාරකමක් දියත් කළ යුතු බව ඔවුන් අපට (සහ, වඩාත් වැදගත් ලෙස, android) පවසයි. ඔබ දියත් කිරීමේ යෙදුම් නිරූපකය මත තට්ටු කළ විට මෙම සිදුවීම ජනනය වේ, එබැවින් එය ආරම්භක පන්තිය ලෙස ඇතුළත් වීමේ ස්ථානය තීරණය කරයි. බොහෝ දුරට ඉඩ ඇති පරිදි, ක්‍රමලේඛකයා ප්‍රථමයෙන් ප්‍රධාන මෙනුවක් නොමැතිව යෙදුමක් ලියා ඇත, එයට ඇතුළත් වීමේ ස්ථානය සම්මත MainActivity පන්තිය විය, පසුව මෙනුව අඩංගු නව කවුළුවක් (ක්‍රියාකාරකම්) එකතු කර ආරම්භක පන්තියේ විස්තර කර එය අතින් ඇතුල් විය. ලක්ෂ්යය.

Start.smali ගොනුව විවෘත කර නැවත “දැන්වීම්” පේළිය සොයන්න, අපි පේළි 153 සහ 155 හි පළමු දැන්වීම් පන්තිය පිළිබඳ සඳහනක් සොයා ගනිමු. එය ප්‍රභව කේතයේ ද ඇති අතර, නම අනුව විනිශ්චය කිරීම, ප්‍රධාන තිරයේ දැන්වීම් ප්‍රදර්ශනය කිරීම සඳහා එය වගකිව යුතුය. අපි තවදුරටත් බලමු, FirstAd පන්තියේ අවස්ථාවක් නිර්මාණය කිරීම සහ සන්දර්භය අනුව, මෙම අවස්ථාවට සම්බන්ධ වන චේතනාවක් ඇත, පසුව cond_10 ලේබලය, උදාහරණයක් නිර්මාණය කිරීමට පෙර හරියටම සිදු කරනු ලබන කොන්දේසි සහිත සංක්‍රාන්තිය පන්තියේ:

If-ne p1, v0, :cond_10 .line 74 new-instance v0, Landroid/content/Intent; ... :cond_10

බොහෝ දුරට ඉඩ ඇති පරිදි, වැඩසටහන කෙසේ හෝ අහඹු ලෙස ප්‍රචාරණය ප්‍රධාන තිරයේ පෙන්විය යුතුද යන්න ගණනය කරයි, එසේ නොවේ නම්, කෙලින්ම cond_10 වෙත පනියි. හරි, අපි ඇයගේ කාර්යය සරල කර කොන්දේසි විරහිත එකක් සමඟ කොන්දේසි සහිත සංක්‍රාන්තිය ප්‍රතිස්ථාපනය කරමු:

#if-ne p1, v0, :cond_10 goto:cond_10

කේතයෙහි FirstAd පිළිබඳ තවත් සඳහනක් නොමැත, එබැවින් අපි ගොනුව වසා apktool භාවිතයෙන් අපගේ අතථ්‍ය පන්දම නැවත එකලස් කරමු. එය ඔබගේ ස්මාර්ට් ජංගම දුරකතනයට පිටපත් කරන්න, එය ස්ථාපනය කරන්න, එය දියත් කරන්න. Voila, සියලුම වෙළඳ දැන්වීම් අතුරුදහන් වී ඇත, ඒ සඳහා අපි අප සැමට සුබ පතන්නෙමු.

ප්රතිපල

මෙම ලිපිය ඇන්ඩ්‍රොයිඩ් යෙදුම් හැක් කිරීමේ සහ වෙනස් කිරීමේ ක්‍රම පිළිබඳ කෙටි හැඳින්වීමක් පමණි. ආරක්ෂාව ඉවත් කිරීම, අපැහැදිලි කේතය විග්‍රහ කිරීම, යෙදුම් සම්පත් පරිවර්තනය කිරීම සහ ප්‍රතිස්ථාපනය කිරීම මෙන්ම Android NDK භාවිතයෙන් ලියා ඇති යෙදුම් වෙනස් කිරීම වැනි බොහෝ ගැටලු තිරය පිටුපස පැවතුනි. කෙසේ වෙතත්, මූලික දැනුමක් තිබීම, එය සියල්ල සොයා ගැනීමට කාලය පිළිබඳ ප්රශ්නයක් පමණි.




ඉහල