الميتامود هي وضعية يظن محتكرة التعامل معها أنها كنز ويحتكرون أسرارها وهي بسيطة ووضيفتها هي أن تجعلك تتعامل مع الهاتف ك ال ADB وإضهار أقسامه مثلا بسهولة وتمكنك من فورمات اليوزر داتا أو كتابة السريال والعديد من الأشياء بسهولة وفي هذا الرابط ستجد ملف ال DLL الخاص بها والسكربت وبرنامج يدعم التعامل ب الكونسول أي CMD يغنيك عن التعب وفيه كيفية الإستخدام وتحية تقدير للجميع ونعم لنشر العلم ولا للإحتكار
Explanation of dealing with metamode, and this source is specific to it, and the link in the project will be understood by all programmers of all levels. Even if you do not want programming, just use the console file in the program.
function parseImei(imeistr) — imei string to 12-byte table local imeiTbl = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} for i = 1, 15 do local digit = tonumber(imeistr:sub(i,i)) local x = ((i – 1) >> 1) + 1 if i&1 == 1 then imeiTbl[x] = imeiTbl[x] | digit else imeiTbl[x] = imeiTbl[x] | (digit << 4) end end return imeiTbl end function tblToBytestring(tbl) local s = “” for i=1, #tbl do s = s .. string.char(tbl[i]) end return s end function encodeImei(imeistr, mk) local opBlk = parseImei(imeistr) for index, value in ipairs(opBlk) do opBlk[index] = value ~ mk[index] end for i = 1, 10 do local targetIndex = (i&1 == 0) and 12 or 11 opBlk[targetIndex] = (opBlk[targetIndex] + opBlk[i]) % 256 end return tblToBytestring(opBlk) end function getRandomImei() local imeiRndStr = string.format(“%014d”, math.random(0,10000000) .. math.random(0,10000000)) local imei = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} local revmap = {0, 2, 4, 6, 8, 1, 3, 5, 7, 9} for i = 1, 14 do imei[i] = tonumber(imeiRndStr:sub(i,i)) end local oddsum = imei[1] + imei[3] + imei[5] + imei[7] + imei[9] + imei[11] + imei[13] local evensum = revmap[imei[2] + 1] + revmap[imei[4] + 1] + revmap[imei[6] + 1] + revmap[imei[8] + 1] + revmap[imei[10] + 1] + revmap[imei[12] + 1] + revmap[imei[14] + 1] local luhn = 10 – (oddsum + evensum) % 10 return imeiRndStr .. ((luhn > 9) and 0 or luhn) end — main command part local imeiFileName = arg[1] local imeiFile = assert(io.open(imeiFileName, “rb”)) local imei1 = arg[2] local imei2 = arg[3] local imeiFull = imeiFile:read(“*all”) imeiFile:seek(“end”, -12) local masterKey = { string.byte(imeiFile:read(“*all”), 1, -1) } — for MT6572, we don’t need the bitwise inversion of master key! — However, we need another mask transformation local masterMask = {0x68, 3, 0x41, 0x20, 0, 0, 0x50, 0xf2, 0x87, 1, 0, 0} for index, value in ipairs(masterKey) do masterKey[index] = value ~ masterMask[index] end masterKey[11] = 0 masterKey[12] = 0 assert(imeiFile:close())