Автор Тема: Perl & XS  (Прочитано 4149 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Error202

  • Бесстрашный
  • Ветеран
  • *****
  • Сообщений: 540
  • +1/-0
  • 2
    • Просмотр профиля
    • http://www.tender-plus.ru
Perl & XS
« : 14 Мая 2008, 17:39:33 »
Здравствуйте!
Поставили мне тут задачку...
Нужно на C++ написать модуль под перл для дешифрации скрипта... чтобы тот еще потом выполнялся...
написал...
получилось примерно так:


#!/usr/bin/perl -w
use Mydecode;
ю)Ч=ќ1GЂФvСj=OR ЧС†…]jЗU"CСЦБ_XИлч ЈЏD!@ў®ЦV_rЋ.ІЅ%ж*П±|к–fВмНTЉфП0c0l‘нrРЪQњ6ѕтГNbМЖTucuBН


Проблема в том, что модуль нормально расшифровывает скрипт, и передает интерпритатору... А тот в свою очередь делает странную штуку...

Когда в зашифрованном скрипте первая строка: print "text"; ... , т.е. первый символ "p", то выдает ошибку
Unquoted string "p" may clash with future reserved word at...

Когда use CGI..., то
Unquoted string "u" may clash with future reserved word at...

и т.д.

Может кто сталкивался?
Почему переменная в модуле содержит нормальный расшифрованный код, а в perl приходит такая штука?

P.S. Кодирую по RC4 с паролем...
« Последнее редактирование: 14 Мая 2008, 17:58:46 от Error202 »
Космическая игрушка

Оффлайн arto

  • Ветеран
  • *****
  • Сообщений: 699
  • +0/-0
  • 2
    • Просмотр профиля
Perl & XS
« Ответ #1 : 14 Мая 2008, 19:50:06 »
типа мы должны разобраться в вашем модуле без исходников?
сильно.

Оффлайн Error202

  • Бесстрашный
  • Ветеран
  • *****
  • Сообщений: 540
  • +1/-0
  • 2
    • Просмотр профиля
    • http://www.tender-plus.ru
Perl & XS
« Ответ #2 : 14 Мая 2008, 21:54:35 »
Ну не совсем...
просто я не могу разобраться в ситуации... Почему воспринимается только первый символ и как отдельная строка...

Я могу выложить исходник XS, если кто-нибудь согласиться в нем ковыряться...
Космическая игрушка

Оффлайн ravshaniy

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 191
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Perl & XS
« Ответ #3 : 15 Мая 2008, 10:47:39 »
есть вот такая статья.
http://www.opennet.ru/base/dev/binary_perl.txt.html

но она не подходит под условия задачи. особенно тем моментом где размещается ключ к шифрованным скриптам.

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

либо если у вас мод_перл. или еще какие вещчи есть где можно добавить обработчик.

если ваш модуль должен делать дешифрацию онфлай и исполнение то этот C++ модуль можно как раз назвать секьюрный интерпритатор. а если он будет дешифровывать и вызывать интепритатор и передавать ему для работы уже дешифрованный поток. то как бы скорее всего этот вызов можно перехватить и дешифрованый текст тогда смысл шифрования не понятен.

ну какието такие мысли
убили кенни, сволочи

Оффлайн Error202

  • Бесстрашный
  • Ветеран
  • *****
  • Сообщений: 540
  • +1/-0
  • 2
    • Просмотр профиля
    • http://www.tender-plus.ru
Perl & XS
« Ответ #4 : 15 Мая 2008, 11:01:04 »
Сишный модуль, в теории, защищен от запуска под отладчиком, от запуска при некотрых других перловых модулях... но это опять же все так, на всякий случай...

Честно говоря заказчик мне ставил конкретную задачу, которая, кстати, соответсвует именно тому куску доки (по присланной Вами ссылке), где вшивается пароль...

Я и шел по этому пути, особо не мудрил...

В сях я не силен и у меня есть некоторые сомнения, что откомпилированный модуль .so будет работать на разных linux ос... пока нет возможности это проверить...
Космическая игрушка

 

Sitemap 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