Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Помагите перевести код с Делфи на СИ или АСМ   Найти похожие ветки 

 
AsbAlex ©   (2004-04-25 22:16) [0]

Вот код:

const
 b64alphabet2: PChar = "+-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";

function DecodeBaseTB(Value: String): String;
 function DecodeChunk(const Chunk: String): String;
 var
   W: LongWord;
   i: Byte;
 begin
   W := 0; Result := "";
   for i := 1 to 4 do
     if Pos(Chunk[i], b64alphabet2) <> 0 then
       W := W + Word((Pos(Chunk[i], b64alphabet2) - 1)) shl ((4 - i) * 6);
   for i := 1 to 3 do
       Result := Result + Chr(W shr ((3 - i) * 8) and $ff);
 end;
begin
 Result := "";
 if Length(Value) mod 4 <> 0 then Exit;
 while Length(Value) > 0 do begin
   Result := Result + DecodeChunk(Copy(Value, 0, 4));
   Delete(Value, 1, 4);
 end;
end;

function DecryptTheBatPass(const Value: String): String;
var
 S: String;
 i: Integer;
 Len: Integer;
begin
 Result := "<cannot decrypt>";
 S := DecodeBaseTB(Value);
 if Length(S) < 4 then Exit;
 for i := 1 to 4 do
   S[i] := Chr($FF - Ord(S[i]));
 Len := PDWord(@S[1])^;
 Delete(S, 1, 4);
 for i := 1 to Length(S) do
   S[i] := Chr(Ord(S[i]) xor $5A);
 Result := "";
 for i := Len downto 1 do
   Result := Result + S[i];
end;


 
DrPass ©   (2004-04-25 22:57) [1]

Лучше переведи на ASM - как раз будет чем на майские праздники заняться


 
Игорь Шевченко ©   (2004-04-25 23:40) [2]

Пароли ломать нехорошо


 
AsbAlex ©   (2004-04-26 01:11) [3]

Вы здесь все больно умные, а никто помочь не хочет... :(


 
Mim1 ©   (2004-04-26 01:25) [4]

AsbAlex ©   (26.04.04 01:11) [3]

Может поможеш мне убить кота моего соседа. Дело вроде не уголовное, а некоторые моральные качества мешают мне сделать такое.


 
Digitman ©   (2004-04-26 09:48) [5]


> AsbAlex ©   (25.04.04 22:16)


> Вы здесь все больно умные


.. а ты еще умней, видимо

размести этот код в отдельном модуле Делфи, объяви имена ф-ций в нем экспортируемыми, подключи модуль к любому проекту, установи опцию линкера Generate C/C++ object files, собери проект, получи объектный файл, подключи его как положено к проекту на C/C++



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
6-1076070744
Android
2004-02-06 15:32
2004.04.11
tUdp socket


8-1076337974
PHENIX physicist
2004-02-09 17:46
2004.04.11
Рисование на форме


7-1075458419
xfrost
2004-01-30 13:26
2004.04.11
Сохранение части реестра в файл


3-1081932759
Ozone
2004-04-14 12:52
2004.04.11
Stream s + DB


14-1079610123
nikitos
2004-03-18 14:42
2004.04.11
Где найти заказчика?