Описание:
Протестируем запрос, описывающий дополнительную функцию Интерпретатора - циклическое изменение символов, обозначающих те или иные константы, переменные и операторы.
Это должно сильно усложнить восприятие текста кода программы.
Константы: a, b, c, d, e, p, t, v, w
Переменные: h, q, l, k Примечание: l - переменная, но при этом обознаяает и оператор
Операторы: f, g, i, l, m, n
Т.е. список всех символов, которые имеют служебное значение в Интерпретаторе следущий.
Список символов: a, b, c, d, e, p, t, v, w, h, q, l, k, f, g, i, m, n
Все другие символы, в т. числе и на верхнем регистре - ничего не значат в программе и должны быть пропущены.
Для формирования более сложного текста кода программы дополним Интерпретатор языка Oflameron функцией ротации управляющих символов.
1. Введем в JavaScript код Интерпретатора внутреннюю переменную STP, в которую пользователем будут помещаться целые числа на этапе редактирования веб страницы.
Т.е. в процессе работы веб страницы с Интерпретатором (исполнения кода программы) STP можно считать константой
2. Значение в переменной STP показывает, на сколько нужно сдвинуть ВПРАВО по списку символов a, b, c, d, e, p, t, v, w, h, q, l, k, f, g, i, m, n их функционал. Функционал сдвигается циклически.
Пример. Если STP=1 то исходя из списка a принимает значение b=1, b принимает значение с=3, c принимает значение b=5 и т.д. v принимает значение w=73, а при этом w начинает выполнять функции регистра h, h начинает выполнять функции q, символ q начинает выполнять функции l и т.д.
Последний символ в строке a, b, c, d, e, p, t, v, w, h, q, l, k, f, g, i, m, n - символ n. Циклически сдвигая функции вправо мы получим, что n должен выполнять функции константы a и т.д. по списку столько циклов, сколько потребуется для исполнения программы.
Соответственно, если сдвинуть 18 раз, все символы будут исполнять первоначальные функции.
3. Когда осуществляется сдвиг функций вправо? После исполнения каждого оператора происходит сдвиг функционала на STP вправо.
Пример: fcdfhd - сначала исполняется fcd как по умолчанию в алгоритме Интерпретатора. Т.е. выполняется fcd (умножение c на d) и по списку a, b, c, d, e, p, t, v, w, h, q, l, k, f, g, i, l, m, n все сдвигается на STP вправо. Допустим, STP=1, тогда f получает функционал g и теперь обозначает оператор сложения
В примере у нас вторым оператором идёт fhd, но теперь это сложение и выполняется сложение h+d
Если возникает ошибка, например функционал оператора с двумя параметрами переназначается на оператор с одним параметром (или наоборот), то действие пропускается - стандартная обработка ошибок.
Пользователь может намеренно использовать возникающие ошибки для обфускации кода программы.
Протестируем запрос, описывающий дополнительную функцию Интерпретатора - циклическое изменение символов, обозначающих те или иные константы, переменные и операторы.
Это должно сильно усложнить восприятие текста кода программы.
Константы: a, b, c, d, e, p, t, v, w
Переменные: h, q, l, k Примечание: l - переменная, но при этом обознаяает и оператор
Операторы: f, g, i, l, m, n
Т.е. список всех символов, которые имеют служебное значение в Интерпретаторе следущий.
Список символов: a, b, c, d, e, p, t, v, w, h, q, l, k, f, g, i, m, n
Все другие символы, в т. числе и на верхнем регистре - ничего не значат в программе и должны быть пропущены.
Для формирования более сложного текста кода программы дополним Интерпретатор языка Oflameron функцией ротации управляющих символов.
1. Введем в JavaScript код Интерпретатора внутреннюю переменную STP, в которую пользователем будут помещаться целые числа на этапе редактирования веб страницы.
Т.е. в процессе работы веб страницы с Интерпретатором (исполнения кода программы) STP можно считать константой
2. Значение в переменной STP показывает, на сколько нужно сдвинуть ВПРАВО по списку символов a, b, c, d, e, p, t, v, w, h, q, l, k, f, g, i, m, n их функционал. Функционал сдвигается циклически.
Пример. Если STP=1 то исходя из списка a принимает значение b=1, b принимает значение с=3, c принимает значение b=5 и т.д. v принимает значение w=73, а при этом w начинает выполнять функции регистра h, h начинает выполнять функции q, символ q начинает выполнять функции l и т.д.
Последний символ в строке a, b, c, d, e, p, t, v, w, h, q, l, k, f, g, i, m, n - символ n. Циклически сдвигая функции вправо мы получим, что n должен выполнять функции константы a и т.д. по списку столько циклов, сколько потребуется для исполнения программы.
Соответственно, если сдвинуть 18 раз, все символы будут исполнять первоначальные функции.
3. Когда осуществляется сдвиг функций вправо? После исполнения каждого оператора происходит сдвиг функционала на STP вправо.
Пример: fcdfhd - сначала исполняется fcd как по умолчанию в алгоритме Интерпретатора. Т.е. выполняется fcd (умножение c на d) и по списку a, b, c, d, e, p, t, v, w, h, q, l, k, f, g, i, l, m, n все сдвигается на STP вправо. Допустим, STP=1, тогда f получает функционал g и теперь обозначает оператор сложения
В примере у нас вторым оператором идёт fhd, но теперь это сложение и выполняется сложение h+d
Если возникает ошибка, например функционал оператора с двумя параметрами переназначается на оператор с одним параметром (или наоборот), то действие пропускается - стандартная обработка ошибок.
Пользователь может намеренно использовать возникающие ошибки для обфускации кода программы.
oflameron_130.htm
31.7 KB
Версия Интерпретатора 1.30 с ротацией функционала
Сейчас ротация отключена. Для включения надо в Notepad отредактировать файл Интерпретатора. Найти константу STP=0 и задать ей новое значение. Например =1
SMART_AN.txt
3.9 KB
Проанализируем образец смарт-контракта для выпуска коина.
Вдруг там что-то не так
SMART - контракт
SMART_AN - анализ контракта
https://ethercodeinnovation.com/ru/regular-code/
Вывод
Контракт не готов для продакшена в текущем виде из-за:
1. Ненадёжного механизма контроля доступа
2. Высокой степени централизации
3. Неограниченных возможностей минтинга
Рекомендуется:
1. Полный аудит профессиональной фирмой
2. Удаление кастомной системы
3. Введение механизмов децентрализации управления
4. Добавление прозрачности и ограничений для владельца
Текущий контракт подходит только для тестовых сред и требует существенной доработки перед mainnet-развёртыванием.
Вдруг там что-то не так
SMART - контракт
SMART_AN - анализ контракта
https://ethercodeinnovation.com/ru/regular-code/
Вывод
Контракт не готов для продакшена в текущем виде из-за:
1. Ненадёжного механизма контроля доступа
Entropy2. Высокой степени централизации
3. Неограниченных возможностей минтинга
Рекомендуется:
1. Полный аудит профессиональной фирмой
2. Удаление кастомной системы
Entropy3. Введение механизмов децентрализации управления
4. Добавление прозрачности и ограничений для владельца
Текущий контракт подходит только для тестовых сред и требует существенной доработки перед mainnet-развёртыванием.
SMART2.txt
7.7 KB
Анализируем смарт-контракт. Часть 2
Подробный анализ уязвимости механизма
Почему ненадёжен:
1. Основан на
solidity
В конструкторе:
_buildSeal = keccak256(abi.encodePacked(block.prevrandao, address(this)));
В проверке:
function _entropyGate() internal view returns (bool) {
bytes32 current = keccak256(abi.encodePacked(block.prevrandao, address(this)));
return current == _buildSeal;
}
Читаем полностью (SMART2.txt)
Подробный анализ уязвимости механизма
Entropy Почему ненадёжен:
1. Основан на
block.prevrandao (рандоме блока) solidity
В конструкторе:
_buildSeal = keccak256(abi.encodePacked(block.prevrandao, address(this)));
В проверке:
function _entropyGate() internal view returns (bool) {
bytes32 current = keccak256(abi.encodePacked(block.prevrandao, address(this)));
return current == _buildSeal;
}
Читаем полностью (SMART2.txt)
SMART3.txt
6.3 KB
Далее. Рассмотрим смарт-контракт иначе
Ваши выводы так же верны, если рассматривать анализируемый смарт-контракт для МЕМ-КОИНА?
Ваши выводы так же верны, если рассматривать анализируемый смарт-контракт для МЕМ-КОИНА?
ROTATION_Deepseek_Prompt_1.40.txt
8.5 KB
Прототип запроса версии 1.40 (с ротацией символов)
Напиши HTML+JavaScript код веб-страницы, оптимизированной для просмотра на смартфоне с вертикальной ориентацией.
Кодировка веб страницы win-1251
Элементы интерфейса:
Заголовок: "Интерпретатор языка Oflameron ver 1.40 (с ротацией)"
...
Напиши HTML+JavaScript код веб-страницы, оптимизированной для просмотра на смартфоне с вертикальной ориентацией.
Кодировка веб страницы win-1251
Элементы интерфейса:
Заголовок: "Интерпретатор языка Oflameron ver 1.40 (с ротацией)"
...
ROTATION_Deepseek_TECH_Prompt_1.40.txt
11.9 KB
Оптимизированный запрос.
Вот максимально подробный и уточнённый запрос, объединяющий все наши обсуждения. Он включает явные комментарии, описания функций, переменных и все уточнённые моменты работы интерпретатора. Теперь всё готово для генерации идеального кода.
Запрос к Deepseek:
Прототип запроса версии 1.40 (с ротацией символов)
Напиши HTML+JavaScript код веб-страницы, оптимизированной для просмотра на смартфоне с вертикальной ориентацией.
Кодировка веб страницы win-1251.
...
Вот максимально подробный и уточнённый запрос, объединяющий все наши обсуждения. Он включает явные комментарии, описания функций, переменных и все уточнённые моменты работы интерпретатора. Теперь всё готово для генерации идеального кода.
Запрос к Deepseek:
Прототип запроса версии 1.40 (с ротацией символов)
Напиши HTML+JavaScript код веб-страницы, оптимизированной для просмотра на смартфоне с вертикальной ориентацией.
Кодировка веб страницы win-1251.
...