Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
#Круги добра
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Испытайте захватывающие сражения Второй мировой войны: быстрые бои, огромный арсенал, настройка, танки и стратегия на разнообразных картах!

Warfare 1942 - онлайн шутер

Мультиплеер, Шутер, Мидкорные

Играть

Топ прошлой недели

  • SpongeGod SpongeGod 1 пост
  • Uncleyogurt007 Uncleyogurt007 9 постов
  • ZaTaS ZaTaS 3 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
471
Mastmiller
Mastmiller
Топовый автор
2 месяца назад

Как рисовать доместосом на футболках и не привлекать внимание санитаров [2]⁠⁠

Дорисовала Игоря из поста Как рисовать доместосом на футболках и не привлекать внимание санитаров, показываю рыбов красивых

Как рисовать доместосом на футболках и не привлекать внимание санитаров [2] Кастомизация, Череп, Рисунок, Длиннопост
Как рисовать доместосом на футболках и не привлекать внимание санитаров [2] Кастомизация, Череп, Рисунок, Длиннопост

Щитаю, пока не бесит - надо показывать. А то эта магия вне хогвартса (чем дольше смотришь на фотку, тем меньше нравится) работает не только с селфи, но и с Игорями

Пока рисовала, вспомнила времена учёбы в первом универе. Препод по живописи и рисунку (здравствуйте, Ирина Алексеевна) умела очень выразительно посылать нерадивых студентов в пешее эротическое одним лишь взглядом. Рисовала-то я нормально, но поведение было обычное подростковое - то пару пропущу, то выгляжу не как студентка семинарии. Так что, взгляд этот она на мне отрабатывала и в хвост, и в гриву несколько лет без устали. Спонсор моих ранних психотравм бленб)

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

Всем нестерпимо приятного дня, убежала рисовать

Показать полностью 2
[моё] Кастомизация Череп Рисунок Длиннопост
34
Mnogotortec
Mnogotortec
2 месяца назад
Лига Геймеров

Загрузочный экран для ULTRANX(для чипованных и прошитых Nintendo switch) Red Dead Redemption Монахиня⁠⁠

Загрузочный экран для ULTRANX(для чипованных и прошитых Nintendo switch) Red Dead Redemption Монахиня Рисунок, Nintendo, Консоли, Иллюстрации, Игры, Прошивка, Чиповка, Кастомизация, Nintendo Switch, Ковбои, Xbox, Видеоигра, Игровая приставка, Playstation, Юмор, Геймеры, Обои на рабочий стол, Шутер

Вид на приставке

Загрузочный экран для ULTRANX(для чипованных и прошитых Nintendo switch) Red Dead Redemption Монахиня Рисунок, Nintendo, Консоли, Иллюстрации, Игры, Прошивка, Чиповка, Кастомизация, Nintendo Switch, Ковбои, Xbox, Видеоигра, Игровая приставка, Playstation, Юмор, Геймеры, Обои на рабочий стол, Шутер

В финале работы с изображением

BMP файл загрузочного экрана для консоли можно скачать в телеграм канале https://t.me/customizationfond

Там же есть инструкция по установке(в закреплённом сообщении)

Показать полностью 1
[моё] Рисунок Nintendo Консоли Иллюстрации Игры Прошивка Чиповка Кастомизация Nintendo Switch Ковбои Xbox Видеоигра Игровая приставка Playstation Юмор Геймеры Обои на рабочий стол Шутер
0
11
OldMercedesClub
OldMercedesClub
3 месяца назад

Mercedes 300 SL: современная трансформация легендарной модели⁠⁠

Как вы относитесь к таким рестомодам?

Mercedes 300 SL: современная трансформация легендарной модели Мерседес, Авто, Автомобилисты, Тюнинг, Кастомизация, Telegram (ссылка), Длиннопост
Mercedes 300 SL: современная трансформация легендарной модели Мерседес, Авто, Автомобилисты, Тюнинг, Кастомизация, Telegram (ссылка), Длиннопост
Mercedes 300 SL: современная трансформация легендарной модели Мерседес, Авто, Автомобилисты, Тюнинг, Кастомизация, Telegram (ссылка), Длиннопост
Mercedes 300 SL: современная трансформация легендарной модели Мерседес, Авто, Автомобилисты, Тюнинг, Кастомизация, Telegram (ссылка), Длиннопост
Mercedes 300 SL: современная трансформация легендарной модели Мерседес, Авто, Автомобилисты, Тюнинг, Кастомизация, Telegram (ссылка), Длиннопост
Mercedes 300 SL: современная трансформация легендарной модели Мерседес, Авто, Автомобилисты, Тюнинг, Кастомизация, Telegram (ссылка), Длиннопост
Mercedes 300 SL: современная трансформация легендарной модели Мерседес, Авто, Автомобилисты, Тюнинг, Кастомизация, Telegram (ссылка), Длиннопост
Mercedes 300 SL: современная трансформация легендарной модели Мерседес, Авто, Автомобилисты, Тюнинг, Кастомизация, Telegram (ссылка), Длиннопост
Показать полностью 8
Мерседес Авто Автомобилисты Тюнинг Кастомизация Telegram (ссылка) Длиннопост
6
2343
Mastmiller
Mastmiller
Топовый автор
3 месяца назад

Как рисовать доместосом на футболках и не привлекать внимание санитаров⁠⁠

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


Мне редко на 100% нравится то, что я рисую, но этот пока хорош, нарядный. Купила проектор (не сяоми, все еще жалко на него много деняк), чтобы проще переносить эскиз из компа на футболку, сокращает время на это с нескольких часов до 10-15 минут. Мэджик какой-то. Теперь в день рисую 1-2 футболки, спасибо боженьке и китайцам за эти невероятные технологии

(проектор HY300 PRO, истинный китаец за смешные бесплатные деньги. Не возлагала на него больших надежд, но неожиданно он оказался хорош даже для просмотра фильмов, есть с чем сравнить)

Как рисовать доместосом на футболках и не привлекать внимание санитаров Футболка, Череп, Кастомизация, Одежда, Рукоделие с процессом, Видео, Вертикальное видео, Короткие видео, Длиннопост

Этого Игоря, конечно, дольше одного дня буду делать. Он изобилует позвонками и прочими ребрами, которые предстоит выводить кисточкой с хлором (до сих пор удивляюсь что так можно), но предвкушаю свой восторг длиной аж в пару минут до того, как найду в нем какие-то недостатки.
Убежала рисовать, потом может покажу. А может и нет, как альцгеймер распорядится ¯\_(ツ)_/¯

Показать полностью 1
[моё] Футболка Череп Кастомизация Одежда Рукоделие с процессом Видео Вертикальное видео Короткие видео Длиннопост
242
3
Spekkle
Spekkle
3 месяца назад

Герб торговой гильдии Братства Крепкого меча⁠⁠

Сделан по заказу ролевиков, упрощённый вариант с читаемым образом без лишней перегруженности деталями, чтобы можно было перенести на ткань

Герб торговой гильдии Братства Крепкого меча Графический дизайн, Герб, Ролевые игры, Ролевики, Кастомизация, Дизайн
[моё] Графический дизайн Герб Ролевые игры Ролевики Кастомизация Дизайн
2
204
monobogdan
monobogdan
Посты о ремонте и моддинге ретрогаджетов.
TECHNO BROTHER
3 месяца назад

Самая сложная «Змейка»: Как я отреверсил и хакнул кнопочный телефон, чтобы написать для него классическую игру⁠⁠

Самая сложная «Змейка»: Как я отреверсил и хакнул кнопочный телефон, чтобы написать для него классическую игру Телефон, Гаджеты, Программирование, Реверс-инжиниринг, Хакеры, Моддинг, Кастомизация, Игра змейка, Гифка, Длиннопост

Осторожно: в данной серии статей я рассказываю о реверс-инжиниринге и хакинге простых кнопочных звонилок. Цель простая: расширить скудный функционал телефонов ценой до 1 000 рублей и сделать их привлекательной моддинг-платформой для самых разных гиков. Если вы когда-нибудь слышали про эльфы и патчи, и вам интересно узнать, как происходит процесс взлома и изучения прошивок, а также написания новых программ для кнопочников — приглашаю вас под кат!

❯ Предыстория

Недавно я познакомился с Ilya_ZX, человеком-легендой в моддинг сцене телефонов из нулевых. Илья рассказал мне забавную историю: ещё будучи студентом, он увидел как одногруппник играет на своём LG G1800 в легендарную мобильную игру нулевых — «Змейку». Его тогдашний Siemens A60 не умел ничего кроме игрушки Stack Attack, даже Java-игры не поддерживались, а молодому парню очень хотелось сыграть в Змейку на скучных парах!

Самая сложная «Змейка»: Как я отреверсил и хакнул кнопочный телефон, чтобы написать для него классическую игру Телефон, Гаджеты, Программирование, Реверс-инжиниринг, Хакеры, Моддинг, Кастомизация, Игра змейка, Гифка, Длиннопост

Казалось бы, на дворе 2005 год, можно просто пойти на рынок и купить уже изрядно подешевевшую Б/У 3310 и поиграть в «трушную» змейку именно там. Но Илья был не просто студентом технаря, он с юности интересовался программированием, реверс-инжинирингом и телефонами! И он решил поспорить с одногруппником — сможет ли он реализовать Змейку на своём A60? Всего за один месяц он умудрился исследовать прошивку телефона на диковинной процессорной архитектуре, найти необходимые функции для работы с дисплеем, вводом и окнами и написать ту самую змейку. Попробуйте теперь представить лицо его одногруппника, который проиграл спор молодому реверсеру :)

Самая сложная «Змейка»: Как я отреверсил и хакнул кнопочный телефон, чтобы написать для него классическую игру Телефон, Гаджеты, Программирование, Реверс-инжиниринг, Хакеры, Моддинг, Кастомизация, Игра змейка, Гифка, Длиннопост

Сначала Илья написал игру на Паскале для самопального «симулятора» A60, а затем переписал её на ассемблере для C166s!

На момент написания статьи мне 23 года, я лишь чуточку старше тогдашнего Ильи. После рассказанной истории, я подумал «А чем я хуже?» и принялся реверсить прошивку бюджетного кнопочника 10-й давности - Explay B240. В прошлой статье, мы с вами проделали первые шаги по хакингу телефона: загрузка прошивки в IDA Pro и поиск системных функций, хакинг файлового менеджера для запуска программ с MicroSD-флэшки, разработка загрузчика исполняемых файлов и организация таблицы функций. В целом, это весьма неплохая поучительная статья для новичков в реверс-инжиниринге.

Самая сложная «Змейка»: Как я отреверсил и хакнул кнопочный телефон, чтобы написать для него классическую игру Телефон, Гаджеты, Программирование, Реверс-инжиниринг, Хакеры, Моддинг, Кастомизация, Игра змейка, Гифка, Длиннопост

Однако итоговый результат в виде заливки экрана желтым цветом может показаться незначительным. Поэтому в сегодняшней статье мы с вами напишем первую действительно полезную программу!

❯ «Змейка»

Напомню, что загрузчик внешних программ работает по очень простому принципу: мы нашли в дизассемблере функцию обработки сообщений окна встроенной игры и хукнули её, дабы при открытии окна она загружала программу с MicroSD-флэшки в ОЗУ и передавала ей управление. При этом загрузчик сразу интегрирован в проводник: при запуске файла с расширением .app, патч кладет строку с абсолютным путем к нему в одну из «угнанных» глобальных переменных, открывает хукнутое окно игры, а далее бинлоадер транслирует все сообщения от ОС в загруженную программу.

Самая сложная «Змейка»: Как я отреверсил и хакнул кнопочный телефон, чтобы написать для него классическую игру Телефон, Гаджеты, Программирование, Реверс-инжиниринг, Хакеры, Моддинг, Кастомизация, Игра змейка, Гифка, Длиннопост

Наглядная демонстрация работы

Таким образом, жизненный цикл приложений значительно упрощается по сравнению с "эльфами" на тех же Motorola и Siemens: по сути, нам остаётся лишь проинициализировать состояние программы в MSG_CREATE и освободить динамическую память в MSG_CLOSE. Читателям, которые хоть раз писали программы под Windows, такой подход может показаться очень знакомым!

Самая сложная «Змейка»: Как я отреверсил и хакнул кнопочный телефон, чтобы написать для него классическую игру Телефон, Гаджеты, Программирование, Реверс-инжиниринг, Хакеры, Моддинг, Кастомизация, Игра змейка, Гифка, Длиннопост

Для реализации змейки, нам необходимо уметь обрабатывать кнопки и рисовать что-то на дисплей. С кнопками проблем никаких не возникает: система шлёт сообщения типа MSG_KEYDOWN_KEY и MSG_KEYUP_KEY на каждое событие с клавиатурой. А вот с графикой чуточку сложнее: поскольку встроенные в прошивку функции завязаны на работу с вшитыми ресурсами, мы напишем нужные функции сами.

UI-подсистема телефона реализована по принципу «грязных зон». Вместо перерисовки всего экрана, система хранит массив с координатами прямоугольников, где что-то изменилось с момента прошлой перерисовки: это позволяет сэкономить такты процессора на тяжелых операциях по типу альфа-блендинга.

Самая сложная «Змейка»: Как я отреверсил и хакнул кнопочный телефон, чтобы написать для него классическую игру Телефон, Гаджеты, Программирование, Реверс-инжиниринг, Хакеры, Моддинг, Кастомизация, Игра змейка, Гифка, Длиннопост

Таким образом, сначала нам нужно получить указатель на буфер кадра, затем сделать весь экран «грязным» путем отрисовки полноэкранного прямоугольника и только потом поверх него рисовать графику нашей игры. На первый взгляд листинг ниже кажется дичью, но чуток отрефакторить — и выглядит как типичный код эмбедщика!

void Paint(LoaderContext* context)
{
LcdId lcd = { 0, 0 };
uint16* fb = ((uint16*(*)(LcdId* id)) LcdGetFrameBuffer)(&lcd); // Get framebuffer for primary screen

uint16 startEnd[4] = { 0, 0, 240, 320 }; // Rect
((void(*)(LcdId* lcdId, uint32 start, uint32 end, uint16 col)) LcdDrawRectPtr)(&lcd, ((uint32*)&startEnd[0])[0], ((uint32*)&startEnd[0])[1], 0x0); // Draw fullscreen rectangle

((void(*)()) LcdUpdateRect)(); // Update rect
}

Далее я реализовал функцию для отрисовки текста на экране. Шрифты самые примитивные — 8x8, побитовые, примерно как в знакогенераторе оригинального IBM PC. Принцип отрисовки прост: каждый символ (глиф) хранится в виде 8 байт. В каждом байте один бит представляет из себя пиксель по координате Y, если он равен нулю — значит пиксель прозрачный, в обратном же случае он должен быть закрашен нужным цветом.

Алгоритм для отрисовки шрифтов выглядит так:

int LcdDrawChar(LoaderContext* context, uint16* frameBuffer, char chr, uint32 x, uint32 y, uint16 color)
{
if(x >= 0 && y >= 0 && x + FONT_WIDTH < LCD_WIDTH && y + FONT_HEIGHT < LCD_HEIGHT)
{
int i, j;
unsigned char* glyph = (unsigned char*)(GLOBAL(context) + &embedded_font[chr * 8]);

for(i = 0; i < FONT_HEIGHT; i++)
{
short* fb = &((short*)frameBuffer)[(y + i) * LCD_WIDTH + x];

for(j = 0; j < FONT_WIDTH; j++)
{
if((*glyph >> (FONT_WIDTH - j)) & 0x1)
*fb = color;

fb++;
}

glyph++;
}

return true;
}

return false;
}

void LcdDrawString(LoaderContext* context, uint16* frameBuffer, char* str, uint32 x, uint32 y, uint16 color)
{
if(x >= 0 && y >= 0)
{
unsigned int i;

for(i = 0; i < strlen(str); i++)
{
if(!LcdDrawChar(context, frameBuffer, str[i], x, y, color))
return; // Out of screen

x += FONT_WIDTH;
}
}
}

Наверняка вы заметили страшный костыль в локальной переменной glyph с арифметикой над указателями. Дело в том, что на момент написания статьи, программа представляет из себя сырую склейку секций .text, .data, .bss и .rodata, поэтому на данный момент в ней нет релокаций, которые помогли бы сделать программу перемещаемой в памяти. В arm-none-eabi все вызовы функций без явного указателя — относительные, но при этом обращения к глобальным переменным и константам (например, строковым литералам) — абсолютные. Если попытаться напрямую использовать глобальную переменную по адресу 0x18 — программа будет пытаться читать или портить память в таблице векторов прерываний, что неизбежно приведет к HardFault. Поэтому для получения настоящего адреса переменной, к ней необходимо прибавить базовый адрес загрузки программы:

Самая сложная «Змейка»: Как я отреверсил и хакнул кнопочный телефон, чтобы написать для него классическую игру Телефон, Гаджеты, Программирование, Реверс-инжиниринг, Хакеры, Моддинг, Кастомизация, Игра змейка, Гифка, Длиннопост

Этот костыль можно избежать, если в конец программы дописать сведения о релокациях, которые можно вытянуть путем парсинга промежуточного эльфа, а при особом желании — можно сделать так, что программа сама себя будет патчить «на лету»!

Далее мы рисуем нашу строку с текстом:

LcdDrawString(context, fb, SCONST(context, "Ya lyublu AvtoVAZ"), 0, 0, 0xFFFFFF);

И получаем следующий результат:

Самая сложная «Змейка»: Как я отреверсил и хакнул кнопочный телефон, чтобы написать для него классическую игру Телефон, Гаджеты, Программирование, Реверс-инжиниринг, Хакеры, Моддинг, Кастомизация, Игра змейка, Гифка, Длиннопост

Для змейки, если она не ASCII, этого всё равно мало. Поэтому нам нужна функция для вывода картинок на дисплей. Написать загрузчик tga или bmp не составляет труда, но хотелось бы чтобы программа была самодостаточной и несла с собой все необходимые ресурсы. Поэтому для конвертации картинок я использую вот этот инструмент: выбираем файл, формат ставим в 16-бит 565 и преобразовываем в C-массив.

Процесс отрисовки изображения называется блиттингом, а его суть заключается в копировании пикселей с одной поверхности на другую. В нашем случае, исходная поверхность — само изображение, вторая — фреймбуфер. Также к пикселям могут применяться дополнительные операции: поворот и скейлинг (на фиксированные углы, либо же с аффинными преобразованиями), альфа-блендинг и колоркей.

void LcdDrawBitmap(uint16* frameBuffer, short* bitmap, uint32 width, uint32 height, uint32 x, uint32 y)
{
if(bitmap)
{
int i, j;
short* bmp = bitmap;

// Slow debug version
for(i = 0; i < height; i++)
{
for(j = 0; j < width; j++)
{
LCD_PLOT_565(clamp(x + j, 0, LCD_WIDTH), clamp(y + i, 0, LCD_HEIGHT), bmp[i * width + j]);
}
}
}
}

А отрисовать нашу картинку можно вот так:

LcdDrawBitmap(fb, (short*)(GLOBAL(context) + (uint32)&lada_bmp), LADA_WIDTH, LADA_HEIGHT, 0, 0);

Почему бы не спрятать дескриптор изображения в структуру?

Потому что в таком случае придется резолвить глобальный указатель два раза — первый раз на сам дескриптор, второй раз — на массив пикселей в дескрипторе, при всём этом необходимо необходимо будет разделить рантайм-изображения и ресурсы, что значительно переусложняет итоговую кодовую базу.

И вот наш результат. Не удивляйтесь тестовому изображению, просто я — прирожденный ТАЗовод!

Самая сложная «Змейка»: Как я отреверсил и хакнул кнопочный телефон, чтобы написать для него классическую игру Телефон, Гаджеты, Программирование, Реверс-инжиниринг, Хакеры, Моддинг, Кастомизация, Игра змейка, Гифка, Длиннопост

Помощь

Переходим к геймплею. Сама по себе «Змейка» в реализации — простая игра, где каждый уровень представляет из себя примитивную сетку. Алгоритм работы заключается в том, что раз в n-миллисекунд вызывается один игровой тик, который двигает игрока в текущем выбранном направлении. Если в момент тика нажата одна из кнопок-стрелок — направление движения меняется — тут всё очевидно:

Самая сложная «Змейка»: Как я отреверсил и хакнул кнопочный телефон, чтобы написать для него классическую игру Телефон, Гаджеты, Программирование, Реверс-инжиниринг, Хакеры, Моддинг, Кастомизация, Игра змейка, Гифка, Длиннопост

Сама змея представляет из себя массив сегментов, который хранит свою текущую позицию в сетке уровня:

Самая сложная «Змейка»: Как я отреверсил и хакнул кнопочный телефон, чтобы написать для него классическую игру Телефон, Гаджеты, Программирование, Реверс-инжиниринг, Хакеры, Моддинг, Кастомизация, Игра змейка, Гифка, Длиннопост

Для продвижения змейки по направлению, необходимо в обратном порядке обойти массив сегментов, переставляя текущий крайний сегмент на позицию предыдущего сегмента и так до самой головы. Позиция головы будет инкрементироваться относительно выбранного направления:

Самая сложная «Змейка»: Как я отреверсил и хакнул кнопочный телефон, чтобы написать для него классическую игру Телефон, Гаджеты, Программирование, Реверс-инжиниринг, Хакеры, Моддинг, Кастомизация, Игра змейка, Гифка, Длиннопост

Для того, чтобы проверить скушали ли мы яблочко — достаточно сравнить координаты головы и объекта. Если они идентичны, то прибавляем очко и переносим яблоко на другую позицию:

if(state->Segments[SEGMENT_HEAD].X == state->AppleX && state->Segments[SEGMENT_HEADER].Y == state->AppleY)
{
state->Score++;
MoveApple(state);
}

Для респавна яблочка можно использовать два подхода: параметрические таблицы с заранее прописанными координатами объекта (эдакая псевдослучайность) и обычный PRNG-генератор, который путем реверса можно найти в прошивке.

Самая сложная «Змейка»: Как я отреверсил и хакнул кнопочный телефон, чтобы написать для него классическую игру Телефон, Гаджеты, Программирование, Реверс-инжиниринг, Хакеры, Моддинг, Кастомизация, Игра змейка, Гифка, Длиннопост

Благодаря дипсику удалось определить, что в прошивке используется LCG. Вообще, нейронки очень сильно помогают при реверсе и могут легко анализировать стандартные алгоритмы: я тестировал от простых по типу memcpy, до относительно сложных как например программное деление по модулю и программная растеризация треугольника по Scanline-алгоритму.

unsigned int rand()
{
int v0; // r3
int v1; // r4
int v2; // r1

v0 = MEMORY[0x4710E80] - 1;
v1 = *(_DWORD *)(4 * MEMORY[0x4710E84] + 0x4710E88) + *(_DWORD *)(4 * MEMORY[0x4710E80] + 0x4710E88);
*(_DWORD *)(4 * MEMORY[0x4710E84] + 0x4710E88) = v1;
MEMORY[0x4710E80] = v0;
v2 = MEMORY[0x4710E84] - 1;
if ( v0 >= 0 )
{
--MEMORY[0x4710E84];
if ( v2 < 0 )
MEMORY[0x4710E84] = 54;
}
else
{
--MEMORY[0x4710E84];
MEMORY[0x4710E80] = 54;
}
return (unsigned int)(2 * v1) >> 1;
}

Если же голова оказывается в одном из сегментов или же за полем — игра окончена. Полный вес собранного приложения - 5 килобайт 644 байта! А ниже - демонстрация его работы:

Самая сложная «Змейка»: Как я отреверсил и хакнул кнопочный телефон, чтобы написать для него классическую игру Телефон, Гаджеты, Программирование, Реверс-инжиниринг, Хакеры, Моддинг, Кастомизация, Игра змейка, Гифка, Длиннопост

❯ Заключение

Вот такой интересный моддинг бюджетного кнопочника у нас с вами сегодня получился. От слов к делу мы с вами написали первые действительно рабочие программы, которые может быть и не самые полезные, но поверьте, для гика важен сам процесс и объём получаемого от этого эндорфина...

Самая сложная «Змейка»: Как я отреверсил и хакнул кнопочный телефон, чтобы написать для него классическую игру Телефон, Гаджеты, Программирование, Реверс-инжиниринг, Хакеры, Моддинг, Кастомизация, Игра змейка, Гифка, Длиннопост

Это приносит невероятное моральное наслаждение

А что ещё нужно парню в 23 года? Правильно: чтобы мотор бодро тянул любимую десятку и чтобы реверсилось всё легко и понятно! Исходный код и все что необходимо для установки бинлоадера есть в на моем гите.

А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram-канал «Клуб фанатов балдежа», куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты и щитпостю. А ролики (не всегда дублирующие статью) можно найти на моём YouTube канале.

Важно: друзья! Я уверен, что статью будут читать выходцы с форумов моддеров и возможно даже ребята, связанные с прошивочными боксами. Если у вас есть исходный код или объектные файлы для телефонов Siemens (S-Gold или E-Gold — не имеет значения) и вы хотели бы помочь общему моддерскому делу — напишите пожалуйста мне в Telegram. Несмотря на то, что этот код уже давно никому не нужен и E-Gold/S-Gold уже более 15 лет снят с производства, гарантирую полную анонимность и крутой контент :)

Очень важно! Разыскиваются девайсы для будущих статей!

Друзья! Если вам понравилась сегодняшняя статья про разработку эльфов, то спешу объявить: для подготовки будущих материалов с разработкой самопальных игрушек под необычные устройства, объявляется розыск телефонов и консолей! В 2000-х годах, китайцы часто делали дешевые телефоны с игровым уклоном — обычно у них было подобие геймпада (джойстика) или хотя бы две кнопки с верхней части устройства, выполняющие функцию A/B, а также предустановлены эмуляторы NES/Sega. Фишка в том, что на таких телефонах можно выполнять нативный код и портировать на них новые эмуляторы, чем я сейчас занимаюсь, а затем написать об этом подробную статью и записать видео! Если у вас есть телефон подобного формата и вы готовы его задонатить или продать, пожалуйста напишите мне в Telegram (@monobogdan) или в комментарии. Также интересуют смартфоны-консоли на Android (на рынке РФ точно была Func Much-01), там будет контент чуточку другого формата :)

Самая сложная «Змейка»: Как я отреверсил и хакнул кнопочный телефон, чтобы написать для него классическую игру Телефон, Гаджеты, Программирование, Реверс-инжиниринг, Хакеры, Моддинг, Кастомизация, Игра змейка, Гифка, Длиннопост

А также я ищу старые (2010-2014) подделки на брендовые смартфоны Samsung, Apple и т. п. Они зачастую работают на весьма интересных чипсетах и поддаются хорошему моддингу, парочку статей уже вышло, но у меня ещё есть идеи по их моддингу! Также может у кого-то остались самые первые смартфоны Xiaomi (серии Mi), Meizu (ещё на Exynos) или телефоны на Linux (например Motorola EM30, RAZR V8, ROKR Z6, ROKR E2, ROKR E6, ZINE ZN5 и т. п., о них я хотел бы подготовить специальную статью и видео т. к. на самом деле они работали на очень мощных для своих лет процессорах, поддавались серьезному моддингу и были способны запустить даже Quake!). Всем большое спасибо за донаты!

Самая сложная «Змейка»: Как я отреверсил и хакнул кнопочный телефон, чтобы написать для него классическую игру Телефон, Гаджеты, Программирование, Реверс-инжиниринг, Хакеры, Моддинг, Кастомизация, Игра змейка, Гифка, Длиннопост
Самая сложная «Змейка»: Как я отреверсил и хакнул кнопочный телефон, чтобы написать для него классическую игру Телефон, Гаджеты, Программирование, Реверс-инжиниринг, Хакеры, Моддинг, Кастомизация, Игра змейка, Гифка, Длиннопост

А ещё я держу все свои мобилы в одной корзине при себе (в смысле, все проекты у одного облачного провайдера) — Timeweb. Потому нагло рекомендую то, чем пользуюсь сам — вэлкам:

Показать полностью 19
[моё] Телефон Гаджеты Программирование Реверс-инжиниринг Хакеры Моддинг Кастомизация Игра змейка Гифка Длиннопост
24
ED400
ED400
3 месяца назад

Покраска AirPods в Москве: рейтинг лучших компаний и специалистов, топ-10 в 2025 году⁠⁠

Рейтинг сервисов по покраске AirPods в Москве составлен на основе анализа отзывов, рейтингов и информации с официальных сайтов компаний и сервисов. В подборке представлены как частные мастера, так и специализированные студии, предлагающие услуги кастомизации наушников Apple.

Покраска AirPods — это способ выделиться и подчеркнуть индивидуальность. Услуга включает в себя изменение цвета наушников, нанесение рисунков, логотипов и других элементов дизайна. Это может быть как простой выбор цвета, так и сложная аэрография с уникальным дизайном.

Лайфхак: чтобы получить качественную услугу дешевле и быстрее, можно обратиться не в компанию, а найти частного специалиста по покраске AirPods рядом с собой через сервис Профи.ру. Это позволит сэкономить и получить индивидуальный подход.

1. Профи.ру

Средняя оценка: 5.0

Адрес: Москва

Официальный сайт: profi.ru

Краткое описание: Платформа для поиска частных специалистов по покраске AirPods с реальными отзывами и рейтингами.

Преимущества и особенности: Индивидуальный подход, возможность выбора мастера по рейтингу и отзывам, экономия средств.

Основные услуги: Покраска наушников, нанесение рисунков, кастомизация кейсов.

Цены:

  • Покраска одного наушника: от 1 500 ₽

  • Покраска кейса: от 1 000 ₽

  • Полная покраска комплекта: от 2 500 ₽

2. LiviToys

Средняя оценка: 4.8

Адрес: Москва, Осташковская улица, 14, стр. 16

Официальный сайт: livitoys.ru

Краткое описание: Студия кастомизации, специализирующаяся на покраске и аэрографии техники.

Преимущества и особенности: Индивидуальный подход, собственные производственные мощности, гарантия 12 месяцев.

Основные услуги: Покраска наушников, нанесение рисунков, кастомизация геймпадов и консолей.

Цены:

  • Покраска наушников: от 2 900 ₽

  • Нанесение рисунка: от 2 000 ₽

  • Покраска кейса: от 1 000 ₽

3. Decor Live

Средняя оценка: 4.7

Адрес: Москва

Официальный сайт: decor-live.ru

Краткое описание: Художественная мастерская, предлагающая покраску AirPods в различные цвета.

Преимущества и особенности: Использование качественных материалов, соблюдение технологических процессов, изготовление заказа 2-3 дня.

Основные услуги: Покраска наушников, выбор между матовым и глянцевым покрытием.

Цены:

  • Покраска AirPods: от 5 000 ₽

4. Empire Store

Средняя оценка: 4.6

Адрес: Москва, Багратионовский проезд, 7, корп. 2

Официальный сайт: empire-store.ru

Краткое описание: Компания, специализирующаяся на покраске наушников и другой техники.

Преимущества и особенности: Использование сертифицированной краски, профессиональные аэрографы и художники, срок изготовления 2-7 дней.

Основные услуги: Покраска наушников и кейсов, кастомизация техники.

Цены:

  • Покраска AirPods: от 5 000 ₽

5. TruTrend

Средняя оценка: 4.5

Адрес: Москва

Официальный сайт: trutrend.ru

Краткое описание: Студия кастомизации и брендирования техники.

Преимущества и особенности: Индивидуальный подход, возможность нанесения логотипов и рисунков, скидки при оптовых заказах.

Основные услуги: Покраска наушников, нанесение надписей и картинок, гравировка.

Цены:

  • Покраска одного наушника: 1 900 ₽

  • Покраска кейса: 2 900 ₽

  • Нанесение надписи или картинки: 2 000 ₽

6. Dr.Head

Средняя оценка: 4.4

Адрес: Москва

Официальный сайт: doctorhead.ru

Краткое описание: Компания, предлагающая услуги по покраске наушников и чехлов.

Преимущества и особенности: Нанесение изображений, гравировок, инкрустация стразами Swarovski, гарантия на работы.

Основные услуги: Покраска наушников, нанесение рисунков, гравировка.

Цены:

  • Покраска AirPods: от 5 000 ₽

7. GSM King

Средняя оценка: 4.3

Адрес: Москва

Официальный сайт: gsmking.ru

Краткое описание: Магазин, предлагающий услуги по покраске наушников Apple AirPods.

Преимущества и особенности: Надежность и качество обслуживания, положительные отзывы клиентов.

Основные услуги: Покраска наушников, кастомизация техники.

Цены:

  • Покраска AirPods: от 5 000 ₽

8. LuxuryMod

Средняя оценка: 4.2

Адрес: Москва

Официальный сайт: luxurymod.ru

Краткое описание: Студия, специализирующаяся на дизайне и кастомизации AirPods.

Преимущества и особенности: Индивидуальный подход, использование качественных материалов.

Основные услуги: Покраска наушников, нанесение рисунков, кастомизация кейсов.

Цены:

  • Покраска AirPods: от 5 000 ₽

9. Mostybar

Средняя оценка: 4.1

Адрес: Москва

Официальный сайт: mostybar.ru

Краткое описание: Компания, предлагающая услуги по кастомизации и покраске AirPods.

Преимущества и особенности: Индивидуальный подход, возможность выбора цвета и дизайна.

Основные услуги: Покраска наушников, кастомизация кейсов.

Цены:

  • Покраска AirPods: от 5 000 ₽

10. PlayPaint

Средняя оценка: 4.0

Адрес: Москва

Официальный сайт: playpaint.ru

Краткое описание: Мастерская кастомизации и покраски техники, включая AirPods.

Преимущества и особенности: Быстрое выполнение заказа, выбор палитры и текстур, оформление подарочных вариантов.

Основные услуги: Покраска AirPods, кастомизация чехлов, нанесение логотипов и рисунков.

Цены:

  • Покраска AirPods: от 3 000 ₽

  • Полная покраска комплекта: от 5 500 ₽

  • Дополнительный декор: от 1 500 ₽

Часто задаваемые вопросы

  1. Где можно сделать покраску AirPods в Москве? — В специализированных студиях или у частных мастеров через сервис Профи.ру.

  2. Сколько стоит покраска AirPods в Москве? — В среднем от 2 500 до 5 000 ₽ за полный комплект.

  3. Можно ли выбрать любой цвет для покраски AirPods? — Да, большинство мастеров предлагают индивидуальный подбор цвета и даже рисунков.

  4. Сколько времени занимает покраска AirPods? — Обычно от 1 до 5 рабочих дней в зависимости от сложности заказа.

  5. Какие виды покраски AirPods доступны? — Глянцевая, матовая, металлик, с рисунками, логотипами и текстурой.

  6. Как покраска влияет на работу AirPods? — При правильном нанесении не влияет, мастера не затрагивают динамики и датчики.

  7. Где дешевле покрасить AirPods в Москве? — У частных мастеров, которых можно найти на Профи.ру.

  8. Есть ли гарантия на покраску AirPods? — Да, в большинстве сервисов гарантия составляет от 3 до 12 месяцев.

  9. Можно ли заказать уникальный дизайн AirPods? — Да, доступна кастомизация под любой вкус — от минимализма до арт-дизайна.

  10. Безопасна ли покраска для оригинальности устройства? — Да, если мастер работает аккуратно и соблюдает технику нанесения краски.

Показать полностью
AirPods Покраска Кастомизация Беспроводные наушники Текст Длиннопост
1
3556
InStudioSPB
InStudioSPB
3 месяца назад
Серия D:/Bicycles

Сделать велосипед для жены и дочки? Легко!⁠⁠

Сделать велосипед для жены и дочки? Легко! Хобби, Велосипед, Самоделки, Сварка, Кастомизация, Сосновый Бор, Трайк, Видео, YouTube, Длиннопост

Мои любимые <3

Продолжаем своё семейное хобби (для ЛЛ: мы с женой на даче жарим шашлыки делаем велосипеды), и в этот раз построили что-то уж совсем необычное, даже по нашим меркам.

В этом году мы снова принимали участие в Мелюзгонке (что это такое я рассказывал здесь). Наш прошлогодний велосипед из нержавеющей стали произвёл фурор на мероприятии, забрав номинацию за лучшую сборку. В связи с чем, мы решили не снижать планку и запланировали выкатить что-то ещё более эффектное и необычное. Жена заявила, что давно хотела трайк. Мы не уверены, что то что получилось, технически корректно называть просто трайком с прицепом. Возможно, это пентатрайк или ещё какое несуществующее слово, да и не важно это.

Сделать велосипед для жены и дочки? Легко! Хобби, Велосипед, Самоделки, Сварка, Кастомизация, Сосновый Бор, Трайк, Видео, YouTube, Длиннопост

В заявке на участие велено было "креативить". Креативили, как могли: в прошлом году гонял батя, значит в этом году решили что семью представит исключительно женский состав.

Технический регламент мероприятия ввёл новые ограничения: если в прошлом году был запрет на колёса больше 12", то в этом добавилась невозможность использовать две цепи. Таким образом, усложнили задачу по постройке повышенных передач для набора высокой скорости. Под наши задачи очень хотелось именно переключения скоростей, а значит одну из цепей надо менять на что-то другое. В итоге, приобрели на Авито вот такой комплект под ременную передачу:

1/2

Стоит отметить необычную систему: во время вращения, центробежная сила раздвигает лапки заднего шкива в стороны, обеспечивая тем самым натяжение ремня.

Задний мост - кривущий донор со Стелса, который пришлось полностью расчленить и переварить, исправив геометрию и уменьшив его размеры для комфортной эксплуатации с 12" колёсами. Специально нашли белые Michelin под это дело, с возможностью раскачки аж до четырёх атмосфер (для детских покрышек это реально необычный и редкий показатель)

1/2

Собирать ведущее колесо на трайк - тот ещё геморрой, поскольку его втулка лишена каких либо подшипников. В связи с чем установить в станок для правки колёс его не представляется возможным. Значит, станок надо построить "вокруг" такого колеса :)

Сделать велосипед для жены и дочки? Легко! Хобби, Велосипед, Самоделки, Сварка, Кастомизация, Сосновый Бор, Трайк, Видео, YouTube, Длиннопост

Сварили раму, часть вилки и накинули на это всё комплектующие, дабы оценить хотябы реальные размеры. Длина по краям покрышек - 1850мм. Плюс 450мм коляски. Итого роскошные 2300мм общей длины. Ширина по гайкам моста и коляски - 700мм.

Сделать велосипед для жены и дочки? Легко! Хобби, Велосипед, Самоделки, Сварка, Кастомизация, Сосновый Бор, Трайк, Видео, YouTube, Длиннопост

Багажник на мост. Сварили из нержавеющего прутка диаметром 5мм.

Сделать велосипед для жены и дочки? Легко! Хобби, Велосипед, Самоделки, Сварка, Кастомизация, Сосновый Бор, Трайк, Видео, YouTube, Длиннопост

Остальные блестящие элементы также выполнены из нержавейки. На фото - результат после полировки.

Сделать велосипед для жены и дочки? Легко! Хобби, Велосипед, Самоделки, Сварка, Кастомизация, Сосновый Бор, Трайк, Видео, YouTube, Длиннопост

Излюбленный вопрос: сколько весит? Ну вот окрашенная рама (порошковый грунт, цвет и лак) с двумя комплектами дропаутов и встроенными натяжителями вышли в 4,3 кг.

Сделать велосипед для жены и дочки? Легко! Хобби, Велосипед, Самоделки, Сварка, Кастомизация, Сосновый Бор, Трайк, Видео, YouTube, Длиннопост

Назвали "Lady Wagon". Почему? Потому-то так захотели. Кстати, фара была куплена несколько лет назад прямо с этим розовым стеклом. Ни под один проект не подходила, а здесь заняла своё место, будто бы тут всегда и была. Внутри воткнули аккум + светодиод.

Сделать велосипед для жены и дочки? Легко! Хобби, Велосипед, Самоделки, Сварка, Кастомизация, Сосновый Бор, Трайк, Видео, YouTube, Длиннопост
Сделать велосипед для жены и дочки? Легко! Хобби, Велосипед, Самоделки, Сварка, Кастомизация, Сосновый Бор, Трайк, Видео, YouTube, Длиннопост
Сделать велосипед для жены и дочки? Легко! Хобби, Велосипед, Самоделки, Сварка, Кастомизация, Сосновый Бор, Трайк, Видео, YouTube, Длиннопост
Сделать велосипед для жены и дочки? Легко! Хобби, Велосипед, Самоделки, Сварка, Кастомизация, Сосновый Бор, Трайк, Видео, YouTube, Длиннопост

Передний тормоз - самый простой, зато красивый (ленточный). Сзади установлен роллерный от Shimano.

Сделать велосипед для жены и дочки? Легко! Хобби, Велосипед, Самоделки, Сварка, Кастомизация, Сосновый Бор, Трайк, Видео, YouTube, Длиннопост

Ручка шифтера напечатана на принтере и покрыта белым антигравием. Получился приятный, слегка шершавый "софт тач". Тросы проходят через руль...

Сделать велосипед для жены и дочки? Легко! Хобби, Велосипед, Самоделки, Сварка, Кастомизация, Сосновый Бор, Трайк, Видео, YouTube, Длиннопост

...затем, уходят в нижние трубы рамы. Пружины от седла мотоцикла. Корона вилки сварена из 6мм нержавейки нарезанной на ЧПУ.

Сделать велосипед для жены и дочки? Легко! Хобби, Велосипед, Самоделки, Сварка, Кастомизация, Сосновый Бор, Трайк, Видео, YouTube, Длиннопост

Прицеп (детское кресло) имеет возможность крепления на две стороны, и может использоваться отдельно как детское кресло. Что, кстати, оказалось весьма удобным на мероприятии, когда супруга кормила кашей дочку на свежем воздухе :)

Такая замороченная (на первый взгляд) система нужна для того, чтобы тележка не мешала сцеплению ведущего колеса, и чтобы не создавать избыточный излом столь длинной рамы. Получается этакий двухосевой шарнир, позволяющий тележке комфортно преодолевать небольшой рельеф. Мы не хотели делать полноценный поворот тележки в трёх плоскостях, поскольку это не выглядело бы так гармонично - пришлось бы отодвигать задние колёса дальше, для возможности поворота. Мы хотели чтобы колёса были как можно больше ближе друг к другу, так смотрится более эстетично и целостно.

1/2

Металлические дуги по бокам не дают малышке совать пальца в колёса. Кресло в основе из фанеры. Далее, супруга обтягивла его мебельным и обувным кожзамом. Способ фиксации взят с детского кресла. Впереди защитная рамка, выдвигающаяся на нужную длину.

Ну и видео с демонстрацией (Пикабу отказывается вставлять ролик на сайт, поэтому через Ютуб):

Сделать велосипед для жены и дочки? Легко! Хобби, Велосипед, Самоделки, Сварка, Кастомизация, Сосновый Бор, Трайк, Видео, YouTube, Длиннопост

Наш байк снова победил в номинации "Лучший велосипед"

Всем красивых велосипедов!

Показать полностью 20 1
[моё] Хобби Велосипед Самоделки Сварка Кастомизация Сосновый Бор Трайк Видео YouTube Длиннопост
243
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии