Даю подсказку: это прога была написана на Delphi с Ansi строками, я так думаю, ты сейчас используешь более свежую версию Делфей с Unicode строками. Как исправишь эту часть, тогда уже нужно будет думать о сервере и его защите.
Цитата:
Сообщение от controller
Делфи 7...
Не в этом дело.
Пусть controller наконецто попробует залогиниться на другому сервер.
я слушаю, и говорил что пробывал. Но вы видимо не увидели, что у меня при попытке зайти на сервер, а именно при вызове RequestAuthLogin, вылетает ошибка, и указывает на строку
While (temp1[1] = '0') And (temp1 <> '0') Do delete(temp1, 1, 1);
в коде
Procedure Base256StringToFGInt
(str256 : String; Var FGInt : TFGInt);
Var
temp1 : String; i : longint;
trans : Array[0..255] Of String;
Begin
temp1 := '';
initialize8(trans);
For i := 1 To length(str256) Do temp1 := temp1 + trans[ord(str256[i])]
; While (temp1[1] = '0') And (temp1 <> '0') Do delete(temp1, 1, 1); Base2StringToFGInt(temp1, FGInt);
End;
И в итоге результат нулевой.
Ты просил пример? Тебе его дали, примеры нужны для того чтобы их изучать и пытаться в них разобраться. Ты же пример пытаешься использовать как рабочий механизм, который должен работать в твоих условиях и на твоем сервере.
Хочешь учиться? Читай статьи, ищи инфу по FGInt, по RSA, читай статьи по пакетам ла2 (благо их в 2006-2009 года написали в избытке, в том числе ссылки на пару статей приведены на нашем сайте).
От тебя всего-то требовалось понять, что функция Base256StringToFGInt вызывается из функции RSAEncrypt, по названию можно понять, что RSAEncrypt шифрует данные по алгоритму RSA, если бы ты посмотрел код, то понял, что шифрация идет с помощью библиотеки FGInt (в том числе с помощью функции Base256StringToFGInt), если шифрация не срабатывает, то скорей всего неверные данные на вход функции RSAEncrypt, с которыми и нужно разбираться.
И даже если для тебя шифрация слишком сложна и разбираться c ней впадлу (тема действительно не самая тривиальная для начинающего и чрезмерно амбициозного программиста), то можно было бы задаться одним простым вопросом: зачем отправлять RequestAuthLogin если тебе даже не пришел пакет GGAuth и дисконнект происходит после твоего пакета RequestGGAuth? Статьи TechnoWiz@rd и KyberPrizrak по очередности обмена данных клиент-сервера ла2, я надеюсь, ты читал?