Junior Member
Join Date: Jan 2009 Location: mexico
Posts: 30
Member: 946776
Status: Offline
Sonork: live free Thanks Meter: 69 | dct4+ RSA hi guys what can we do to run this rsa anybody help me
how can run this PHP Code: function send_unlockframe(frame:ansistring):string;
const
cut_in:integer=233;
cut_in2:integer=241;
var
temp:string;
r_temp:string;
i:integer;
stages:integer;
begin
frame:=eliminar_espacios(frame);
//pincando en trozos de 232 contando 1 desde 0
//233 contando 1 desde 1
stages:=(((length(frame)-cut_in)div cut_in2)+2);
seq2_decre(IntToHex(stages,2));
for i:=1 to stages do
begin
if i=1 then
begin
temp:=copy(frame,1,cut_in-1);
Delete(frame,1,cut_in-1);
end
else
begin
temp:=copy(frame,1,cut_in2-1);
Delete(frame,1,cut_in2-1);
end;
if i=1 then
begin
SendComData('55 55 55 55 55 ');
sleep(100);
SendComData('55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55');
sleep(80);
seq('40');
Enviar_Recibir_Trama('53 00 00 22 1C'+temp+inttohex(stages,2),100,form1.ComPort1,true);
end
else
begin
r_temp:=Enviar_Recibir_Trama2('53'+temp,100,form1.ComPort1);
end;
// form1.Memo1.Lines.Add('INICIO: '+temp);
end;
// form1.Memo3.Lines.Add('Finish...');
Result:=r_temp;
end;
PHP Code: function lock_status(a:ansistring):boolean; // true liberado, false bloqueado
const
simfile_path:array[0..4] of string =('3F007F206F07FFFF','3F007F206F3EFFFF','3F007F206F3FFFFF','3F007F206F07FFFF','3F007F206F07FFFF');
var
blocks:array[0..6] of string;
block_cnt,i,j,temp:integer;
block_inf:string;
t_bol,bol:byte;
begin
block_cnt:=strtoint(a[70]);
t_bol:=$1;
form1.memo1.Lines.Add('Blocks: '+inttostr(block_cnt));
form1.memo1.Lines.Add(' ');
form1.memo1.Lines.Add(' ');
temp:=0;
for i:=0 to block_cnt-1 do
begin
form1.Memo1.Lines.Add('Block '+inttostr(i+1));
block_inf:='';
for j:=0 to 4 do
begin
temp:=posEx(simfile_path[j],a,temp+length(simfile_path[j]));
if a[temp+length(simfile_path[j])+15] ='3' then
begin
bol:=$1;
block_inf:=block_inf+' '+inttostr(j+1)+'.OPEN'
end
else
begin
bol:=$0;
block_inf:=block_inf+' '+inttostr(j+1)+'.CLOSE';
end;
end;
t_bol:= t_bol and bol;
form1.memo1.Lines.Add(block_inf);
Application.ProcessMessages;
end;
form1.Memo1.Lines.Add(' ');
if t_bol=1 then
form1.Memo1.Lines.Add('SimLock Status: UNLOCKED')
else
form1.Memo1.Lines.Add('SimLock Status: LOCKED');
end;
Quote:
unit UFakeSl;
interface
uses SHA1,uBigIntsV3,Sysutils,strutils;
procedure _HashString(s: string; var Digest: TSHA1Digest);
function Hex2Chr(S: string): string;
function FAKESL(imei:string;hwsing:string;asictype:string): ansistring;
//-------------------------------------*****************
implementation
function Hex2Chr(S: string): string;
var
i, j: integer;
b: BYTE;
Begin
i := 1;
j := 0;
while i < length(s) do
Begin
b := STrToInt('$' + S[i] + S[i + 1]);
inc(i, 2);
result := result + Chr(b);
end;
end;
procedure _HashString(s: string; var Digest: TSHA1Digest);
var
Context: TSHA1Context;
begin
SHA1Init(Context);
SHA1Update(Context, @S[1], Length(S));
SHA1Final(Context, Digest);
end;
function FAKESL(imei:string;hwsing:string;asictype:string): ansistring;
var
g, r, e, d, f, h, y, k, l, n, p, q, hash, hashDec: TInteger;
MyStr, FRSA, HW_HASH, SIM_HASH, PROG_DATA, PROG_DATA1, SLStrA, SLStrB, OddCHK, qStr, AT: string;
i: integer;
Digest: TSHA1Digest;
SIMLOCK: TextFile;
label
OddLoop, Failed;
begin
if length(Trim(imei)) < 14 then
begin
exit;
end
else if length(Trim(hwsing)) < 16 then
begin
exit;
end;
MyStr := Hex2Chr('9A08F7DBCC6528CF5931' + hwsing);
_HashString((MyStr), Digest);
for i := 0 to (SizeOf(Digest) - 1) do
HW_HASH := HW_HASH + IntToHex(Digest[i], 2);
// HW_HASH
OddCHK := '0';
SLStrA := '001010';
SLStrB := 'FFFFFF';
if asictype = '2' then
begin
AT := '02';
end
else if asictype = '11' then
begin
AT := '0B';
end;
OddLoop:
PROG_DATA := '0100FCAFF2FB988DE124EBE5AB985B2AC42B69F9DB720C802 4F2B2F79EAF670DC682C66BE80747B3' +
'95B9BBA51309C73F45785778E674635736BECA664256F3795 04D412088130FF915276A26C316773' + OddCHK +
'F5761F1B739BB9DDB4CCEC4578A6474A35C16D4AEC1036FAA 8FAED98E98FE205105C1120CA4F3172' +
'F56A49D84259A40B225D3677D2071965B68EDD13A605404F2 1947484AEAC11D31AA8B6A8BF2B9DDB' +
'3805' + HW_HASH + imei + '00' + '00' + '000000000100' + AT + SLStrA +
'0000000000' +
'03A08BD20008070028000040000005FFFFFF00A4000005FFF FFF' +
'0108000005FFFFFF016C000005FFFFFF01D0000005FFFFFF0 234000005FFFFFF0298000005FFFFFF' +
'000000003F007F206F07FFFFF80002FC03000503000000003 F007F206F3EFFFFC00002FF02000103' +
'000000003F007F206F3FFFFFC000030102000103000000003 F007F206F07FFFF07FE030308000503' +
'000000003F007F206F07FFFF07FE030B08000503000000003 F007F206F07FFFFF800031303000503' +
'000000003F007F206F3EFFFFC000031602000103000000003 F007F206F3FFFFFC000031802000103' +
'000000003F007F206F07FFFF07FE031A08000503000000003 F007F206F07FFFF07FE032208000503' +
'000000003F007F206F07FFFFF800032A03000503000000003 F007F206F3EFFFFC000032D02000103' +
'000000003F007F206F3FFFFFC000032F02000103000000003 F007F206F07FFFF07FE033108000503' +
'000000003F007F206F07FFFF07FE033908000503000000003 F007F206F07FFFFF800034103000503' +
'000000003F007F206F3EFFFFC000034402000103000000003 F007F206F3FFFFFC000034602000103' +
'000000003F007F206F07FFFF07FE034808000503000000003 F007F206F07FFFF07FE035008000503' +
'000000003F007F206F07FFFFF800035803000503000000003 F007F206F3EFFFFC000035B02000103' +
'000000003F007F206F3FFFFFC000035D02000103000000003 F007F206F07FFFF07FE035F08000503' +
'000000003F007F206F07FFFF07FE036708000503000000003 F007F206F07FFFFF800036F03000503' +
'000000003F007F206F3EFFFFC000037202000103000000003 F007F206F3FFFFFC000037402000103' +
'000000003F007F206F07FFFF07FE037608000503000000003 F007F206F07FFFF07FE037E08000503' +
'000000003F007F206F07FFFFF800038603000503000000003 F007F206F3EFFFFC000038902000103' +
'000000003F007F206F3FFFFFC000038B02000103000000003 F007F206F07FFFF07FE038D08000503' +
'000000003F007F206F07FFFF07FE039508000503' + SLStrB + 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF' +
'FFFFFF' + SLStrB + 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF' + SLStrB + 'FFFFFFFFFFFFFFFFFFF' +
'FFFFFFFFFFFFFFFFFFFFF' + SLStrB + 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF' + SLStrB + 'FFFF' +
'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF' + SLStrB + 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF' +
'FFF' + SLStrB + 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF';
MyStr := '';
MyStr := Hex2Chr(PROG_DATA);
_HashString((MyStr), Digest);
for i := 0 to (SizeOf(Digest) - 1) do
SIM_HASH := SIM_HASH + IntToHex(Digest[i], 2);
// SIM_HASH
hashDec := TInteger.Create;
hash := TInteger.Create;
e := TInteger.Create;
r := TInteger.Create;
h := TInteger.Create;
d := TInteger.Create;
f := TInteger.Create;
y := TInteger.Create;
g := TInteger.Create;
k := TInteger.Create;
l := TInteger.Create;
n := TInteger.Create;
p := TInteger.Create;
q := TInteger.Create;
hashDec.AssignHex(SIM_HASH); // SHA-1 HASH
hashDec.ConvertToDecimalString(True);
hash.Assign(hashDec);
r.Assign('1,461,501,637,330,902,918,203,684,832,71 6,283,019,655,932,542,976'); // 2^160
if not (hash.IsOdd) then
begin
OddCHK := IntToStr(StrToInt(OddCHK) + StrToInt('1'));
goto OddLoop;
end
else
begin
q.Assign(1);
h.Assign(r);
h.Add(hash); // 2^160 + HASH
for i := 1 to 159 do
begin
// h mod 2^i + 1
d.Assign(2); // Don't change
d.Pow(i + 1); // 2^i + 1
e.Assign(h);
e.Modulo(d);
// y^3 mod 2^i + 1
y.Assign(q);
y.Pow(3);
f.Assign(y);
f.Modulo(d);
if e <> f then
begin
repeat
// (y+2^i)^3 mod 2^i + 1
k.Assign(q);
l.Assign(2);
l.Pow(i);
k.Add(l);
k.Pow(3);
n.Assign(k);
n.Modulo(d);
q.Add(l);
until (e.ConvertToHexString) = (n.ConvertToHexString);
end;
end;
qStr := MidStr(q.ConvertToHexString, 2, length(q.ConvertToHexString));
FRSA := '01428A2F98D728AE223DDAB6DFFC727392F71CB51EC714' + Trim(qStr);
PROG_DATA1 := '0100FCAFF2FB988DE124EBE5AB985B2AC42B69F9DB720C802 4F2B2F79EAF670DC682C66BE80747B3' +
'95B9BBA51309C73F45785778E674635736BECA664256F3795 04D412088130FF915276A26C316773' + OddCHK +
'F5761F1B739BB9DDB4CCEC4578A6474A35C16D4AEC1036FAA 8FAED98E98FE205105C1120CA4F3172' +
'F56A49D84259A40B225D3677D2071965B68EDD13A605404F2 1947484AEAC11D31AA8B6A8BF2B9DDB' +
'3805' + HW_HASH + imei + '00' + '00' + '000000000100' + AT + SLStrA +
'0000000000' +
'0000000000000000000000000000000000000000000000000 00000000000000000000000000000000' +
'0000000000000000000000000000000000000000000000000 00000000000000000000000000000000' +
'00000000' + FRSA +
'03A08BD20008070028000040000005FFFFFF00A4000005FFF FFF' +
'0108000005FFFFFF016C000005FFFFFF01D0000005FFFFFF0 234000005FFFFFF0298000005FFFFFF' +
'000000003F007F206F07FFFFF80002FC03000503000000003 F007F206F3EFFFFC00002FF02000103' +
'000000003F007F206F3FFFFFC000030102000103000000003 F007F206F07FFFF07FE030308000503' +
'000000003F007F206F07FFFF07FE030B08000503000000003 F007F206F07FFFFF800031303000503' +
'000000003F007F206F3EFFFFC000031602000103000000003 F007F206F3FFFFFC000031802000103' +
'000000003F007F206F07FFFF07FE031A08000503000000003 F007F206F07FFFF07FE032208000503' +
'000000003F007F206F07FFFFF800032A03000503000000003 F007F206F3EFFFFC000032D02000103' +
'000000003F007F206F3FFFFFC000032F02000103000000003 F007F206F07FFFF07FE033108000503' +
'000000003F007F206F07FFFF07FE033908000503000000003 F007F206F07FFFFF800034103000503' +
'000000003F007F206F3EFFFFC000034402000103000000003 F007F206F3FFFFFC000034602000103' +
'000000003F007F206F07FFFF07FE034808000503000000003 F007F206F07FFFF07FE035008000503' +
'000000003F007F206F07FFFFF800035803000503000000003 F007F206F3EFFFFC000035B02000103' +
'000000003F007F206F3FFFFFC000035D02000103000000003 F007F206F07FFFF07FE035F08000503' +
'000000003F007F206F07FFFF07FE036708000503000000003 F007F206F07FFFFF800036F03000503' +
'000000003F007F206F3EFFFFC000037202000103000000003 F007F206F3FFFFFC000037402000103' +
'000000003F007F206F07FFFF07FE037608000503000000003 F007F206F07FFFF07FE037E08000503' +
'000000003F007F206F07FFFFF800038603000503000000003 F007F206F3EFFFFC000038902000103' +
'000000003F007F206F3FFFFFC000038B02000103000000003 F007F206F07FFFF07FE038D08000503' +
'000000003F007F206F07FFFF07FE039508000503' + SLStrB + 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF' +
'FFFFFF' + SLStrB + 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF' + SLStrB + 'FFFFFFFFFFFFFFFFFFF' +
'FFFFFFFFFFFFFFFFFFFFF' + SLStrB + 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF' + SLStrB + 'FFFF' +
'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF' + SLStrB + 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF' +
'FFF' + SLStrB + 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF';
// Save SIMLOCK
AssignFile(SIMLOCK, ExtractFilePath(Application.ExeName) + Edit1.Text + '_UNLOCK_SIM.RPL');
ReWrite(SIMLOCK);
WriteLn(SIMLOCK, '');
WriteLn(SIMLOCK, '[SIM_PROG_DATA_OUT]');
WriteLn(SIMLOCK, 'IMEI=' + Edit1.Text + '0');
WriteLn(SIMLOCK, 'PROG_DATA_1=' + Copy(PROG_DATA1, 1, 80));
WriteLn(SIMLOCK, 'PROG_DATA_2=' + Copy(PROG_DATA1, 81, 80));
WriteLn(SIMLOCK, 'PROG_DATA_3=' + Copy(PROG_DATA1, 161, 80));
WriteLn(SIMLOCK, 'PROG_DATA_4=' + Copy(PROG_DATA1, 241, 80));
WriteLn(SIMLOCK, 'PROG_DATA_5=' + Copy(PROG_DATA1, 321, 80));
WriteLn(SIMLOCK, 'PROG_DATA_6=' + Copy(PROG_DATA1, 401, 80));
WriteLn(SIMLOCK, 'PROG_DATA_7=' + Copy(PROG_DATA1, 481, 80));
WriteLn(SIMLOCK, 'PROG_DATA_8=' + Copy(PROG_DATA1, 561, 80));
WriteLn(SIMLOCK, 'PROG_DATA_9=' + Copy(PROG_DATA1, 641, 80));
WriteLn(SIMLOCK, 'PROG_DATA_10=' + Copy(PROG_DATA1, 721, 80));
WriteLn(SIMLOCK, 'PROG_DATA_11=' + Copy(PROG_DATA1, 801, 80));
WriteLn(SIMLOCK, 'PROG_DATA_12=' + Copy(PROG_DATA1, 881, 80));
WriteLn(SIMLOCK, 'PROG_DATA_13=' + Copy(PROG_DATA1, 961, 80));
WriteLn(SIMLOCK, 'PROG_DATA_14=' + Copy(PROG_DATA1, 1041, 80));
WriteLn(SIMLOCK, 'PROG_DATA_15=' + Copy(PROG_DATA1, 1121, 80));
WriteLn(SIMLOCK, 'PROG_DATA_16=' + Copy(PROG_DATA1, 1201, 80));
WriteLn(SIMLOCK, 'PROG_DATA_17=' + Copy(PROG_DATA1, 1281, 80));
WriteLn(SIMLOCK, 'PROG_DATA_18=' + Copy(PROG_DATA1, 1361, 80));
WriteLn(SIMLOCK, 'PROG_DATA_19=' + Copy(PROG_DATA1, 1441, 80));
WriteLn(SIMLOCK, 'PROG_DATA_20=' + Copy(PROG_DATA1, 1521, 80));
WriteLn(SIMLOCK, 'PROG_DATA_21=' + Copy(PROG_DATA1, 1601, 80));
WriteLn(SIMLOCK, 'PROG_DATA_22=' + Copy(PROG_DATA1, 1681, 80));
WriteLn(SIMLOCK, 'PROG_DATA_23=' + Copy(PROG_DATA1, 1761, 80));
WriteLn(SIMLOCK, 'PROG_DATA_24=' + Copy(PROG_DATA1, 1841, 80));
WriteLn(SIMLOCK, 'PROG_DATA_25=' + Copy(PROG_DATA1, 1921, 80));
WriteLn(SIMLOCK, 'PROG_DATA_26=' + Copy(PROG_DATA1, 2001, 80));
WriteLn(SIMLOCK, 'PROG_DATA_27=' + Copy(PROG_DATA1, 2081, 80));
WriteLn(SIMLOCK, 'PROG_DATA_28=' + Copy(PROG_DATA1, 2161, 80));
WriteLn(SIMLOCK, 'PROG_DATA_29=' + Copy(PROG_DATA1, 2241, 80));
WriteLn(SIMLOCK, 'PROG_DATA_30=' + Copy(PROG_DATA1, 2321, 80));
WriteLn(SIMLOCK, 'PROG_DATA_31=' + Copy(PROG_DATA1, 2401, 80));
WriteLn(SIMLOCK, 'PROG_DATA_32=' + Copy(PROG_DATA1, 2481, 48));
WriteLn(SIMLOCK, 'DCT4PLUS=1');
CloseFile(SIMLOCK); //
Memo1.Lines.Add('/**************************************************/');
Memo1.Lines.Add('Relock file saved to: "' + ExtractFilePath(Application.ExeName) + Edit1.Text + '_UNLOCK_SIM.RPL"');
Memo1.Lines.Add('--');
Memo1.Lines.Add(PROG_DATA1);
Memo1.Lines.Add('/**************************************************/');
hashDec.Free;
hash.Free;
e.Free;
r.Free;
h.Free;
d.Free;
f.Free;
y.Free;
g.Free;
k.Free;
l.Free;
n.Free;
p.Free;
q.Free;
result:=PROG_DATA1;
end;
end;
end.
| |