الميتامود تتعامل مع الهاتف ال ADB وإضهار أقسامه مثلا بسهولة وتمكنك من فورمات اليوزر داتا أو كتابة السريال
هدية للمبرمج
شكرا للمهندس#ALi_Hassani
الميتامود هي وضعية يظن محتكرو التعامل معها أنها كنز ويحتكرون أسرارها وهي بسيطة ووضيفتها هي أن تجعلك تتعامل مع الهاتف ك ال 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.
الرابط ;
https://www.mediafire.com/file/ugac1ohpztndab9/META_By+ALi+Hassani.zip/file
الكود ؛
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())