purebasic.info

PureBasic forum
Текущее время: Вс ноя 19, 2017 11:30 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: Ср сен 13, 2017 1:18 am 
Не в сети
студент
Аватар пользователя

Зарегистрирован: Сб ноя 22, 2014 10:14 pm
Сообщений: 5
Откуда: Россия, Москва
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Здравствуйте, у меня возник вопрос по режиму работы сервера Purebasic.
Функция CreateNetworkServer(#Server, Port [, Mode [, BindedIP$]])
создает сервер. Но как к нему обратиться из других языков программирования?
Например можно ли использовать модуль socket в Python?


Задача состоит в написании сервера который мы будем использовать для атаки на AES-128 CBC методом Padding Oracle Attack
*Проверка padding пока не дописана*

Текст программы
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 
If InitNetwork() = 0
  MessageRequester("Error", "Can't initialize the network !", 0)
  End
EndIf
*Key= AllocateMemory(1,#PB_Memory_NoClear)
Port = 2501
*Buffer = AllocateMemory(5000)
 
UseSQLiteDatabase()
odb = OpenDatabase(0, ".\apache\database\db.sqlite", "teacher", "password")
If CreateNetworkServer(0, Port)
 
  MessageRequester("AES-CBC POA Server", "Server started (Port "+Str(Port)+").", 0)
 
  Repeat
    SEvent = NetworkServerEvent()
    If SEvent
      ClientID = EventClient()
      Select SEvent
        Case #PB_NetworkEvent_Connect
          MessageRequester("AES-CBC POA Server", "A new client has connected !", 0)
        Case #PB_NetworkEvent_Data
          MessageRequester("AES-CBC POA Server", "Client "+Str(ClientID)+" has send a packet !", 0)
          ReceiveNetworkData(ClientID, *Buffer, 5000)
          MessageRequester("Info", "String: "+PeekS(*Buffer, -1, #PB_UTF8), 0)
          MoveMemory(*Buffer,*login,8)
          *Key = DatabaseQuery(0,"SELECT key FROM student WHERE login="+Str(*login), #PB_Database_StaticCursor)
          MoveMemory(*Buffer,*IV,16)
          MoveMemory(*Buffer,*lenght,1)
          *is= AllocateMemory(*lenght)
          If AESDecoder(*Buffer, *is, PeekB(*lenght), *Key, 128, *IV,#PB_Cipher_CBC) = 0
            *Output = AllocateMemory(1)
            PokeB(*Output,5)
          Else
            *Output = AllocateMemory(*lenght)
            MoveMemory(*is,*Output,*lenght)
          EndIf
          SendNetworkData(ClientID, *Output,1)
        Case #PB_NetworkEvent_Disconnect
          MessageRequester("AES-CBC POA Server", "Client "+Str(ClientID)+" has closed the connection...", 0)
          Quit = 1
      EndSelect
    EndIf
    Sleep_(50)
  Until Quit = 1
 
  MessageRequester("SOCKS Server", "Click to quit the server.", 0)
 
  CloseNetworkServer(0)
Else
  MessageRequester("Error", "Can't create the server (port in use ?).", 0)
EndIf
CloseDatabase(0)  
End  
 



Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Ср сен 13, 2017 2:58 am 
Не в сети
профессор

Зарегистрирован: Пт фев 20, 2009 12:57 pm
Сообщений: 1547
Откуда: Алматы
Благодарил (а): 11 раз.
Поблагодарили: 36 раз.
Пункты репутации: 5
так это ж обычный сервер :) тебе придется изобретать алгоритм как к нему общаться.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Ср сен 13, 2017 12:14 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11053
Благодарил (а): 4 раз.
Поблагодарили: 374 раз.
Работа сервера не зависит от ЯП на котором он написан.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB