Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
защита программы через сервер |

22.11.2009, 01:48
|
|
Познающий
Регистрация: 13.10.2009
Сообщений: 63
Провел на форуме: 373897
Репутация:
13
|
|
защита программы через сервер
допустим есть некая сверхполезная программа. она запускается, работает но не выполняется основная функция например сохранить. для того что бы она начала выполняться необходимо ввести логин\пароль, адрес хоста, нажать на кнопку допустим инфо. и информационном окне программы отобразиться кол-во логов (допустим 1 лог 1 сохранение результата) и становиться возможным сохранение данных. как только кол-во логов сравняется с нулем эта функция опять будет не доступна. есть готовые методы реализации идеи?
|
|
|

22.11.2009, 02:01
|
|
Познающий
Регистрация: 13.10.2009
Сообщений: 63
Провел на форуме: 373897
Репутация:
13
|
|
вот пример отправки данных программой и получения ответа-
POST /Server//interface/get_balance.php HTTP/1.0
Connection: keep-alive
Content-Type: multipart/form-data; boundary=--------112209005434531
Content-Length: 115
Host: www.domen.ru
Accept: text/html, */*
Accept-Encoding: identity
User-Agent: Mozilla/3.0 (compatible; Indy Library)
Authorization: Basic dGVzdGVyOnRlc3Rlcg==
----------112209005434531
Content-Disposition: form-data; name="api_version"
1.2
----------112209005434531--
HTTP/1.1 200 OK
Date: Sat, 21 Nov 2009 21:54:38 GMT
Server: Apache/2
X-Powered-By: PHP/5.2.6
Vary: Accept-Encoding,User-Agent
Connection: close
Content-Type: text/html
OK
0/10
как видим данные отправляются пост запросом к get_balance.php
логин и пасс зашифрованы в base64 - dGVzdGVyOnRlc3Rlcg==
и ответ сервера-
HTTP/1.1 200 OK
Date: Sat, 21 Nov 2009 21:54:38 GMT
Server: Apache/2
X-Powered-By: PHP/5.2.6
Vary: Accept-Encoding,User-Agent
Connection: close
Content-Type: text/html
OK
0/10
|
|
|

22.11.2009, 09:05
|
|
Познающий
Регистрация: 19.12.2008
Сообщений: 78
Провел на форуме: 184907
Репутация:
13
|
|
насколько понял после сохранения количество логов уменьшается на 1.
Код:
User-Agent: Mozilla/3.0 (compatible; Indy Library)
Как видим в программе люди юзают Indy, думую надо делать так же (юзать индюка).
Код:
Authorization: Basic dGVzdGVyOnRlc3Rlcg==
На сервере используется basic-аунтефикация (хотя я б так не стал делать), как поставить basic на сервер читаем в gooooooogl'e.
Я думую можно сделать так:
1. На сервере спомощью basic'а защитить getinfo.php, который просто выводит информацию (echo), но тут я думую тоже надо шифроваться. Если одолевает параноя, то используй RSA.
2. в приложении, если делаешь на delphi, настраеваешь IdHTTP, как, я понятия не имею.
3. IdHTTP1.Get('http://mysite.ru/getinfo.php', str);
4. Смотрим количество логов, если надо созраняем.
|
|
|

22.11.2009, 11:39
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
вообще подобного рода защита всё равно легко обходится.
Есть один метод довольно интересный - когда небольшая функциональная часть (1-2 килобайта) приходит с сервака в шифрованном виде. т.е. алгоритм такой:
1) юзверь посылает логин и спец данные на основе которых сервак создаст код
2) в ответ приходит код шифрованный юзерским паролем (который хранится в базе) + спец числом которое тоже возвращается шифрованное юзерским паролем.
3) клиент получает данные, расшифровывает спец число своим паролем, далее расшифровывает весь код
4) расшифрованный код выполняется и затем удаляется.
При этом прога должна быть пакована и желательно поверх шифрована криптером.
Это тоже можно сломать, но потребуется оооочень много времяни и терпения.
|
|
|

22.11.2009, 16:13
|
|
Познающий
Регистрация: 13.10.2009
Сообщений: 63
Провел на форуме: 373897
Репутация:
13
|
|
спасибо за направление. а есть какие нибудь готовые примеры?
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|