macOS Bundles
Last updated
Last updated
Jifunze na zoezi la Udukuzi wa AWS:Mafunzo ya HackTricks ya Mtaalam wa Timu Nyekundu ya AWS (ARTE) Jifunze na zoezi la Udukuzi wa GCP: Mafunzo ya HackTricks ya Mtaalam wa Timu Nyekundu ya GCP (GRTE)
Vifurushi katika macOS hutumika kama makontena ya aina mbalimbali za rasilimali ikiwa ni pamoja na programu, maktaba, na faili zingine muhimu, ikifanya ionekane kama vitu vya pekee katika Finder, kama vile faili za *.app
zinazojulikana. Vifurushi vinavyokutwa mara kwa mara ni pamoja na vifurushi vya .app
, ingawa aina zingine kama vile .framework
, .systemextension
, na .kext
pia ni maarufu.
Ndani ya kifurushi, hasa ndani ya saraka ya <application>.app/Contents/
, kuna rasilimali muhimu mbalimbali zilizohifadhiwa:
_CodeSignature: Saraka hii inahifadhi maelezo ya kusaini kanuni muhimu kwa ajili ya kuthibitisha uadilifu wa programu. Unaweza kukagua maelezo ya kusaini kanuni kwa kutumia amri kama: %%%bash openssl dgst -binary -sha1 /Applications/Safari.app/Contents/Resources/Assets.car | openssl base64 %%%
MacOS: Ina kielekezwa cha utekelezaji wa programu ambayo hufanya kazi wakati wa mwingiliano wa mtumiaji.
Resources: Ghala la vipengele vya interface ya mtumiaji wa programu ikiwa ni pamoja na picha, nyaraka, na maelezo ya interface (faili za nib/xib).
Info.plist: Inafanya kazi kama faili kuu ya usanidi wa programu, muhimu kwa mfumo kutambua na kuingiliana na programu kwa usahihi.
Faili ya Info.plist
ni msingi wa usanidi wa programu, ikijumuisha funguo kama vile:
CFBundleExecutable: Inabainisha jina la faili kuu ya utekelezaji iliyoko katika saraka ya Contents/MacOS
.
CFBundleIdentifier: Hutoa kitambulisho cha ulimwengu kwa programu, kinachotumiwa sana na macOS kwa usimamizi wa programu.
LSMinimumSystemVersion: Inaonyesha toleo la chini la macOS linalohitajika ili programu iweze kufanya kazi.
Kutafiti maudhui ya kifurushi, kama vile Safari.app
, unaweza kutumia amri ifuatayo: bash ls -lR /Applications/Safari.app/Contents
Utafiti huu unaonyesha saraka kama vile _CodeSignature
, MacOS
, Resources
, na faili kama vile Info.plist
, kila moja ikihudumia lengo la pekee kutoka kwa kuhakikisha programu hadi kufafanua interface yake ya mtumiaji na vigezo vyake vya uendeshaji.
Zaidi ya saraka za kawaida, vifurushi vinaweza pia kuwa na:
Frameworks: Ina mifumo iliyofungwa inayotumiwa na programu. Mifumo ni kama dylibs na rasilimali ziada.
PlugIns: Saraka kwa ajili ya programu za ziada na nyongeza zinazoboresha uwezo wa programu.
XPCServices: Inashikilia huduma za XPC zinazotumiwa na programu kwa mawasiliano nje ya mchakato.
Muundo huu unahakikisha kuwa vipengele vyote muhimu vimefungwa ndani ya kifurushi, kufanikisha mazingira ya programu yenye moduli na salama.
Kwa maelezo zaidi kuhusu funguo za Info.plist
na maana yao, nyaraka za maendeleo ya Apple zinatoa rasilimali nyingi: Apple Info.plist Key Reference.
Jifunze na zoezi la Udukuzi wa AWS:Mafunzo ya HackTricks ya Mtaalam wa Timu Nyekundu ya AWS (ARTE) Jifunze na zoezi la Udukuzi wa GCP: Mafunzo ya HackTricks ya Mtaalam wa Timu Nyekundu ya GCP (GRTE)