Обфускатор целых чисел и констант Go
Обфусцируйте числовые литералы в вашем коде Go, преобразуя их в шестнадцатеричные, восьмеричные, двоичные выражения, побитовое NOT, XOR, арифметические выражения и сдвиги бит. Введите любое число и получите более 7 обфусцированных вариантов, которые дают одно и то же значение. Поддерживает все числовые типы Go, включая int, uint, float32/64 и complex64/128. Копируйте отдельные выражения или весь набор — всё бесплатно, конфиденциально и без регистрации.
Enter any numeric value and generate obfuscated Go expressions that evaluate to the same number. Choose from hex, octal, binary, bitwise, arithmetic, and shift disguises — all produce valid Go code.
0o520b101010^42 ^ 0 ^ 042 ^ 1 ^ 142 * 6 / 62688 >> 60x2a0x2a evaluates to 42 as intAll Obfuscated Variants
0x2a0o520b101010^42 ^ 0 ^ 042 ^ 1 ^ 142 * 6 / 62688 >> 6How it works
This tool generates obfuscated Go numeric expressions that evaluate to the same value but look completely different. Select a Go type (signed/unsigned integers) and enter any number. The tool applies multiple disguises: hex (0xFF), octal (0o377), binary (0b11111111), bitwise operations, arithmetic expressions, and bit shifts. Copy the generated expression directly into your Go source code. All processing is local — no data leaves your browser.
Возможности
- Поддержка 14 типов Go: работает с int, int8–int64, uint, uint8–uint64, float32, float64, complex64 и complex128. Обфусцированные выражения при необходимости включают приведение типов.
- 7 методов обфускации: выбирайте среди шестнадцатеричных, восьмеричных, двоичных выражений, побитового NOT, побитового XOR, арифметических выражений и сдвигов бит. Каждый метод создаёт допустимый код Go с тем же значением.
- Поддержка float и complex: значения float32/float64 сохраняются с выражениями, аннотированными типом. Комплексные типы используют конструктор complex() в Go с обфусцированными действительной и мнимой частями.
- Типобезопасная генерация кода: выбранный префикс типа применяется ко всем выражениям. Копируйте типизированные выражения (например, int32(0xFF)) прямо в исходный код Go — ручное приведение не требуется.
Что такое обфускация чисел в Go?
Обфускация чисел в Go переписывает числовые литералы в эквивалентные, более сложные для понимания выражения. Вместо const port = 8080 можно написать const port = 0x1F90 или const port = 4040 + 4040. Синтаксис числовых литералов Go поддерживает шестнадцатеричный (0x), восьмеричный (0o), двоичный (0b) форматы и числа с плавающей точкой IEEE 754 — всё это можно комбинировать с выражениями.
Как работает движок обфускации
Обфускатор применяет семь различных техник к каждому числовому входу. Шестнадцатеричный, восьмеричный и двоичный форматы преобразуют в формат литералов Go. Побитовое NOT использует оператор дополнения ^x. XOR эксплуатирует тождество x^0 = x. Арифметика создаёт многошаговые выражения вроде (n*5/5). Сдвиг бит использует операторы << и >> с корректирующими выражениями. Для типизированных констант инструмент оборачивает выражения в преобразования типов Go, например int32(0xFF). Каждая техника использует рандомизацию, поэтому каждый раз вы получаете другой результат.
Особенности, связанные с Go
В Go нет неявных преобразований числовых типов, поэтому выражения с аннотацией типа требуют явных приведений (uint16(value)). Инструмент автоматически применяет нужную обёртку типа в соответствии с вашим выбором. Компилятор Go выполняет свёртку констант на этапе компиляции, поэтому обфусцированные выражения вроде (100*2 + 5) компилируются в тот же машинный код, что и 205. Накладных расходов во время выполнения нет — обфускация разрешается во время компиляции.
Конфиденциальность и безопасность
Этот инструмент работает полностью в вашем браузере. Ваши числа, выбранные типы и сгенерированные выражения никогда не покидают ваше устройство. Здесь нет вызовов API, серверной обработки, хранения данных и отслеживания. Вся логика обфускации использует клиентский JavaScript без внешних зависимостей. Ваш исходный код и константы Go остаются полностью конфиденциальными.
Часто задаваемые вопросы
Обфускация чисел в Go преобразует числовые литералы в исходном коде Go в эквивалентные выражения, которые сложнее читать. Например, значение 8080 может стать 0x1F90 (шестнадцатеричное), 0o17620 (восьмеричное), 0b1111110010000 (двоичное), ^(-8081) (побитовое NOT) или (4000+4000+80) (арифметическое). Все они дают в Go 8080, но выглядят в исходном коде совершенно иначе.
Нет — компилятор Go выполняет свёртку констант на этапе компиляции. Обфусцированное выражение вроде (100 * 2 + 5) вычисляется во время компиляции и даёт точно такой же машинный код, как литерал 205. Накладных расходов во время выполнения нет. Единственная цена — небольшое увеличение размера исходного кода и ничтожное увеличение времени компиляции.
Обфускатор использует рандомизацию для выбора из нескольких стратегий преобразования. Например, стиль «Арифметика» может в одном случае сгенерировать n+1-1, а в следующем — (n*5)/5. Это разнообразие позволяет создавать несколько обфусцированных вариантов одного числа и выбирать тот, который лучше подходит вашему стилю кода и ограничениям по размеру.
Инструмент поддерживает все числовые типы Go: int, int8, int16, int32, int64, uint, uint8 (byte), uint16, uint32, uint64, float32, float64, complex64 и complex128. Для целочисленных типов доступен полный набор методов обфускации. Типы с плавающей точкой используют литералы с аннотацией типа и арифметические маскировки. Комплексные типы используют конструктор complex() с обфусцированными действительной и мнимой частями.
Нет. Преобразования типов над константными выражениями разрешаются на этапе компиляции. Выражение вроде int32(0xFF) компилируется в тот же машинный код, что и int32(255). Компилятор Go устраняет приведение при применении к константным значениям, поэтому накладных расходов во время выполнения нет вообще.
Да. Сгенерированные выражения — это допустимый код Go, который корректно компилируется и выполняется во всех версиях Go (1.x). Просто скопируйте обфусцированное выражение и вставьте его в исходный файл Go вместо исходного числового литерала. Выражения работают в объявлениях const, присваиваниях переменных, полях структур, аргументах вызовов функций и литералах массивов/срезов.
Нет. Этот обфускатор чисел Go работает на 100 % в вашем браузере. Ваши числа, выбранные типы и сгенерированные выражения никогда не покидают ваше устройство. Здесь нет аналитики, вызовов API, серверной обработки и какого-либо хранения данных. Ваша конфиденциальность полностью защищена.
Да — 100 % бесплатно, без регистрации, без учётной записи и без ограничений на использование. Создавайте столько обфусцированных вариантов чисел Go, сколько нужно, и столько раз, сколько хотите. Здесь нет платных тарифов, скрытых платежей и ограничений по частоте.