Андройд гар утас маань Qualcomm MSM7225 гэсэн SoC-той юм байна. MSM7225 нь дотроо 2 ширхэг ARM процессор агуулдаг аж. 528 Mhz-ын хурдтай ARM11 процессор дээр нь Андройд үйлдлийн систем харин арай удаан ARM9 дээр нь GSM/UMTS-г хариуцсан AMSS (Advanced Mobile Subscriber Software) хэмээх үйлдлийн систем тус тус ажиллана. Энэ хоёр процессор дундаа 512MB-ын хэмжээтэй нэг л flash memory хувааж ашиглана. Гэхдээ AMSS нь Android-ын ашиглаж байгаа санах ойд хандаж болдоггүй, Андройд нь ч гэсэн нөгөө процессорын flash санах ойг хардаггүй аж.
Андройд, AMSS хоёр хоорондоо AT коммандын тусламжтайгаар харьцана. Хэрвээ та 99110000 гэсэн дугаар руу залгавал Андройд үйлдлийн систем AMSS руу зөвхөн "ATD 9911000" тушаал илгээнэ. Энэ тушаалыг аваад AMSS өгөгдсөн дугаар руу залгана. Андройд өөр юу ч хийхгүй, бусад дуудлагатай холбоотой бүх зүйлсийг зөвхөн AMSS хариуцна. Нэг ёсондоо Андройд маань гар утасны үйлдлийн систем биш харин зөвхөн гар утасны UI л гэсэн үг, харин AMSS маань гар утасны жинхэнэ үйлдлийн систем нь юм.
AMSS-д зориулсан flash санах ой дотор EFS2 гэсэн нэг partition байна. Энэ дотор IMEI (International Mobile Equipment Identity), SPL (Service Programming Code), simlock гэх мэт GSM/UMTS-тэй холбоотой бүх чухал мэдээлэл хадгалагдана. Тиймээс ямар нэгэн аргаар Андройдоос EFS2 partition-руу хандаж чаддаг байж түгжээ гаргадаг болно. Ингэхийн тулд янз бүрийн юм оролдож үзсэнээс хамгийн гайгүй арга нь kernel module бичиж харагдахгүй байгаа partition-уудыг харагдуулах арга байв.
Энэ аргыг ашиглахын тулд та гар утсаа шоронгоос гаргасан байхаас гадна Андройд SDK болон NDK 5b суулгасан байх хэрэгтэй. Үүний дараа та гар утсандаа тохирсон kernel олох хэрэгтэй. Би гар утсандаа таарсан kernel эндээс олов. Татаад задалсныхаа дараа гар утсаа компьютертэйгээ холбоод доорх тушаалуудыг бүрхүүл дээр бичээрэй:
- cd /path/to/kernel
- adb pull /proc/config.gz .
- gunzip config.gz
- mv config .config
- make ARCH=arm CROSS_COMPILE=/path/to/android/ndk5b/toolchains/arm-eabi-4.4.0/prebuilt/bin/linux-x86/bin/arm-eabi- modules_prepare
mtd-hack.c-г хадгалсан хавтас дотроо та хоосон Makefile үүсгээд дотор нь obj-m += mtd-hack.o гэж бичиж хадгалаарай. Одоо та доорх тушаалуудыг ашиглаад kernel module-аа build хийгээд, гар утас руугаа хуулж ажиллуулаарай:
- cd /path/to/mtd-hack-module
- make ARCH=arm CROSS_COMPILE=/path/to/android/ndk5b/toolchains/arm-eabi-4.4.0/prebuilt/bin/linux-x86/bin/arm-eabi- -C /path/to/kernel M=/path/to/mtd-hack-module modules
- adb push mtd-hack.ko /sdcard/mtd-hack.ko
- adb shell
- su
- cd /sdcard
- insmod mtd-hack.ko
- dd if=/dev/mtd/mtd9 of=/sdcard/fulldump.bin bs=4096
- rmmod mtd_hack
Харамсалтай нь sim unlock key нь NV item биш, харин EFS2 дотор өөрийн гэсэн файл систем дотор perso.txt гэсэн файл дотор хадгалагдана. Тэгэхээр үүнийг эхлээд reverse engeneering хийж байж unlock key олно. Би одоохондоо үүнийг хийж амжаагүй байгаа. Гэхдээ цаад учрыг нь ольё гэхгүйгээр түгжээ гаргая гэвэл маш амархан арга нэг бий. Түгжээгүй утас нэгийг олоод EFS2-ыг нь backup хийгээд энэ backup-аа түгжээтэй утасруугаа хуулахад л хангалттай. Ингээд гар утас тань түгжээгүй болчихно. Гэхдээ арай л fun багатай арга юм даа...
EFS2-g backup хийгээд өөр утас руу хуулчихаар тэр утаснуудын IMEI нь давхардаад нэг сүлжээнд ажиллахаа болихгүй юу?
ReplyDeleteТэр үл мэдэгдэх filesystem нь EFS2 дотор NV item байдлаар байгаа юу?
Би хараахан оролдож амжаагүй л байна.
1. ijil IMEI tei baij bolohgui. Backup aa hex editor oor ongoilgoj baigaad l solichno. IMEI ees gadna Serial Number, Bluetooth adress aa bas zov tohiruulah heregtei baih.
Delete2. 1 NV item iin hemjee 128 byte bail uu daa. Tegeheer file system ni arai oor gazar baigaa. lav perso.txt geed haihaar yum garj irehgui baisan. Bodvol crypted l baigaa bolov uu...
shw-m110s утсыг яаж сим түүлкит аппийг нь ажилуулдаг болох вэээ туслаач
ReplyDeletesim toolkit ajiluulna gej yu gesen ug ve?
Deletehaha hezee bolohgui
ReplyDelete