Saturday, November 3, 2018

iOS ဆိုတာ ဘာလဲ? ipsw ဆိုတာ ဘာလဲ?

iOS ဆိုတာ ဘာလဲ?
ipsw ဆိုတာ ဘာလဲ?
Firmware Upgrade/Downgrade ဆိုတာ ဘာလဲ?
ဗဟုသုတ အေနနဲ႔ သိခ်င္ရင္....
What is iOS ?
iOS ဆိုတာ.. ( iPhone/iPod/iPad Operating System ) ျဖစ္ပါတယ္။
အရင္ကေတာ့ iPhone OS လို ့ေခၚၿပီး ခုေနာက္ပိုင္းမွာေတာ့ iOS လို ့ေျပာင္းလဲေခၚဆိုလာပါတယ္။
What is IPSW?
" IPSW "ဆိုတာ..." iPhone/iPod/iPad Software " ပါ ။
IPSW ကေတာ့ ကမာၻ ့ပထမဆံုး iPhone
ကိုစမိတ္ဆက္ကတည္းကအသံုးျပဳခဲ့ျခင္းျဖစ္ပါတယ္။
iPhone ကို iPhone 2G လို႔လဲ ေခၚၾကတယ္။တကယ္ကေတာ့ iPhone ပါပဲ အေနာက္က မည္သည့္ class မွ မပါပါဘူး ..
iPhone ကို January 09 ရက္ / 2007 မွာ စတင္မိတ္ဆက္ျပသခဲ့ၿပီးေတာ့ ... June 29 ရက္ / 2007 မွာစတင္ျဖန့္ခ်ီခဲ့ပါတယ္ ။
အသံုးျပဳတဲ့ iPhone OS က version 1 ျဖစ္ပါတယ္ ။ အဲ့ကတည္းက ipsw ကိုစသံုးခဲ့ျခင္းျဖစ္ပါတယ္ ။
IPSW file ထဲမွာဘာေတြပါဝင္သလဲဆိုေတာ့...
>firmware folder (၁) ခု
>BulidManifest.plist (plist = Apple Property List)
>restore.plist
>kernalcache file ၂ ခု (Document)
>dmg file ၃ ခု (dmg = Disk Image)
တို ့ပါဝင္ပါတယ္ ။ ဒီ file (၅)ခုမွာ size
အမ်ားဆံုးကေတာ့ dmg file (၃) ခုထဲက
(၁) ခုပါ။
size 1GB or 2GB ေက်ာ္ေက်ာ္ေလာက္ရွိပါတယ္ ။ က်န္တဲ့ file (4) ခုက size ေသးပါတယ္ ။
> BuildManifest
*BuildManifest.plist*
BuildManifest.plist ထဲမွာကေတာ့ ဖိုင္ (၅) ခုပါဝင္ပါတယ္
>Buildidentities
>ManifestVersion
>ProductBuildVersion
>ProductVersion
>SupportedVersionTypes
တို ့ပဲျဖစ္ပါတယ္ ။ အဲ့ ဖိုင္ (၅) ခုထဲက
>Buildidentities နဲ ့
>SupportedVersionTypes
တို ့က Array အမ်ဳိးအစားပါ ။
Array ျဖစ္တာမို ့သူ ့ထဲမွာအခန္းေတြထပ္ၿပီးပါဝင္ပါေသးတယ္ ။
(Programming သမားေတြနားလည္ပါလိမ့္မယ္ .. Array ဟာမတူညီတဲ့ data types ေတြကို အခန္းလိုက္အခန္းလိုက္ သူ ့အမ်ဳိးအစားတူေတြပဲစုၿပီး စုသိမ္းေပးထားတဲ့ ေနရာတစ္ခုပါ )
What is Downgrade / Upgrade?
iDevice ကို Downgrade / Upgrade လုပ္တဲ့ အခါမွာ Buildidentities ထဲ က Array အခန္းေတြ
ထဲကမွကိုယ့္ device နဲ ့ကိုက္ညီတဲ့ Device Class / Board ID ကိုရွာပါတယ္
Array အခန္းေပါင္း (၈) ခန္းပါပါတယ္ အဲ့(၈) ခန္းထဲကမွ ကိုယ့္ Device နဲ ့ကိုက္ညီတဲ့ အခန္းတိုင္းကို တိုက္စစ္မွာျဖစ္ပါတယ္
ၿပီးမွ Apple က TSS (Tatsu Signing Server)ကို ကိုယ့္ Device အတြက္ တင္မယ့္ firmware ဟာ compatible ျဖစ္မျဖစ္ shshblobs file နဲ ့စစ္ပါတယ္ .. (၂) ခုက ကိုက္ညီမွရွိမွသာ device ကို firmware downgrade / upgrade လုပ္ႏိုင္တာျဖစ္ပါတယ္။
shsh blobs နဲ ့ပတ္သတ္ၿပီး အေသးစိတ္သိခ်င္ရင္ေတာ့..
What is shsh blobs ?
shsh blobs ဆိုတာ iOS software upgrade / downgrade လုပ္တဲ့အခါမွာ အသုံးျပဳပါတယ္။
Apple က iOS software Upgrade ျပဳလုပ္တဲ့အခါမွာ Tatsu Signing Server (TSS) ကေန စစ္ေပးပါတယ္။
ဖုန္းထဲက hardware အစိတ္အပိုင္းေလးတစ္ခုရွိပါတယ္။
အဲ့ဒါကို apple ဆီ request ပို ့လိုက္ပါတယ္..( restore / update လုပ္ေနတုန္း internet လိုတာဒါေၾကာင့္ပါ )
အဲ့လို request ပို ့လိုက္တဲ့အခါ Apple က Verify လုပ္ပါတယ္။
ျပည့္စုံျပီဆိုမွ Upgrade / Downgrade လုပ္လို႔ရတာပါ ။
shsh blobs မွာ အစိတ္အပိုင္း (၃) ခုရွိပါတယ္။
Apple ရဲ႕Tatsu Signing Server (TSS) ကေနအဓိက စစ္တဲ့ (၃) ခုပါ..
1-ဖုန္းေမာ္ဒယ္
2-လက္ရွိတင္ထားတဲ့ firmware version
3-ဖုန္းရဲ႕ ECID (Exclusive Chip Identification)
ECID ဆိုတဲ့ ကီးကုတ္ေလးေတြ က ဖုန္းတလံုးအတြက္ တခုပဲရွိပါတယ္။
တသက္လံုးမေျပာင္းလဲတဲ့ကုတ္ေလးေတြပါ။
ဖုန္းအမ်ဳိးအစားကြာရင္ ECID ေလးေတြလဲကြာသြားပါတယ္ ..
ဒါေၾကာင့္ iPh 6 သမားရဲ႕ blobs ကို iPh 7 မွာ သံုးယူလို ့မရတာပါ ..
Why save shsh blobs ?
ဘာလို ့ shsh blobs ကို save ရမွာလဲ ?
Apple က signing ပိတ္ထားတဲ့ version ကို ျပန္ဆင္းႏိုင္ဖို ့ပါ။
ဥပမာ... လက္ရွိ 11.1.2 ပဲထားပါေတာ့
11.3.1 ကို jailbreakလုပ္ထားတယ္။ Apple ကလဲ signing ေပးထားေသးတယ္...
11.3.1 shsh ကိုေတာ့ save ထားလိုက္မယ္...
ေနာက္ ၂ ပတ္ေလာက္ၾကာရင္.. 11.3.1 ကို Apple က တင္ခြင့္ပိတ္လိုက္မယ္။
မည္သူမွတင္မရေတာ့ဘူး ..
ဒါေပမယ့္ ..signing ျဖစ္ေနတဲ့ အခ်ိန္တုန္းက blobs ကို save ထားတဲ့အတြက္ iOS 12 ေပးထားေပမယ့္ 11.3.1 ကို Firmware တင္လို႔ရသြားပါတယ္..
Apple က signing ေပးတဲ့ အခ်ိန္တုန္းက blobs ကို save မထားရင္ေတာ့ Downgrade ျပဳလုပ္ႏိုင္မွာ မဟုတ္ပါဘူး။
ဒါေၾကာင့္..Downgrade ျပဳလုပ္ခ်င္သူမ်ားက shsh blobs နဲ႔ Firmware ကို save ထားျခင္း ျဖစ္ပါတယ္။
Future Restore လို႔ ေခၚၾကပါတယ္။
အားလုံးပဲ အဆင္ေျပၾကပါေစ..

No comments:

Post a Comment