Цитата:
Сообщение от kackbip
Наоборот... это полнейший бесполезняк. Если читер одну переменную подменит то и другую тоже подменит.
|
А как, например, их можно подменить одновременно? В памяти числа хранятся в закодированном виде Закодированные они разные, например 9 - это 796647442 или 197414030 или еще что-то. При каждой записи Encoder меняется. Использую для кодирования очков вот этот класс. Сравнение и перекодировка 15 раз в секунду. Как их можно подменить одновременно?

Код AS3:
/**
* MochiServices
* Connection class for all MochiAds Remote Services
* @author Mochi Media
*/
package mochi.as3
{
final public class MochiDigits
{
private var Fragment:Number;
private var Sibling:MochiDigits;
private var Encoder:Number;
/**
* Method: MochiDigits
* Construct and initialize the value of a MochiDigit
* @param digit: initialization value
* @param index: internal use only
*/
public function MochiDigits( digit:Number = 0, index:uint = 0 ):void
{
Encoder = 0;
setValue( digit, index );
}
public function get value():Number
{
return Number(this.toString());
}
public function set value(v:Number):void
{
setValue( v );
}
/**
* Method: add
* Increments the stored value by a specified amount
* @param inc: Value to add to the stored variable
*/
public function addValue(inc:Number):void
{
value += inc;
}
/**
* Method: setValue
* Resets the stored value
* @param digit: initialization value
* @param index: internal use only
*/
public function setValue( digit:Number = 0, index:uint = 0 ):void
{
var s:String = digit.toString();
Fragment = s.charCodeAt(index++) ^ Encoder;
if( index < s.length )
Sibling = new MochiDigits(digit,index);
else
Sibling = null;
reencode();
}
/**
* Method: reencode
* Reencodes the stored number without changing its value
*/
public function reencode():void
{
var newEncode:uint = int(0x7FFFFFFF * Math.random());
Fragment ^= newEncode ^ Encoder;
Encoder = newEncode;
}
/**
* Method: toString
* Returns the stored number as a formatted string
*/
public function toString():String
{
var s:String = String.fromCharCode(Fragment ^ Encoder);
if( Sibling != null)
s += Sibling.toString();
return s;
}
}
}
Добавлено через 8 минут
Цитата:
Сообщение от wvxvw
Если честно, то менять переменные в памяти флеша - это ну как-то не самое простое занятие, гораздо проще подменить их в теле запроса отправляемого на сервер. Вы уверены, что злоумышленник именно предполагаемым способом фальсифицирует информацию?
|
А я не уверен. Просто периодически замечаю что есть накрутка - в игре считается очки и уровни, время игры, заходы. И бывает либо уровень слабоват, а очков явный перебор, либо высокий уровень и мало очков, либо заходов 12 000 в день (явно на автомате). А как эти цифры там появляются разобраться не могу.