macOS Bundles
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Bundles katika macOS hutumikia kama vyombo vya rasilimali mbalimbali ikiwa ni pamoja na programu, maktaba, na faili nyingine muhimu, na kuonekana kama vitu vya pekee katika Finder, kama vile faili maarufu za *.app
. Bundle inayokutana mara nyingi ni bundle ya .app
, ingawa aina nyingine kama .framework
, .systemextension
, na .kext
pia ni za kawaida.
Ndani ya bundle, hasa ndani ya saraka ya <application>.app/Contents/
, rasilimali muhimu mbalimbali zimehifadhiwa:
_CodeSignature: Saraka hii inahifadhi maelezo ya saini ya msimbo muhimu kwa kuthibitisha uhalali wa programu. Unaweza kuchunguza taarifa za saini ya msimbo kwa kutumia amri kama: %%%bash openssl dgst -binary -sha1 /Applications/Safari.app/Contents/Resources/Assets.car | openssl base64 %%%
MacOS: Inashikilia binary inayoweza kutekelezwa ya programu inayotumika wakati wa mwingiliano wa mtumiaji.
Resources: Hifadhi ya vipengele vya interface ya mtumiaji wa programu ikiwa ni pamoja na picha, hati, 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 ipasavyo.
Faili ya Info.plist
ni msingi wa usanidi wa programu, ikiwa na funguo kama:
CFBundleExecutable: Inaelezea jina la faili kuu inayoweza kutekelezwa iliyoko katika saraka ya Contents/MacOS
.
CFBundleIdentifier: Inatoa kitambulisho cha kimataifa kwa programu, kinachotumika sana na macOS kwa usimamizi wa programu.
LSMinimumSystemVersion: Inaonyesha toleo la chini la macOS linalohitajika kwa programu kutekelezwa.
Ili kuchunguza yaliyomo kwenye bundle, kama Safari.app
, amri ifuatayo inaweza kutumika: bash ls -lR /Applications/Safari.app/Contents
Uchunguzi huu unaonyesha saraka kama _CodeSignature
, MacOS
, Resources
, na faili kama Info.plist
, kila moja ikihudumu kusudi la kipekee kutoka kwa kulinda programu hadi kufafanua interface yake ya mtumiaji na vigezo vya uendeshaji.
Zaidi ya saraka za kawaida, bundles zinaweza pia kujumuisha:
Frameworks: Inashikilia frameworks zilizojumuishwa zinazotumiwa na programu. Frameworks ni kama dylibs zenye rasilimali za ziada.
PlugIns: Saraka ya plug-ins na nyongeza zinazoongeza uwezo wa programu.
XPCServices: Inashikilia huduma za XPC zinazotumiwa na programu kwa mawasiliano yasiyo ya mchakato.
Muundo huu unahakikisha kuwa vipengele vyote muhimu vimefungwa ndani ya bundle, kurahisisha mazingira ya programu ya moduli na salama.
Kwa maelezo zaidi kuhusu funguo za Info.plist
na maana zao, hati za waendelezaji wa Apple zinatoa rasilimali nyingi: Apple Info.plist Key Reference.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)