<B:LOOP VALUES='DATA:POSTS' VAR='POST'><B:INCLUDE DATA='POST' NAME='POST'></B:INCLUDE></B:LOOP> ~ <DATA:BLOG.TITLE></DATA:BLOG.TITLE> <DATA:BLOG.PAGETITLE></DATA:BLOG.PAGETITLE>

Thứ Hai, 27 tháng 5, 2013

MOVINAND HEADER CONTRUCT

"movinand.bin" file format

In this page it's described the header format and the "compression schema".

hexdump of header and more

The starting point of the analysis:
00000000  46 41 54 48 45 41 44 00  00 00 00 00 00 00 00 00  |FATHEAD.........|
00000010  00 90 d3 00 00 00 00 00  00 00 00 00 00 30 f6 0a  |.............0..|
00000020  00 00 00 00 00 00 00 00  00 f0 03 00 00 00 00 00  |................|
00000030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000003b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 62  |...............b|
000003c0  f5 b7 83 62 f5 b7 10 00  00 00 00 00 10 00 00 62  |...b...........b|
000003d0  f5 b7 83 62 f5 b7 10 00  10 00 00 e0 0c 00 00 62  |...b...........b|
000003e0  f5 b7 83 62 f5 b7 10 e0  1c 00 00 20 03 00 00 00  |...b....... ....|
000003f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa  |..............U.|
00000400  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00002200  eb 3c 90 6c 69 62 46 41  54 20 20 00 02 20 08 00  |.<.libFAT  .. ..|
...

movinand.bin header

/trac/movitool/chrome/site/images/movinand_header.jpg
#define MN_FAT_MAGIC "FATHEAD"
#define MN_RFS_MAGIC "RFSHEAD"
#define MN_MAGIC_LEN 0x7

#define MN_PT_OFFSET 0x00000200 // 512 byte

/*
 * FATHEAD (or RFSHEAD) string null terminated
 * 8 byte null
 * Size of fist FAT (32bit)
 * 8 byte null
 * Size of second FAT (32bit)
 * 8 byte null
 * Size of third FAT (32bit)
*/

typedef struct moviheadfsentry
{
    u_int8_t unk[8]; //always null
    u_int32_t fs_size;
} mn_fsentry;

typedef struct movihead
{
    u_int8_t magic[7]; //maybe "FATHEAD" or "RFSHEAD"
    mn_fsentry fsentry[4];
    u_int8_t unk_5[453]; //always null
} mn_header;

partition table

Standard MBR (512 byte) at offset 0x00000200 (defined as MN_PT_OFFSET).

compression schema

Simply all filesystem are pruned from the trailing 0x00, concatenated in movinand.bin file and size stored in movinand.bin header. This way size in header could be used as offset for the subsequent filesystem in movinand.bin file.

Thứ Tư, 22 tháng 5, 2013

Hướng dẫn unlock Galaxy s3 t999

Chào ae Tinh Tế.
Mình dạo 1 vòng các forum và tự nhiên tìm thấy cách unlock free cho samsung galaxy s3 và note 2. mình đã thử trên con s3 t999 của mình và cho kết quả khả quan. Nay mình chia sẻ cho ae vì chưa thấy topic nào hướng dẫn trên tinh tế.
cách làm hết sưc đơn giản là 1 cái sim nhà mạng khác với s3 và note 2 của bạn đang sài.
nguồn http://forum.xda-developers.com/showpost.php?p=34661189&postcount=1

1. bỏ sim nhà mạng khác vào máy và mở nguồn điện thoại.
2. bấm dismiss khi máy hỏi code unlock network.
3. mở trình gọi điện thoại nhập *#197328640#
4. lúc này sẽ hiện bảng servicemode -
chọn [1] UMTS > [1] Debug Screen > [8] Phone Control > [6] Network Lock > [3]Perso SHA256 OFF
sau khi chọn [3]Perso SHA256 OFF chờ khoảng 30 giây.
lúc này sẽ bấm nút menu (nút bên trái nút home) > chọn Back
lúc nà sẽ quay trở lại màn hình Network Lock > chọn [4] NW Lock NV Data INITIALLIZ
chờ chút xíu sẽ hiện thông báo thành công ,,,


reboot máy > done

Hướng dẫn FIX tin nhắn cho điện thoại ANDROID Hàn Quốc








1. Fix vấn đề về SMS đối với những máy Hàn Quốc:

  • Cần biết:
    • Những điện thoại Hàn Quốc thường hay gặp vấn đề về độ dài tin nhắn khi sử dụng ở các nước khác, đó ko phải là lỗi, mà đó là điểm đặc trưng của Hàn Quốc. Các ký tự của Hàn Quốc không thử sử dụng bản mã Unicode (7 bit) để mã hóa mà phải dùng mã hóa riêng dùng đến 16bit nên số lượng ký tự thường <=90 ký tự.
    • Do ở Hàn Quốc thì công nghệ điện thoại rất phát triển, nên hầu như mọi người đều dùng Smart Phone, do vậy nếu tin nhắn >1 tin SMS thì họ chuyển sang tin MMS thì mức cước sẽ rẻ hơn so với nhiều tin SMS. Vậy nên các máy HTC thường thì sau 1 tin SMS sẽ tự động chuyển sang MMS.
    • Code xử lý cho Tin nhắn đều nằm ở\smali\android\telephony\smali\com\android\internal\telephony (Đối với những máy chỉ có 1 file Framework thì 2 file kia cùng nằm trong file Framework.jar, còn nếu có 2 file thì File thứ nhất sẽ nằm trong Framework.jar, file còn lại nằm trong Framework2.jar)
    • Các thiết lập khác cho SMS và MMS nằm trong file\system\customize\MNS\default.xml nằm trong file Rom .zip.
  • Fix số lượng tin SMS tự động chuyển sang MMS.
    • ROM của HTC được làm rất chặt chẽ, hầu như những thứ cần thiết đều có thể config đc, SMS và MMS cũng ko phải là ngoại lệ, hầu hết những config cần thiết cho SMS, MMS đều nằm trong file \system\customize\MNS\default.xml mà mình đã nói ở trên, các bạn chỉ cần giản nén ROM ra và tìm theo đường dẫn đó sẽ thấy.
    • Trong file default.xml thì config cho SMS, và MMS nằm trong Note . Các bạn để ý note này sẽ thấy đc các thiết lập cần thiết.
    • Các bạn tìm đến Item có tênSMS_Max_Concatenated_Number sẽ thấy hầu hết những máy HTC Hàn Quốc đều có giá trị mặc định là 1, đây là số lượng tin SMS tối đa sẽ tự động chuyển sang MMS, vấn đề là ở đây, các bạn muốn sau bao nhiêu tin SMS nó chuyển sang MMS thì chỉ cần sửa giá trị này :). Mình thường dùng giá trị là 10.
    • Oke, bây giờ bạn có thể đưa file đó trở lại rom hoặc dùng Rootexplorer để đưa trực tiếp vào thư mục system trên điện thoại.
    • Tuy nhiên, file này chỉ đc load 1 lần duy nhất đó là lần đầu tiên boot vào hệ thống. Do đó để chỉnh sửa có hiệu lực thì bạn phải cho vào rom rồi cài mới hoặc là copy vào thư mục hệ thống của máy rồi Factory Reset lại điện thoại để nó thiết lập lại.
    • Ngoài ra trong phần này ta có thể chỉnh sửa nhiều thiết lập cho SMS và MMS như bật tắt các thông báo, thay đổi dung lượng file tối đa của tin MMS, số lượng tin nhắn tối đa... các bạn có thể xem thêm trong file default để biết thêm chi tiết.
      View attachment 634827
  • Fix độ dài tin nhắn SMS.
    • Để fix tin nhắn cho máy HTC có rất nhiều cách, 1 trong những cách đơn giản nhất đó chỉnh là đánh lừa hệ thống đổi Flag của máy sang 1 máy khác ko bị giới hạn tin nhắn, tuy nhiên cách này cũng có hạn chế, như mình đã nói từ đầu, mỗi máy HTC đc phân biệt với nhau bởi các flag, do đó nếu đổi Flag sang máy khác thì tất cả các thiết lập khác đều phải theo máy đó, do vậy cần phải tìm 1 máy có các tính năng tương ứng với máy mình mà ko bị giới hạn tin nhắn để chuyển sang, đối với EVO 4G+ thì hơi khó vì duy nhất nó có mạng 4G của Wibro :D, cho nên muốn giữ đc tính năng này thì cần phải làm cách khác hoặc tìm các biến Flag điều khiển mạng 4G. Cách đổi Flag này cũng khá đơn giản nên mình sẽ ko hướng dẫn cụ thể ở đây, các bạn tìm hiểu phần Port ROM sẽ đc đề cập tới rất nhiều. Dưới đây là cách Fix ở các hàm điều khiển tin nhắn :)
    • Trước tiên để fix đc độ dài tin nhắn thì bạn phải lấy những file liên quan từ trong ROM để chỉnh sửa. Với bản GB thì mình thấy chỉ có 1 file Framework.jar nên chỉ cần chỉnh file này, còn trên ROM ICS thường có 1 file Framework.jar và 1 fileFramework2.jar, bạn phải chỉnh sửa cả 2 file này thì mới fix được.
    • Sử dụng APK Tools mình đã đưa ở trên để Decode các file framework. Chạy file Command Prompt.bat để mở cửa sổ lệnh tại thư mục hiện tại hoặc những bạn biết chút ít về CMD có thể mở trực tiếp CMD lên để làm việc.
    • Để Decode file .Jar hoặc .Apk các bạn thực hiện lệnhApktool d Tên file.đuôi. Ở đây các bạn dùng lệnh Apktool d framework.jarApktool d framework2.jar đối với ROM có 2 file framework.
    • Sau khi Decode 2 file trên ta được 2 thư mục đó làframework.jar.out framework2.jar.out chứa các mã Smali.
    • Những bạn chưa nắm rõ về mã Smali thì có thể chuyển sang code Java để dễ theo dõi và nắm bắt thuật toán của họ theo cách thức sau:
      • Mở các file Framework.jar bằng Winrar hoặc 7Zip để lấy file classes.dex, sau đó dùng tool Dex2jar mình đã đưa ở trên để chuyển sang Java bằng cách:
      • Copy file classes.dex vào thư mục chứa tool Dex2jar, có thể đổi tên nếu làm cùng lúc nhiều file.
      • Mở cửa sổ lệnh tại đây và chạy lệnh Dex2jar Tên file.đuôi, ở đây là dex2jar classes.dex.
      • Sau khi chạy xong lệnh bạn sẽ có đc file classes-dex2jar.jar.
      • Để đọc file Java này bạn sử dụng tool JD-Gui mình đã post ở trên rồi Open tới file classes-dex2jar.jar vừa chuyển đổi đc.
      • Cấu trúc file này cũng giống với thư mục Smali mình đã Decode ở trên nhưng bằng ngôn ngữ Java nên dễ đọc hơn, có điều nó chỉ đọc ko thể sửa trực tiếp đc :D.
    • Các bạn mở 2 file\smali\android\telephony\SmsManager.smali\smali\com\android\internal\telephony\gsm\SmsMessage.smali và đối chiếu với file Java sẽ thấy, một số đoạn HTC sẽ kiểm tra theo Htc_PROJECT_flag để xác định độ dài SMS và phương thức mã hóa tin nhắn. vd như đoạn sau:
      Mã:
      sget-short v5, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S
          const/16 v6, 0x50
          if-ne v5, v6, :cond_1f
    • Ở đây nó sẽ kiểm tra xem nếu Htc_PROJECT_flag = 0x50 (Hex) tức là bằng 80 dạng thập phân thì sẽ nhảy sang xử lý đoạn cond_1f. Tương tự với một số hàm khác cũng đều có fix cứng với một số Htc_PROJECT_flag. Để fix chỗ này cũng rất đơn giản, các bạn chỉ cần thay đổi những đoạn kiểm tra đó sang một mã Flag khác hoặc xóa đi là được, ở đây mình đẩy tất cả các đoạn kiểm tra với số 0x50 (Máy HTC EVO 4G+) lên 0x51. Lưu ý là các bạn nên đối chiếu với code java để chỉnh sửa chính xác hơn nhé.
    • Như vậy Flag = 0x50 sẽ ko rơi vào trường hợp đặc biệt nữa, thay vào đó là Flag = 0x51.
    • Oke giờ ta tiến hành Encode lại thành file Framework.jarFramework2.jar.
    • Ở trong thư mục Apktool ta mở cửa sổ lệnh lên và đánh lệnhApktool b Tên thư mục Ở đây là Apktool b framework.jar.outApktool b framework2.jar.out. Sau khi hoàn thành ta vào các thư mục đó sẽ thấy file\build\apk\classes.dex
    • Mở file Framework gốc bằng Winrar hoặc 7Zip rồi kéo thả fileclasses.dex vừa nhận đc thay thế file gốc trong Framework là đc.
    • Lưu ý là cũng sẽ có 1 thư mục \dist\framework.jar có thể chạy đc nhưng nó không ổn định, ta phải làm theo cách trên thì mới ổn định.
    • Như vậy ta đã đc 2 file Framework fix SMS, bạn có thể thay thế 2 file đó vào ROM ban đầu hoặc tạo file Patch để update 2 file này lên điện thoại. (Cách tạo file patch thì sẽ liên quan nhiều đến Update Script, để nói về script này cũng mất rất nhiều thời gian nên lúc nào có điều kiện mình sẽ nói thêm)
    • Các bạn có thể tham khảo 2 file mình đã chỉnh sửa cho EVO 4G+ nếu gặp khó khăn: Vui lòng Đăng Nhập hoặc Đăng Ký để nhìn thấy linkVui lòng Đăng Nhập hoặc Đăng Ký để nhìn thấy link, chỉ cần giải nén ra rồi copy đè, sau đó Encode lại là oke.
2. Thêm ngôn ngữ và thay màn hình khởi động.


  • Ngôn ngữ và màn hình khởi động
  • file\system\customize\CID\default.xml
  • Để thêm ngôn ngữ mới chỉ cần chỉnh sửa Module
    • Trớc tiên phải thêm mã location vào trong . Dưới đây là Danh sách của hầu hết các Location mà Rom Android hỗ trợ
    • Mã:
       ar_AR;ar_BH;ar_DZ;ar_JO;ar_KW;ar_LB;ar_LY;ar_MA;ar_OM;ar_QA;ar_TN;bg_BG;bg_BY;bg_CS;bg_CZ;bg_EE;bg_HR;bg_HU;bg_LT;bg_LV;bg_PL;bg_RO;bg_SI;bg_SK;bg_UA;cs_BG;cs_BY;cs_CS;cs_CZ;cs_EE;cs_HR;cs_HU;cs_LT;cs_LV;cs_PL;cs_RO;cs_SI;cs_SK;cs_UA;da_DK;da_FI;da_NO;da_SE;de_AO;de_AT;de_CH;de_DE;de_ES;de_FR;de_GB;de_IE;de_IT;de_KE;de_LU;de_MZ;de_NA;de_NG;de_NL;de_PT;de_ZA;el_GR;en_AE;en_AM;en_AO;en_AT;en_AU;en_AZ;en_BG;en_BH;en_BY;en_CH;en_CS;en_CZ;en_DE;en_DK;en_DZ;en_EE;en_EG;en_ES;en_FI;en_FR;en_GB;en_GE;en_GR;en_HR;en_HU;en_ID;en_IE;en_IN;en_IQ;en_IT;en_JO;en_KE;en_KW;en_KZ;en_LB;en_LT;en_LU;en_LV;en_LY;en_MA;en_MY;en_MZ;en_NA;en_NG;en_NL;en_NO;en_OM;en_PH;en_PK;en_PL;en_PT;en_QA;en_RO;en_RU;en_SA;en_SE;en_SG;en_SI;en_SK;en_TH;en_TN;en_UA;en_US;en_VN;en_ZA;es_ES;es_FR;es_GB;es_IE;es_IT;es_PT;es_US;fi_DK;fi_FI;fi_NO;fi_SE;fr_AE;fr_AO;fr_AT;fr_BH;fr_CH;fr_DE;fr_DZ;fr_EG;fr_ES;fr_FR;fr_GB;fr_IE;fr_IQ;fr_IT;fr_JO;fr_KE;fr_KW;fr_LB;fr_LU;fr_LY;fr_MA;fr_MZ;fr_NA;fr_NG;fr_NL;fr_OM;fr_PT;fr_QA;fr_SA;fr_TN;fr_US;fr_ZA;hi_IN;hr_BG;hr_BY;hr_CS;hr_CZ;hr_EE;hr_HR;hr_HU;hr_LT;hr_LV;hr_PL;hr_RO;hr_SI;hr_SK;hr_UA;hu_BG;hu_BY;hu_CS;hu_CZ;hu_EE;hu_HR;hu_HU;hu_LT;hu_LV;hu_PL;hu_RO;hu_SI;hu_SK;hu_UA;it_AT;it_CH;it_DE;it_FR;it_GB;it_IE;it_IT;iw_IW;ja_JP;ko_KR;nb_DK;nb_FI;nb_NO;nb_SE;nl_FR;nl_LU;nl_NL;pl_BG;pl_BY;pl_CS;pl_CZ;pl_EE;pl_GB;pl_HR;pl_HU;pl_IE;pl_LT;pl_LV;pl_PL;pl_RO;pl_SI;pl_SK;pl_UA;pt_AO;pt_BR;pt_ES;pt_FR;pt_KE;pt_MZ;pt_NA;pt_NG;pt_PT;pt_ZA;ro_BG;ro_BY;ro_CS;ro_CZ;ro_EE;ro_HR;ro_HU;ro_LT;ro_LV;ro_PL;ro_RO;ro_SI;ro_SK;ro_UA;ru_AM;ru_AZ;ru_BG;ru_BY;ru_CS;ru_CZ;ru_EE;ru_GE;ru_HR;ru_HU;ru_KZ;ru_LT;ru_LV;ru_PL;ru_RO;ru_RU;ru_SI;ru_SK;ru_UA;sk_BG;sk_BY;sk_CS;sk_CZ;sk_EE;sk_HR;sk_HU;sk_LT;sk_LV;sk_PL;sk_RO;sk_SI;sk_SK;sk_UA;sl_BG;sl_BY;sl_CS;sl_CZ;sl_EE;sl_HR;sl_HU;sl_LT;sl_LV;sl_PL;sl_RO;sl_SI;sl_SK;sl_UA;sr_BG;sr_BY;sr_CS;sr_CZ;sr_EE;sr_HR;sr_HU;sr_LT;sr_LV;sr_PL;sr_RO;sr_SI;sr_SK;sr_UA;sv_DK;sv_FI;sv_NO;sv_SE;th_TH;tr_AT;tr_CH;tr_DE;tr_TR;vi_VN;zh_CN;zh_HK;zh_TW;
    • Tiếp theo là thiết lập cho phép sử dụng đến từng Location, VD với tiếng Việt
    • Mã:
      yes
    • Cuối cùng là ngôn ngữ mặc định của hệ thống đc thiết lập tại file \system\customize\MNS\Default.xml
      Mã:
      
            
              
                false
                vi_VN
              
            
          
  • Tương tự đối với Logo khởi động và Logo tắt máy
    • Trước tiên bạn cần tìm trên mạng hoặc tự tạo cho mình file Logo khởi động dạng .Zip với độ phân giải hình ảnh phù hợp với độ phân giải màn hình máy của mình.
    • Các bạn để ý mấy dòng dưới đây:
      Mã:
      
          
      
      
        
      
    • chính là thiết lập đường dẫn tới file Logo khởi động, còn là đường dẫn tới file Logo tắt máy, thường thì 2 file này được HTC đạt trong thư mục /system/customize/resource/ Các bạn có thể cho thêm tùy chọn fps để xác định số hình chuyển động trong 1 giây, hoặc có thể sử dụng fps mặc định trong file .Zip
Sưu tầm link_ke
Lọc tại tinhte.vn
 
 
 
 
 

Biểu mẫu liên hệ

Tên

Email *

Thông báo *