Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2015, 21:42   #21
NerfDoriftar
Пользователь
 
Регистрация: 17.01.2015
Сообщений: 15
По умолчанию

Цитата:
Сообщение от WinCoder Посмотреть сообщение
Не надо ни чего проверять при запуске. У вас в программе есть хоть одна функция, которая что нибудь считает? Вот и реализуйте её на сервере, а из программы выпилите. Без сервера программа не сможет работать, а подменить его не получится, так как нет алгоритмов функций.
Я понял что на сервере нужно её реализовать , я вас спрашиваю , как это сделать именно в примере , кодовом примере.
Допустим как с сервера перетащить функцию в программу , по этапно.
NerfDoriftar вне форума Ответить с цитированием
Старый 17.01.2015, 21:51   #22
WinCoder
Заблокирован
 
Регистрация: 24.11.2014
Сообщений: 721
По умолчанию

Мда... Ладно, попробуем на пальцах. Допустим в программе есть сложная функция, без которой ну ни как нельзя. Что-то вроде
Код:
function calc(a,b,c,d: integer; e,f,g: string): real;
Берём всю эту функцию, переписываем на php, и кладём на сервер. Во время работы программы, когда нам нужно вычислить значение этой функции, мы формируем POST запрос на сервер. Сервер считает функцию оперируя параметрами, переданными в запросе, и отдаёт нам ответ. Если злоумышленник сменит сервер, то он не сможет воссоздать работу функции, а так как функция критически важна в работе программы, программа превратится в мусор.
Цитата:
как это сделать именно в примере
Пример чего? Как переписать функцию с паскаля на php, или как обратиться к скрипту? Давайте функцию, будем разбирать.
WinCoder вне форума Ответить с цитированием
Старый 17.01.2015, 21:57   #23
NerfDoriftar
Пользователь
 
Регистрация: 17.01.2015
Сообщений: 15
По умолчанию

Цитата:
Сообщение от WinCoder Посмотреть сообщение
Мда... Ладно, попробуем на пальцах. Допустим в программе есть сложная функция, без которой ну ни как нельзя. Что-то вроде
Код:
function calc(a,b,c,d: integer; e,f,g: string): real;
Берём всю эту функцию, переписываем на php, и кладём на сервер. Во время работы программы, когда нам нужно вычислить значение этой функции, мы формируем POST запрос на сервер. Сервер считает функцию оперируя параметрами, переданными в запросе, и отдаёт нам ответ. Если злоумышленник сменит сервер, то он не сможет воссоздать работу функции, а так как функция критически важна в работе программы, программа превратится в мусор.
Пример чего? Как переписать функцию с паскаля на php, или как обратиться к скрипту? Давайте функцию, будем разбирать.
Тут уже более понятнее.
Да , интересует вопрос , как всё же переписать функцию с Паскаля на PHP?
И как всё таки добавить саму функцию в программу , путём чего?
NerfDoriftar вне форума Ответить с цитированием
Старый 17.01.2015, 22:08   #24
WinCoder
Заблокирован
 
Регистрация: 24.11.2014
Сообщений: 721
По умолчанию

Цитата:
Тут уже более понятнее.
Цитата:
И как всё таки добавить саму функцию в программу
Понятно то, что Вам ничего не понятно. Не надо в программу добавлять функций. Их наоборот нужно переносить из программы на сервер. Только считать не какой-то ключ, который проверили, и забыли, а считать то, что будет использоваться и дальше в процессе работы программы. Пример такой программы DC-unlocker. Программа для генерации ключей разблокировки модемов. Сам генератор лежит на сервере, а программа всего лишь клиент. И хоть Вы по байтам разберёте эту программу, но до самого генератора не доберётесь, а следовательно взломать её нереально.

Цитата:
как всё же переписать функцию с Паскаля на PHP?
Берём функцию, и начинаем переводить. Вопрос какой-то странный. Как переводят Си в паскаль? Как ассемблер переводят в Си, а потом в Паскаль? Если знаете оба языка, то таких вопросов не возникнет. А если не знаете, ищите того, кто знает.
WinCoder вне форума Ответить с цитированием
Старый 17.01.2015, 22:21   #25
NerfDoriftar
Пользователь
 
Регистрация: 17.01.2015
Сообщений: 15
По умолчанию

Цитата:
Сообщение от WinCoder Посмотреть сообщение
Понятно то, что Вам ничего не понятно. Не надо в программу добавлять функций. Их наоборот нужно переносить из программы на сервер. Только считать не какой-то ключ, который проверили, и забыли, а считать то, что будет использоваться и дальше в процессе работы программы. Пример такой программы DC-unlocker. Программа для генерации ключей разблокировки модемов. Сам генератор лежит на сервере, а программа всего лишь клиент. И хоть Вы по байтам разберёте эту программу, но до самого генератора не доберётесь, а следовательно взломать её нереально.

Берём функцию, и начинаем переводить. Вопрос какой-то странный. Как переводят Си в паскаль? Как ассемблер переводят в Си, а потом в Паскаль? Если знаете оба языка, то таких вопросов не возникнет. А если не знаете, ищите того, кто знает.
Да нет , просто мне нужно было обьяснить русским языком , так сказать по этапно и по подробнее , теперь я понял чего вы пытаетесь сказать.
На счёт программы "DC-Unlocker" - дело в том что у меня многопоточное приложение , и если по 100 раз вызывать какую нибудь функцию для потока , тогда сами понимаете.
Я извиняюсь , возможно я вас полностью не понимаю , сам я новичок в этом деле.
Дело в том что , недавно подменили ссылку проверки.
И для выхода обновления нужно каким-то образом улучшить защиту , чтобы она была не ломаема.
Мне обьяснять словами это что-то не реальное.
Желательно , конечно если вам не составит труда , именно в кодовом виде , возможно я наглею в данной ситуации , за это отдельно прошу прощения , но всё же , очень вас прошу помочь мне в данной ситуации.

Последний раз редактировалось NerfDoriftar; 17.01.2015 в 22:26.
NerfDoriftar вне форума Ответить с цитированием
Старый 17.01.2015, 22:39   #26
WinCoder
Заблокирован
 
Регистрация: 24.11.2014
Сообщений: 721
По умолчанию

Вы хотите запрашивать с сервера ключ, и проверять его не через if. Вы понимаете, что противоречите сами себе? Генерируйте на сервере не то, что проверяется и выбрасывается, а то, что используется. Я не знаю, как тут ещё понятнее объяснить. По поводу примера я сказал что делать. берём ИМЕЮЩУЮСЯ функцию, и переписываем на php. Что не понятно?. Есть готовая функция, есть чёткий перевод.

Код:
function centr(i: integer): integer;
begin
  result := i div 2;
end;
Код:
<?php
$Param1 = $_POST['i'];
$Param2 = 2;
echo $Param1 / $Param2;
?>
WinCoder вне форума Ответить с цитированием
Старый 17.01.2015, 23:23   #27
NerfDoriftar
Пользователь
 
Регистрация: 17.01.2015
Сообщений: 15
По умолчанию

Цитата:
Сообщение от WinCoder Посмотреть сообщение
Вы хотите запрашивать с сервера ключ, и проверять его не через if. Вы понимаете, что противоречите сами себе? Генерируйте на сервере не то, что проверяется и выбрасывается, а то, что используется. Я не знаю, как тут ещё понятнее объяснить. По поводу примера я сказал что делать. берём ИМЕЮЩУЮСЯ функцию, и переписываем на php. Что не понятно?. Есть готовая функция, есть чёткий перевод.

Код:
function centr(i: integer): integer;
begin
  result := i div 2;
end;
Код:
<?php
$Param1 = $_POST['i'];
$Param2 = 2;
echo $Param1 / $Param2;
?>
Большое спасибо за разьяснение , буду пробовать!
NerfDoriftar вне форума Ответить с цитированием
Старый 17.01.2015, 23:47   #28
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

Цитата:
дело в том что у меня многопоточное приложение , и если по 100 раз вызывать какую нибудь функцию для потока , тогда сами понимаете.
Весь поток на сервер тогда перекидывайте.
lomastr_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна ваша помощь:) Gigomod Операционные системы общие вопросы 3 14.02.2014 16:11
Нужна ваша помощь Шаманочка Паскаль, Turbo Pascal, PascalABC.NET 2 29.04.2009 20:58