Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 24.07.2009, 10:27   #1
Пользователь
 
Аватар для Be3geBJIa3
 
Регистрация: 23.01.2008
Сообщений: 93
Сказал Спасибо: 31
Имеет 65 спасибок в 23 сообщенях
Be3geBJIa3 пока неопределено
По умолчанию

xkor, может я немного не правильно выражаю мысли, меня не на одном форуме не могут понять что мне нужно.
Мне нужно реализовать подключение к логин серверу С4 (без RAS) волкера 10.9.3 (не 10.9.1), так сказать, все операции сделать на делфи в своей длл без стороних програм. Запустил лоадер, загрузился волкер и все. Все это для автоматизащии запуска. Много програм приходится контролировать, а так запустил програму автостарта 1-100 ботов и все. Многим же не нужны расширенные скрипты, хватает функционала волкера, а как это сделать и где взять эти ключи RSA я никак не могу понять, просто никогда не занимался криптографией.

Тут la2_client_emu, есть пример, да и на форуме тоже, как получив от сервера пакет init, разобрать его, но мне нужно еще и самому создать этот замыслованый init (186) пакет и потом еще расшифровать чтобы получить логин и пароль.

Не хочется придумывать своего бота, хватает и волкера, просто сервер _BsFG.ru (абисс) и там постояно что-то меняется, а так своя програма, сразу, что нужно исправил и все.

Последний раз редактировалось Be3geBJIa3, 24.07.2009 в 10:57.
Be3geBJIa3 вне форума   Ответить с цитированием
Старый 24.07.2009, 13:27   #2
Рыцарь
 
Аватар для dmitry501
 
Регистрация: 01.10.2007
Сообщений: 293
Сказал Спасибо: 42
Имеет 50 спасибок в 37 сообщенях
dmitry501 пока неопределено
По умолчанию

Краткая инструкция и пояснения, почему это невозможно, хотя и возможно с извращениями
1. Нужно расшифровать пакет от IL бота RequestAuthLogin
Выглядит он так
Код:
LA2:      "RequestAuthLogin"                 size: 178    prot: undefined
Addr:  Size:    Type:         Description:     Value:
0000     2   word          psize             178        | $00B2                             
0002     1   byte          ID                0          | $00                               
0003    14   AsciiString   Login             "h1a{?Áùû-Š.´,"                             
0011    16   AsciiString   Password          "œâ¢Õ?¸ÆFÖÅ.Œ’iý"                           
0021     1   byte          c                 5          | $05                               
0022     4   integer       d                 -48383817  | $FD1DB8B7                         
0026     4   integer       d                 627490541  | $2566BEED                         
002A     4   integer       chkSum1           -702488345 | $D620E0E7                         
002E     4   integer       chkSum2           1265086685 | $4B67B0DD
2. Послать его на сервер уже в С4 формате
Код:
LA2:      "RequestAuthLogin"                 size: 50     prot: 30810  $785A
Addr:  Size:    Type:         Description:     Value:
0000     2   word          psize             50         | $0032                             
0002     1   byte          ID                0          | $00                               
0003    14   AsciiString   Login             "login"                                    
0011    16   AsciiString   Password          "pass"                                   
0021     1   byte          c                 56         | $38 '8'                           
0022     4   integer       d                 154        | $0000009A                         
0026     4   integer       d                 0          | $00000000                         
002A     4   integer       chkSum1           1615025842 | $604356B2                         
002E     4   integer       chkSum2           0          | $00000000
Теперь о том, почему это невозможно.
Чтобы расшифровать логин и пароль нужно знать закрытый ключ RSA, который знает только сервер. Не зная его нормальный логи и пароль можно получить лишь перебором, используя открытый ключ из walker-а

Хотя я вполне допускаю, что этот закрытый ключ сервера не знаю только я, и его можно добыть например из исходников java-сервера.
Мне он неизвестен, поэтому и я пишу "невозможно". Если кто-нибудь знает его или другую информацию о том, как получить логин и пароль из зашифрованного RSA пакета бота - пишите, тогда dll - перекодировщик создать несложно.
dmitry501 вне форума   Ответить с цитированием
Старый 24.07.2009, 13:27   #3
Рыцарь
 
Аватар для dmitry501
 
Регистрация: 01.10.2007
Сообщений: 293
Сказал Спасибо: 42
Имеет 50 спасибок в 37 сообщенях
dmitry501 пока неопределено
По умолчанию

И тут мы как - раз подходим к методу с "извратом".
Мы ведь знаем и логин и пароль! Это ведь наш бот!
Т.е. можно не получать логин и пароль из пакета бота, а например из внешнего .ini файла. Тогда достаточно заранее наколотить в него все логины и пароли наших ботов и мы получим работоспособный, хотя и не совсем безопасный (пароли все в открытом виде) способ.

Остальный вопросы преобразования тривиальны и не интересны.
dmitry501 вне форума   Ответить с цитированием
Старый 24.07.2009, 13:35   #4
Местный
 
Аватар для Yegor
 
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
Yegor пока неопределено
По умолчанию

dmitry501, на самом деле секретный ключ на сервере генерируется для каждого подключения отдельно, поэтому мы знать его не можем. А для волкера мы как бы и есть сервер, тоесть мы сами генерируем секретный ключ, отправляем в первом пакете Init обычный, а потом получив от волкера пакет RequestAuthLogin расшифровываем и пересылаем дальше уже в формате ц4. Проблемма лишь в том что это сделать не просто. Хотя думаю есть библиотеки которые позволяют сделать это без особых утруждений.
Yegor вне форума   Ответить с цитированием
Старый 24.07.2009, 16:04   #5
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Цитата:
Сообщение от Yegor Посмотреть сообщение
секретный ключ на сервере генерируется для каждого подключения отдельно
генерация ключа довольно ресурсоёмкий процесс так что сервак генерит несколько ключей при его запуске а при подключении уже просто выбиает один из них и с ним работает)
Цитата:
Сообщение от Be3geBJIa3 Посмотреть сообщение
Мне нужно реализовать подключение к логин серверу С4 (без RAS) волкера 10.9.3 (не 10.9.1)
ну я про 10.9.1 рассказывал к тому что он скорее всего по авторизации ничем от 10.9.3 не отличается, у тебя этот 10.9.3 верифицируется как?, официально или какимнить видом кряка?, если кряком то 99,9% что тебе подходит метод которым я работаю с 10.9.1 (и с 10.8.6 кстати так же было)
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Старый 24.07.2009, 16:35   #6
Пользователь
 
Аватар для Be3geBJIa3
 
Регистрация: 23.01.2008
Сообщений: 93
Сказал Спасибо: 31
Имеет 65 спасибок в 23 сообщенях
Be3geBJIa3 пока неопределено
По умолчанию

Да мне всегото нужна рабочая пара RSA ключей для ла2, 2 функции (скрамбле, дескрамбле), и 2 функции:
Procedure RSAEncrypt(P : String; Var exp, modb : TFGInt; Var E : String);
Procedure RSADecrypt(E : String; Var exp, modb, d_p, d_q, p, q : TFGInt; Var D : String);
из пакета FGInt.

Только где взять ключи, 1 проблема,
deScrambleRSAKey есть, где взять ScrambleRSAKey если такая есть,
какие аргументы используют RSAEncrypt, RSADecrypt.
Вродебы все.

xkor, с кряком, конечно подойдет, только как это реализовать? просто у меня вылетел тот период когда все мучали 10.8.6, я использую 10.7.4, но щас переходят на СТ2.2 и слишком много пакетов переделывать для гейм сервера, ведь проще приучить 10.9.3 к логину С4, тем более если многие уже это сделали с 10.8.6.

Если подойти с другой стороны.

Задача такая написать на делфи простейший логин-сервер для тестирования бота, типа walker 10.9.3 (верификация отломана), т.е. для СТ2.2.
Какие для этого нужны функции и порядок для создания init пакета. Пару RSA ключей взять постояную и заведомо известную.

Последний раз редактировалось Be3geBJIa3, 24.07.2009 в 17:28.
Be3geBJIa3 вне форума   Ответить с цитированием
Старый 24.07.2009, 21:43   #7
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Цитата:
Сообщение от Be3geBJIa3 Посмотреть сообщение
Procedure RSAEncrypt(P : String; Var exp, modb : TFGInt; Var E : String);
Procedure RSADecrypt(E : String; Var exp, modb, d_p, d_q, p, q : TFGInt; Var D : String);
из пакета FGInt.
готовые RSAEncrypt и RSADecrypt из пакета FGInt работают не так как надо для линейки, но гдет на этом форуме постилась RSAEncrypt на основе FGInt работающая правильно, а поскольку в RSA и зашифровка и дешифрока это вобщем то один и тот же алгоритм (если не рассматривать их оптимизированные версии) то и в качестве RSADecrypt её юзать можно, надо только вместо открытого ключа подставлять закрытый)
Цитата:
Сообщение от Be3geBJIa3 Посмотреть сообщение
deScrambleRSAKey есть, где взять ScrambleRSAKey если такая есть
хех, ScrambleRSAKey это deScrambleRSAKey в обратном порядке, если не можешь переписать deScrambleRSAKey в ScrambleRSAKey то дальше тебе идти не стоит)
Цитата:
Сообщение от Be3geBJIa3 Посмотреть сообщение
Задача такая написать на делфи простейший логин-сервер для тестирования бота, типа walker 10.9.3 (верификация отломана), т.е. для СТ2.2.
Какие для этого нужны функции и порядок для создания init пакета. Пару RSA ключей взять постояную и заведомо известную.
голин сервер (для СТ1-СТ2.3 ибо авторизация у них одинаковая) на дельфи у меня написан (правда пока до стадии когда он должен выдать список серверов, но авторизация по RSA полностью готова) так что помочь советом могу, правда у меня RSA построено на библиотеке libgmp-3.dll (ибо в 20 раз быстрее FGInt) и ключи у меня не постоянные а при старте генерятся 10 новых как и положено.
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Старый 25.07.2009, 12:39   #8
Пользователь
 
Аватар для Be3geBJIa3
 
Регистрация: 23.01.2008
Сообщений: 93
Сказал Спасибо: 31
Имеет 65 спасибок в 23 сообщенях
Be3geBJIa3 пока неопределено
По умолчанию

xkor, вот ты пишешь что у тебя по 10 ключей генерится каждый раз, а я уже какой день прошу всего 1-ну рабочую пару RSA ключей. В инете можно найти готовые или генератор, но мне нужны для ла2, небольшая но есть разница.
xkor, если тебя не затруднит, дай пожалуйста в пм всего 1 рабочую пару для ла2.

Последний раз редактировалось Be3geBJIa3, 25.07.2009 в 12:42.
Be3geBJIa3 вне форума   Ответить с цитированием
Старый 25.07.2009, 17:51   #9
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Be3geBJIa3, зачем же в ПМ, чего в этом секретного, вот лови:
Код:
Public: 65537
Private: 7582755625242956920642930520527082160626422379908752381910705950070334735560292334593794066616085030704141292953715226107494399153265140625795213136123750461894212934603837599718310894742818357253442801325482875503123628608572472135307672677104600014566330916129493501547673609963817964531594226364302807993
Module: 36003119279254340919233191155819994462144015323631087796369045558919041336261311217291420831979885869539760046099227325465975544251795806795098231058620765559861865193839298972977890750546282107564404129817865227695586942238461328794310735620313338450074803752108593275893255820506054616731494071499279307243
ЗЫ это в десятичной системе счисления, у FGInt есть функции для преобразования строки в такой системе во внутренний формат чисел...
ЗЗЫ на всякий случай уточню что от сервера приходит заскрембленый Module, а Public всегда равен 65537
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
За это сообщение xkor нажился 3 спасибками от:
Старый 12.02.2012, 08:15   #10
Новичок
 
Регистрация: 12.02.2012
Сообщений: 27
Сказал Спасибо: 8
Имеет 0 спасибок в 0 сообщенях
ErgoZ пока неопределено
По умолчанию

Доброго времени суток. На яве пытаюсь подрубится к интерлюду. Получаю такой пакет:

02-12 03:08:53.001: I/System.out(1100): BA00EA7497F83ABA831B54950774A27B2D4275EEC85548D6A8 7FEFF436E6177FC581B98398CCB2CC66CBA777691E7139F87E 7763F60B5A29014479921B11944BC9DB0D7D4ED7C9756991AF 8C46C2DC67DDEB6362BD501274F330FB843891CE06FD7B3F32 C758758C061D3844DE5FD233199C2C96709565C01919269E1F BC82DFFE8FF18A9ECDA3673FEF8607F88820922284636C0A3B 51B203DD583AF745954350DB96836EBF7D32606B1346F9CE60 C1F47119FA5D8D87852E77


После этого, я так понимаю, пытаюсь делать декод по блоуфишу от интерлюда (6B60CB5B82CE90B1CC2B6C556C6C6C6C) (кстати норм декодера на яву не нашёл, и не уверен что фц-ия правильно работает, поэтому сюда и пишу). В результате я получаю в декоде примерно такой пакет:

02-12 03:08:53.072: I/System.out(1100): 2EB993A28A2CD0CA39CFA3D31931AC502A424CC5173B6DFCC9 DAF0A76DA01B1794F32287AD99AC7D1D0856E95BE4245C72B9 612A078FEA4D9D6F2C2BAB3251641C379D9863D1D2111F8EA0 8B0F30C6CF983A38ED12D777681E565ADFCFFE805041FEECD2 089222EF1C8392174A250C35FCF17AB4C68A368934F724763D 7FCB9A2D4EA981A6BC1779438687412277FFB49FD893B6E6B2 F665B2040BCE8ED38F51B04996EB5CFA13274D62C62F4CA347 DEB1D1AF407B2428BFF662

Какие мои дальнейшие действия? Ксорить? а то я уже запутался да и на яву от делфей сильно отличается) на делфях проще, но нужда заставляет на яве писать)

И я так понимаю что по блоуфишу я допустил ошибку, что включил в декод сюда ba00?
ErgoZ вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Программинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 22:15.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!