Как это работало на 10.7.1
Код:
if (gSys.isLS>0) and (_gAbsNumPkt<4) then begin
gBlockPacket;
// delete(_gBuff,1,2);
_buf:=_gBuff;
delete(_buf,1,2);
gCrypt.BFinit(HStr('5F3B352E5D39342D33313D3D2D257854215E5B2400'));
gCr:=gCrypt.BFdec(_buf); // декриптую пакет
if (not gCr) then CriErr('не могу декриптовать пакет RequestAuthLogin от клиента');
_buf:=SetPckSize(_buf);
ScanPck5(_buf,4,'w',a,null,null,null,null);
a:=trim(a);
writelogln(a);
try
temp:=TMemIniFile.Create(_gCustomDir+a+'.ini');
temp.UpdateFile;
writelogln('File '+_gCustomDir+a+'.ini'+' найден!!!');
b:=temp.ReadString('CSLs','ScLS',b);
temp.UpdateFile;
writelogln('Успешно загружены данные из '+_gCustomDir+a+'.ini');
writelogln('Загружена строка:'+ b);
accToHex:=temp.ReadString('CHKey','key1',accToHex);
temp.UpdateFile;
//writelogln('is hex: ' + accToHex);
l:=length( accToHex);
//writelogln('length: ' + IntToStr(l));
for i:=1 to l-1 do begin
accToHex[i]:= accToHex[i] xorc key[i];
end;
accToHex:=hstr(accToHex);
//writelogln('is new hex: ' + accToHex);
if StrCmp(accToHex,a) then begin
writelogln('Скрипт бота активирован');
MsgAnonse('Скрипт бота активирован');
end else
begin
writelogln('Скрипт бота не активирован');
MsgAnonse('Скрипт не активирован');
gSys.KillSelf;
end;
except
writelogln('File '+_gCustomDir+a+'.ini'+'не найден!!!');
gSys.KillSelf;
end;
_buf:=copy(_buf,1,33)+b;
delete(_buf,1,2);
logpck(_buf,true); // добавляю пакет в лог
_buf:=SetPckSize(_buf);
gCrypt.BFenc(_buf);
gSys.SendS(_buf); // отправляю собраный пакет пакет на клиент
writelogln(' отправлен пакет LoginOk от сервера');
end;
end;
Определяли Login и добавляли в конец пакета статический блок из файла, который получался при заходе не сервер с клиента.
Теперь я поробывал 10.9.3 + WSS +WPF и gCrypt.BFinit(HStr('6B60CB5B82CE90B1CC2B6C556C6C6C 6C0000000000'));
Видно что BF ключ не подешел
Код:
------- 0 1 2 3 4 5 6 7 - 8 9 A B C D E F -------------------
000000 3A 00 14 5B 16 AD E7 80 | 21 C4 E3 F7 8C 93 76 C6 :..[.*ç€!Äã÷Œ“vÆ
000010 C6 20 F6 9F 9C 8F 7B EB | 02 6F E8 AF EC 77 D2 37 Æ.öŸœ{ë.oè¯ìwÒ7
000020 9C 49 7F 1E 41 54 72 EC | B7 EB CC 57 33 96 3A 22 œI.ATrì·ëÌW3–:"
000030 A1 D7 AF A4 EE D9 3A 4E | 48 CF ¡×¯¤îÙ:NHÏ