-
covva.
User deleted
Bueno la idea es analizar estos fuentes y saber que hacen...y de paso sacar el algoritmo.
ESN:=FORM1.MaskEdit1.Text; // i use format XX-XX-XX-XX
while pos('-',ESN)>0 do delete(ESN,pos('-',ESN),1); // delete '-'
Add2Log('ESN: '+ESN);
// invert ESN
for I := (length(ESN) div 2) downto 1 do _ESN := _ESN + ESN[i*2-1] + ESN[i*2];
// convert Hex string to Binary string
i:=1; ESN:='';
While i<length(_ESN) Do Begin
ESN:=ESN+Chr(StrToIntDef('$'+Copy(_ESN,i,2),0));
Inc(i,2);
End;
// Write Data to NVM in 00 00 Item
Data:=#$27#$00#$00+ ESN+
#$30#$30#$30#$30#$30#$30#$30#$30#$30#$30#$30#$30#$ 30#$30#$30#$30#$30#$30#$30+
#$30#$30#$30#$30#$30#$30#$30#$30#$30#$30#$30#$30#$ 30#$30#$30#$30#$30#$30#$30+
#$30#$30#$30#$30#$30#$30#$30#$30#$30#$30#$30#$30#$ 30#$30#$30#$30#$30#$30#$30+
#$30#$30#$30#$30#$30#$30#$30#$30#$30#$30#$30#$30#$ 30#$30#$30#$30#$30#$30#$30+
#$30#$30#$30#$30#$30#$30#$30#$30#$30#$30#$30#$30#$ 30#$30#$30#$30#$30#$30#$30+
#$30#$30#$30#$30#$30#$30#$30#$30#$30#$30#$30#$30#$ 30#$30#$30#$30#$30#$30#$30+
#$30#$30#$30#$30#$30#$30#$30#$30#$30#$30#$00#$00;
Data:=qcrcinframe(Data); Data:=Data+#$7E;
Send2Com(comm,Data); ReadQcomm(read_data,5000);
IF ( (read_data[1]=#$27) and (read_data[2]=#$00) )
THEN Append2Log(' Ok') ELSE Append2Log(' Error!');
Done.
2.
//============================================================================//
Function SendLoader(var AddrLoadedHEX,JmpAddr:cardinal;loader:string):Boolean;
var data,block,read_data,setlhex:string; mloader:tmemorystream; n:cardinal;
var i,DefPos : integer;
begin
mloader:=nil;
mloader:=TMemoryStream.Create;
LoadDataFromRes(loader,mloader);
mloader.Position:=0;
n:=mloader.Size;
DefPos:=0;
Block:='';
Data :='';
while (DefPos) < (mloader.Size) do begin
// replace last CMD Inject RAM addr
IF DefPos = (mloader.Size)-4 THEN AddrLoadedHex:=JmpAddr;
SetLhex:=''; SetLength(SetLhex,4);
CopyMemory(@SetLhex[1],@AddrLoadedHEX,4);
// Take step by step 4 bytes from loader
SetLength(Data,$4);
n:=mloader.Read(Data[1],$4);
Block:=#$05+SetLhex+#$04+data;
Block:=qcrcinframe(Block);
Block:=Block+#$7E;
Send2com(comm,Block);
ReadQcomm(read_data,5000);
// Errors correctioin.
if (length(read_data)<5) or (read_data[1]<>#$05) then
begin Result:=False; Append2Log('ERROR! #1'); EXIT; end;
inc(AddrLoadedHEX,4); // increment for RAM addr inject
inc(DefPos,4); // increment for while circle
Set_progress(defpos,mloader.size);
end;
mloader.Free;
Result:=True;
END;
//============================================================================//. -
GenteSeria.
User deleted
Hola Covva a simple vista es un algoritmo de un equipo CDMA si no me equivoco es la la lectura donde se encripta la esn mediante los nvm los culaes cada vez que se flashean un equipo CDMA Sea cual sea se almacenan en algun lugar de la memoria ram para revertir nuevamente el esn a su estado original
FORM1 Es la primera Pantalla
While Post Es un Suplemeto de ( Hacer en Caso contrario Alguna Reaccion )
Bolean & Strin Nos Dice que la Seria a Buscar es Boleana y no Numero Natural
Las Variables Serian decifrables a medida que Nos digas de que equipo es el Algoritmo
Dudas Lenguaje C++ Visual C++ Y Decifrar exactamente Q ????. -
covva.
User deleted
Los algoritmos son de modem gsm-cdma ls modem contiene la data en Nvm file-- .