Pull to refresh
42
0
Sergey Zabodalov @zabbius

Пользователь

Send message
В целом да, но с такими читами все становится очень просто. Исключение — уровни, где редактировать можно только одну константу.
Спавн был честный? Или через setInterval?
Игра классная =)

Еще немного читов
Автор игры поставил кучу валидаций введенного кода на всякие разные плохие слова типа eval, на использование символа подчеркивания (с него начинаются запрещенные игроку методы map) и т.д., но забыл запретить итерацию по объекту. В итоге можно вытащить в паблик всякие прикольные методы типа removeItemFromMap. Например так:

    var allmembers = "";
    var underscore = null;
    
    for (var n in map)
    {
        if (!underscore) // первый метод приватный
            underscore = n.slice(0, 1);
        allmembers += n + "; ";
    }
    
    for (var n in map)
    {
        if (n.slice(0, 1) == underscore)
        	map[n.slice(1)] = map[n];
    }


Еще автор хотел заблокировать eval, setTimeout и т.п., но почему-то отдает window в качестве this. В итоге делаем, что хотим:


this ['docu' + 'ment'].GlobalMapReference = map;
var st = this ['set' + 'Timeout'];
st ("alert(docu" + "ment.GlobalMapReference.getPlayer);", 1000);


Не землю и людей, а конкретную корпорацию. Если вспомнить концовку, то часть персонала, которая была с ним согласна, стояла со стволами и провожала несогласных домой.
Насколько помню, это сам ATI халявит и не дает нормальных дров, поэтому только xf86-video-ati с напрочь урезанным 3d. Для себя решил проблему переходом на nVidia.
А он без рута насколько функционален?
Такая фишка использовалась для переключения на ПЗУ TR-DOS. Кстати, в этом конкретном случае способ был вполне документирован. Переключение было, если правильно помню, при переходе по диапазону адресов, где в родном ПЗУ лежали изображения символов, т.е. данные, поэтому вызов туда был заведомо некорректным для основного ПЗУ. О смене ПЗУ на 16 кб ОЗУ не слыхал. Такое вполне реально сделать, только почти все программы этого не поддерживают.
А еще 12-я опера умеет RSS читать…
Тогда можно в мешок рядом с компом еще кучу килобайт насыпать (не используется) и написать, что ОЗУ 1 Мб
Я правильно помню, что последний Reserved — это вектора прерываний? Или что там?
После спектрума с его шифрованными загрузчиками и ассемблером игрухи на денди, позволявшие вводить код, ломались на ура…
Объем ОЗУ — 64кб. Либо врут, либо я чего-то не понял. Там же сплошная адресация и первые 16к как раз ПЗУ, а остальные 48 — ОЗУ.
А флопарь на чем-нить другом проверяли?
У меня был 48k с флопом и LPT портом.
Судя по клавиатуре и процессору и типу ПЗУ, предположу, что прошивка там также спектрумовская. Джойстик правда очень хардкорный. В те времена уже были обычные контактные джойстики на пятипиновом разъеме.
Основное отличие тут — побайтовое чтение. Сам по себе порядок байтов абсолютно не важен в силу алгоритма подсчета.

Теперь смотрим единственное использование метода.

    EchoHeader *header = (EchoHeader *)(sendBuffer + sizeof(IpHeader));
    header->type = reply ? 0: 8;
    header->code = 0;
    header->id = htons(id);
    header->seq = htons(seq);
    header->chksum = 0;
    header->chksum = icmpChecksum(sendBuffer + sizeof(IpHeader), payloadLength + sizeof(EchoHeader));


где IpHeader имеет размер 20 байт, а sendBuffer выделен по new в конструкторе. То есть смещение всегда четное.

Предлагаю сойтись на том, что проверки и побайтовое чтение нужны в общем случае, особенно, если код отдается как библиотека.
Кстати, можно тогда посмотреть на пример вашего решения данной проблемы? То есть как бы на моем месте проблему решали вы? Имеется в виду в данном конкретном случае.
Я просто пытаюсь донести, что этот код в том контексте, в котором он используется в приложении, не нуждается в дополнительных assert'ах и проверках. Без контекста и к i++ придраться можно, ибо, например, не thread-safe.
Кстати, если напишете тесты, которые покрашат hanstunnel на MIPS и ARM, будет интересно.
Т.е. если автор hanstunnel поговнокодил — можно говнокодить? Я хотя бы assert-ов добавил бы, на то что указатель выравненный.

Тогда уж надо вообще всю прогу рефакторить. Только вот с таким подходом все время уйдет на один сплошной рефакторинг.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity