Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=53)
-   -   Помогите проверить безопастность! (http://www.flasher.ru/forum/showthread.php?t=93240)

CCCPirate 16.03.2007 18:53

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


Цитата:

Сообщение от iNils
Если я подгружаю твой swf в мой, то могу переназначить функцию по кодированию, а в ней получить кодированные параметры и их значения до кодирования.

А не мог бы ты показать, как?

For in и меняешь ASSetPropFlag?

iNils 16.03.2007 19:22

Цитата:

Сообщение от CCCPirate
Главное, чтобы ты не получил формулу самой строки кодирования, потму что в php скрипте она такая же и если ты ее заменишь своей, то они дадут разный результат.

Зачем, когда я и так знаю, что md5?
Цитата:

Сообщение от CCCPirate
А не мог бы ты показать, как?

For in и меняешь ASSetPropFlag?

Код:

/* Это черный ящик, код который я не знаю */
//// свойств разбросаны по все ролику и их сложно найти
a = 1;
b = 2;
c = 3;
function f (a, b, c) {
        //// некое действие типа md5 (a+b+c), пока будет просто
        trace ("ля-ля-ля");
}
/// соответсвнно я не вижу параметра, а setTimeout имитирует вызов после какого действия пользователя
setTimeout (f, 1000, a + b + c);
/* конец черного ящика */


/* теперь мой кода */
//// я знаю имя функции, но не знаю число параметров,
//// поэтому я загружаю мувик и после загрузки переопределяют функцию на свою
function f () {
        for (var i:Number = 0; i < arguments.length; i++) {
                trace (arguments[i]);
        }
}


CCCPirate 16.03.2007 19:34

Ну хорошо, даже если ты будешь знать все передаваемые параметры, ты не можешь знать порядок их попадания в строку для шифрования(это я имел ввиду под термином "формула строки кодирования") т.е.

как ты узнаешь, что итоговая строка складывается не из a+b+c, а например a+b+a+c+c+b+a+a ?

iNils 16.03.2007 19:40

Ну так ты же ее в метод шифровки передаешь :)
Тебе придется внутри метода уже параметры суммировать хитро. То есть, если ты суммируешь при вызове метода, внутри (), я могу это перехватить.

CCCPirate 16.03.2007 19:50

Вообщем и целом я пришел к такому алгоритму:
a=player_name
b=player_score
c=game_id
d=еще_что_нибудь_для_перестраховки

делаем e=md5(a+a+b+d+c+a+b+d+d+c)

передаем в php a, b, c, e ( d там установлено одинаковым)

php рассчитывает e=md5(a+a+b+d+c+a+b+d+d+c), сравнивает его с пришедшим, если они равны то a b c - настоящие


Главное спрятать саму (a+a+b+d+c+a+b+d+d+c)

iNils 16.03.2007 19:53

Я же говорю, не надо делать md5(a+a+b+d+c+a+b+d+d+c). Это перехватывается. Нужно сделать md5(a,b,d,c), а внутри md5 вставить строку которая получает сумму a+a+b+d+c+a+b+d+d+c.

CCCPirate 16.03.2007 20:02

Цитата:

Сообщение от iNils
Я же говорю, не надо делать md5(a+a+b+d+c+a+b+d+d+c). Это перехватывается. Нужно сделать md5(a,b,d,c), а внутри md5 вставить строку которая получает сумму a+a+b+d+c+a+b+d+d+c.

непонял, а как ты перехватишь строку сложенную в входных параметрах метода?
:umnik2: чет я мозг сломал, тогда что. можно и между методами класса отлавливать передачу переменных?

iNils 16.03.2007 20:03

Я заменяю твою md5 на свою и при вызове md5, получаю твой один параметр.

CCCPirate 16.03.2007 20:16

Вложений: 1
Извини пожалуйста, че та я перестал соображать не мог бы ты показать как достать ее отсюда?

var ff:MD5 = new MD5();
a='Name'
b='Arcade'
c=5000
d='key'
e = ff.calculate(тут расположена формула суммы);

Вложение 16777

iNils 16.03.2007 20:18

Код:

var ff:MD5 = new MD5();
a='Name'
b='Arcade'
c=5000
d='key'
e = ff.calculate(тут расположена формула суммы);

ff.calculate = function (){
        for (var i:Number = 0; i < arguments.length; i++) {
                trace (arguments[i]);
        }
}



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

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.