Wct, как тулза для демомейкинга

Привет, Хайп!

Всем доброго времени суток!
Начну я этот топик, пожалуй, с этой картинки:



Хочу познакомить демомейкеров с такой тулзой, как Wct — «Wild Coding Tool», ну или же Word oCTal (на самом деле уже должно было быть Word hEX — Wex, но как-то не прижилось).

— Что это такое?
Это — система счисления, состоящая из 16-и букв, как и hex.

Wct — система счисления, которая состоит из 16-и символов (A B C D E F G H I J K L M N P O), притом «O» здесь идёт после «P».

В основном используется для программирования в машинных кодах, для написания хакерских и мелких программ (под DOS легче писать программы), а также для хакинга. Но большие программы на Wct написать очень сложно.

Wct Editor — редактор машинных кодов на Wct (кроссплатформенный — для Windows & Linux). Весит около 10 кб. Большая скорость сборки программ (около 5 мб / с).

Я уже достаточно продолжительное время использую Wct как тулзу для кодинга (вместо ассемблера). Привык за месяц, кодить и быстрее, и удобнее. Почему не hex? Да потому что…

Цитирую сообщение моего приятеля.

Пока что единственная (пока что на мой взгляд) причина использования букв вместо цифр — в их лучшем запоминании. Но тогда система должна быть стройной — в данном случае CD проецируется в MN — это разумеется не случайность — т.е. асм позволняет писать фактически хексами, но для лучшего запоминания команд использует другие начертания для цифр. Но вообще идея писать хексами с удобным запоминанием интересна.

Ещё:

Плюсы в сторону WCT:
— Удобный редактор
— Высокая производительность
— Хорошая документация
— Онлайн-компилятор
— Библиотеки для работы с I/O,Files,Sockets
— Библиотеки для работы со строками/математикой
— Идеально подходит для изучения структуры машинного кода, архитектуры процессора.Хорош в целях обучения.
— Хорошо подходит для написания участков кода где скорость ОЧЕНЬ критична.

WCT в подавляющем количестве случаев нужен для того, чтобы понять как работает процессор, и для того, чтобы понять архитектуру ОС(системные вызовы, аппаратные прерывания итп).МОЖЕТ пригодиться тем, кто занимается reverse engineering-ом и системным программистам
Еще 1 плюс WCT — с него легко перепрыгнуть на чистый HEX
Читать машинный код для чела, который знает WCT будет как 2 байта переслать

Да, у Wct реально много плюсов и отличий от hex-a. Но сейчас о другом.

Wct имеет билдер под Linux и Windows, а также онлайн компилятор (о котором я расскажу позднее).
Сейчас я пишу демку под ZX-Spectrum на Wct, после чего выложу в открытый доступ документацию по созданию демок на Wct для спектрума :-).

Я чуть не забыл про пример кода.



Шучу, это далеко не то, что я хотел показать.

Примеры:

1. «Hello, world» для Windows: КЛАЦ
2. «Hello, world» для DOS: КЛИК
3. Бутлоадер на Wct (выводит Wct One Love): ЖМЯК
4. «Матрица» на Wct (падающие букафки): ТУТ

Для многих кодинг на вцт может показаться таким:



Но на самом деле всё гораздо проще.

Для процессора i8086 есть специальная ТАБЛИЦА.
Для архитектуры x86 тоже есть ТАБЛИЦА.

Если вы хотите посмотреть вышеприведённые примеры в действии, то просто вставьте исходный код в текстовое поле ОНЛАЙН КОМПИЛЯТОРА, и запустите.



Я пользуюсь Wct уже на протяжении года, и всем доволен. И Вам рекомендую. :-)
Так как кодить демы под спектрум на вцт не очень удобно, я пишу специальную тулзу для генерирования TRD образа с Wct кодом, непосредственно.

Также, присутствует таблица прерываний для биос-а — ЖМИ.
Подробнее про Wct можно прочитать на хабре — тут и тут.

Бывало, писал я на Wct и не только под комплуктеры ваши…



Ах да, результат работы бутлоадера:



А также, хочу продемонстрировать скорость Wct:



На данный момент, вцт я использую для критических участков кода и для написания демки. И вам рекомендую!

Напоследок, я хотел бы показать вам видео про кодинг на Wct.


Спасибо за то, что осилили этот текст.
Если аудитория хайпа одобрит Wct и захочет попробовать его — пожалуйста, отпишитесь в комментариях, тогда я и туториал по кодингу демы для спектрума выложить рад буду.
Если есть какие-либо вопросы, пишите в комментариях, я отвечу!

В скором времени выложу интерпретатор Wct и глобальное обновление компилятора, включающее в себя кучу плюшек.




Всем успехов в написании кода! :-)

53 комментария

avatar
Неужели неортодоксально закодированные хексы кому-то проще мнемоник? :)
avatar
Да… и такое бывает. Мне, например, проще =)
avatar
«Баба Валя угарела, угари и ты!» (c)
avatar
«А также, хочу продемонстрировать скорость Wct:»
Эээ, нипонел в чём заключается компиляция?
Конвертнуть хзхекс в бинарь чтоли?
avatar
Не только. Ещё обфусцировать код, заменить десятичные цЫферки на Wct, убрать комментарии =)
avatar
ну такое я под спектрум(еву) сполпинка напишу за 100$
avatar
А в чем суть обфускации кода?
avatar
Люди, люди.

avatar
Хороший троллинг, чо.
avatar
Не троллинг это… это мозговынос wct…
avatar
Мозговыносом это будет когда ты компилятор wct напишешь на нем же, а не на free pascal. Так что мимо. Пока это толстый троллинг.
avatar
Вызов принят, будет тебе. :-)
avatar
Да мне-то он и в хрен не впился.
А вот ты со своей мстительностью можешь попасть…
avatar
можешь попасть…
Интересно, куда же это я могу попасть? =)
avatar
В неприятности, например. Кто к нам с чем и зачем, тот от того и того…
avatar
Какие же неприятности вы можете мне причинить? :)
avatar
«Вы» — это лично я или данное конкретно взятое сообщество?
avatar
Сообщество, естественно. Но и лично Вы тоже.
avatar
Разное бывает. С полгода назад одного поцыэнта забанили, но там совсем клиника. Пару раз самозабанивания были по результатам кумулятивной оценки профиля (типа как тут, ага).
Лично я стараюсь не опускаться до такого уровня, чтоб ставить минусы в отместку на обиды унылого форсера. Причинять другие неприятности- слишком много чести.
avatar
Учту. Спасибо.
avatar
Вспомнил про Bolgen OS и Дениса Попова… впрочем, не обращайте внимания.
avatar
Увы, тут ничего такого нет. Это тебе и не ОС, и не копипаста. Насчёт хэкс — в статье написано…
avatar
Wct самый лучший язык программирования, я на нём с детства пишу, я даже думаю на нём, о, я счастлив.
Я пишу на wct — какой восторг!
Я пишу на wct — какая радость!
Свет программистов сияет в очах!
Я пишу на wct — лучше счастья нет!
avatar
Браво!
avatar
Ууу, какой щидевр.
avatar
но я согласен, что A-O удобнее 0-F
avatar
Аналогично. Легче запоминается, да и юзать кодить удобнее.
avatar
Забавная штука. Если кому-то проще на этом кодить, то почему бы и нет?
avatar
По-моему не смешно.
avatar
Так никто и не шутит.
avatar
Друзья! Давайте споём песню!
АА BA, BA-BA-LA-HE
AA JA, PH-PH-PH-HE!

OJ KA DE DA
FU JA OP PA
NO PA LA!
NE DA LA!
avatar
Шедевр!
avatar
Хэй, друзья! Восстановлен build.wctsite.tk. Можете компилировать примеры программ.
avatar
Не показывайте депутатам Госдумы.
  • tsl
  • +3
avatar
Чего так? :)
avatar
Есть неиллюзорная опасность, что для чего-нибудь применят.
Например, импортозаместят пиндосский рассовый ассемблер =)
avatar
На сессии: «Зачёт по WCT. Сдача курсовой»
avatar
Или (в крайнем случае) Роскомнадзор заблокирует все ресурсы по ассемблеру и заставить учить Wct. :-)
avatar
это нормально.
avatar
К слову, я сейчас пишу вещицу для оптимизации кода на Wct, пока что для дос. Не, ну а чо. Открываешь прогу, оптимизируешь. И интерпретатор Wct, который мне сейчас очень пригодится :-). Ты участвуешь на Chaos Constructions в этом году? Я две демки на Wct наклепал, к следующему CC буду делать что-то типа рекламки.
avatar
да, мы будем.
но у нас только одна дема!..
avatar
Я прошу прощения, оговорился. Не демо, а интро. В 128 и 64 байт. Но это тоже искусство! Под DOS. :-)
avatar
Лично меня всегда интересовала такая тема, да только руки не доходили. А тут бац — бери, пользуйся. Мне нравится Wct, почему бы и нет? Респект автору.

Пы.Сы.: буковки реально легче использовать, чем цЫферки. И запоминается, действительно, легче.
avatar
Спасибо!
avatar
А может кто-нибудь объяснить зачем программировать в машинных кодах, а не на ассемблере? Особенно если «ассемблерный листинг» и так пишется в комментариях, но дополнительно еще делается тупая работа по кодированию команд и расчету относительных смещений (которые постоянно слетают по мере модификации программы, ага).
avatar
Есть люди которые только 16 букв (не по порядку) могут запомнить (((
avatar
Мда. Похоже великий писатель демосцен буквами так и не смог ответить на этот вопрос и жутко обиделся.

Мальчик, не плачь! Дарю тебе совершенно бесплатно дизассемблер wct:


#!/bin/sh
hexdump $1 | cut -f 2- -d" " | tr "01234567890abcdef" "ABCDEFGHIJKLMNPO"
avatar
O,P надо местами поменять
avatar
Это к топикстартеру. У меня все верно)
avatar
Да, всё правильно.)
avatar
Нет, всё верно))
avatar
Нет уважительной причины. Просто так, фана ради. Но никто не заставляет кодить всё на вцт, на асме, конечно, тоже можно. Но я к вцт привык. + в новой версии Wct не нужно о смещениях беспокоиться, и об цЫфрах.
avatar
  • VBI
  • +7
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.