Comments 127
производства STM32
Это что-то из разряда микропроцессор Arduino…
Нет такого "производства". Имелась в виду STMicroelectronics
Пишу в комментарии: продолжения буду ждать. Очень интересно.
Любопытная информация: оказывается 12 байтовый ID чипа содержит внутри себя номер партии, номер пластины (вафли), и даже x-y координаты чипа на этой вафле!— круто сделано, чтобы производитель потом мог не только пытаться разобраться с проблемой в готовом чипе, но и узнать всю историю его производства, а также попробовать поискать другие рядом стоящие чипы, либо чипы с других «вафель», стоящих на тех же местах…
Вот уж чего не ожидал китайский товарищ, так это коварных русских хакеров, ковыряющих его самописную защиту)
Снимаю шляпу товарищ.
Правда я сильно подозреваю, что все эти сложности, CRC на CRC, таблицы по нескольку раз и прочее не для того, чтобы усложнить взлом; это просто говнокод.
Т.к. владею своим экземпляром я правомерно, то в полном соответствии с ст. 1280 ГК РФ могу «осуществлять действия, необходимые для функционирования программы»
P.S.: Специально для этой статьи переписал код генерации ключей на javascript. Online версия, там же есть ссылка на Python версию.
Как вы «изящно» оправдали свои действия: сначала «ну я купил эти ключи, значит имею полное право заставить станцию заработать», а потом «ну, я тут написал кейген, вы пользуйтесь». Не то, что бы я очень сочувствовал безымянному китайцу, но ведь человек старался, писал.
И почему вас так удивляется RTOS? С ней проще разрабатывать практически любую мелочь, лишь бы ресурсы позволяли.
PID на нагревателе? Ситывание показателей с термистора? Вывод инфы на экранчик?
Защитить пытались прошивку. Вопросы о ее сложности лежит за рамками обсуждения легальности взлома. Была бы программа простейшей, все бы писали свои, а не платили за эту.
Вопрос легальности взлома смысла обсуждать нет — всё легально.
Делиться кейгеном — это уже обсуждаемо. Хотя если кейген не содержит кода из оригинального ПО — то тоже сложно придратьсяю
Свою писать дороже, чем купить готовую.Ну вот именно это время-силы, потраченное разработчиком и пытались защитить.
Легально, конечно. Я просто отметил, что автор не смог прямо заявить «я взломал, пользуйтесь», а был вынужден сначала оправдаться, хотя бы для себя.
(включает музыку из кейгенов)
Мне очень повезло, и для работы с периферией автор использовал стандартую библиотекув этом случае часто очень продуктивным бывает потратить немного времени на создание FLIRT-сигнатур
Вот пропатчили вы, например, проверку целостности и серийника при загрузке станции. И все вроде как работает. Но где гарантии, что нет других проверок, сработающих через полчаса (и при провале разогреющих жало до 666C)?
собрал для неё шикарную алюминиевую ручку с Tao
а что за ручка?
неужели управление нагревом такое сложное, чтобы ради этого столько «хачить» прошивку?? Жалко время.вы не поверите, есть люди, кейгенящие программы единственной функцией которых является вывод мессаджбокса.
just because it is fun
а здесь к тому же фан весьма необыденный.
И время не тратил, а приятно проводил.
ЗЫ: когда-то в бытность отсутствия интернетов и документации мы изучали код DOS и BIOS для того, чтобы пользоваться функциями прерываний…
ЗЫ
Никогда не тратил время на эту ерунду — тупо купил толстый справочник по ДОС и фигачил на асме. Алгоритмы — вот что ты должен знать. Но алгоритмы не познать, прыгая по регистрам — уж слишком много оптимизаций делают код совсем неочевидным.
возможно, в 1988-89 году в Москве уже продавались книги по функциям ДОС, но у нас они появились только в середине 90-х. правда, в 92-93 годах я уже знал, что такое модем, и BBS-ки и бумажные книги стали не актуальны :)
народу нужен хотя бы один аппарат, где можно гарантировать отсутствие зондов, реклам, обновлений и прочего дерьма. И не на линупсах, конечно.
Берите старую нокию 3310. Зондов нет, рекламы нет, обновлений тоже. Не на «линупсах».
А опенсорсной прошивки для подобных станций разве нет? Адаптировать опенсорс и править, как понравится — выглядит гораздо интересней, чем отдать несколько часов работы за экономию 80 рублей...
Дело совсем не в 80 рублях, и потратил я во много раз больше времени. Мне это было просто интересно.
Работает? Работает. Температуру держит? Держит. Что изменится от того, что мк будет загружен не на 5, а на 1%?
А не пофиг по большому счету?При такой культуре разработки в продукте могут оказаться неприятные баги. До потребителя они могут дойти как собственной персоной, так и в виде вклада в себестоимость (фиксы-перефиксы, перфоманс-баги, требующие больших ресурсов).
Работает? Работает.
Культура, как культура.
Нет, мой внутренний перфекционизм тоже корчится в эстетических муках, но такой код, увы сейчас не исключение, а правило. И прагматически-экономически оно увы оправдано.
Нет смысла вылизывать state of art код, когда можно взять мк пожирней и вовсе не париться
увы сейчас не исключение, а правило.Почему вы так считаете? Это же не модный веб, который можно обновлять хоть трижды в день. Нормальные производители встраиваемых систем пишут пусть и не «state of art» код, но стараются делать его качественным и поддерживаемым.
Нет смысла вылизывать state of art код, когда можно взять мк пожирней и вовсе не паритьсяЭто крайности. Качество кода не требует от него быть супер-симпатичным. Снижение затрат на производство — одна из главных целей любого бизнеса. Если будет возможность более дешевые компоненты, то так и поступят. А китаец просто иначе не умеет.
Может и можно позаимствовать часть кода, PID там должен быть схожим. Но основное отличие в выводе на дисплей, меню и т.д.
Лично я на данный момент разрабатываю TS100+T12, т.е. берем человеческие жала и хорошую схемотехнику + прошивку, вуаля) Ручку буду печатать на 3д принтере.
Но не ведись на просьбы написать обзор. Будут обещать золотые горы, по-факту максимум пару баксов скидки дадут.
Вы меня вдохновили на дальнейшие исследования. Буду продолжать!
Я нашел на просторах китайского интернета пару исходников для практически такой же станции. Один на STM32 другой на STC15F2K60S2. Не знаю на сколько это опенсорс, но лежали на файлообменниках совершенно свободно. Если есть интерес пишите поделюсь.
Не знаю на сколько это опенсорс, но лежали на файлообменниках совершенно свободно.Если не указана лицензия, то код по умолчанию считается несвободным. То есть «можно только смотреть». Причём, даже не факт, что «можно смотреть». Допустим, утёкшие исходники Windows 2000 спокойно лежат на торрент-трекерах, что не делает код открытым.
Скажите, а в банкомате тоже так стеночку можно приподнять? (С)
Не вышел ли с вами на связь китаец?
Не знаю, я не силён в китайском.Гуглопереводчик давно поддерживает как рукописный ввод, так и распознавание с камеры телефона.
Всего у станции 164 изображения иероглифов. Простое вычисление на базе адресов даёт нам искомые под индексами 1 и 3 (нумерация с нуля, смотрим первый ряд иероглифов на соотв. картинке). Вот их изображения:
Кроме того, в прошивке существует таблица перекодировки двухбайтовых кодов (UTF-8 ?) в индекс глифа. Для наших индексов коды будут 0xCBB2 0xC2CE, но переводчик их не знает, а Unicode изображение слабо похоже на графическое из прошивки (я пробовал и с перестановкой байт в коде).
Пробуйте. Может быть у вас получится лучше.
Я не к тому, что кто-то лучше или хуже; я к тому, что как же интересно осознавать, что все мы такие разные. :) Так-то вообще работа проделана фундаментальная и статья получилась интересной, спасибо.
Инженерный подход :). Молодцом1
www.leoniv.diod.club/projects/power/dxs-90/dxs-90.html
Прям в запой прочёл. Ну и конечно ждём Вашу версию прошивки...
mysku.ru/blog/aliexpress/48118.html#comment1829638
Автор почему то решил это не упомянуть, сделав себя единственным кто это сделал.
Заняло у меня это 4 дня.
А RTOS там uCOS II.
2. Я нигде не писал про «единственность». Не надо ревности.
3. Молодец что сделал. Только твой кейген был приватным. Я его не видел и им не пользовался. Делать секретные вещи для себя — личное право каждого.
4. Молодец что за 4 дня. Я не embedded разработчик, очень многие вещи видел впервые. Да и времени свободного не так много, как хотелось бы.
За инфу о RTOS спасибо.
А не расскажете ничего про такие же станции на контроллерах STC? Там, по идее, отличий минимум должно быть, разве что экран у них чаще всего обычный цифровой. Я делал обзор на своём сайте про такой паяльник, если вы знаете историю версий на STC, я б свой обзор дополнил про них. Их, полагаю, тот же человек делал?
P.S. Блок питания для такого же паяла, который тоже «народный» у меня кучу крови выпил пока заработал, я его раза три перепаивал пока оживил после заводского брака =)
я бы поленился и тупо купил другую плату с контроллером, ей цена рублей 300 с доставкой
Вы не правы. Контроллер на STM32 стоит существенно дороже. На али 2.0 версия стоит >1000, а 2.1s >1300 рублей. На тао несколько дешевле, но один контроллер оттуда везти смысла нет, экономии не будет.
А не расскажете ничего про такие же станции на контроллерах STC? Там, по идее, отличий минимум должно быть, разве что экран у них чаще всего обычный цифровой.
Отличия не просто есть, они кардинальные. Насколько я в курсе — STC построен на базе ядра 8051, это древний, как говно мамонта, 8 битный микропроцессор. STM это современный 32 битный ARM.
На STC станции стоят существенно дешевле, потому что сам и сам процессор дешевле, и спрос ниже. Функционал станций тоже сильно отличается. Насколько я знаю в STC нет калибровки жал. Впрочем я не интересовался ими, поэтому ничего интересного рассказать не смогу.
Их, полагаю, тот же человек делал?
Сомневаюсь. Китай большой.
Отличия не просто есть, они кардинальные. Насколько я в курсе — STC построен на базе ядра 8051, это древний, как говно мамонта, 8 битный микропроцессор. STM это современный 32 битный ARM.
Я про функциональные отличия. Их минимум, если вообще есть.
Насколько я знаю в STC нет калибровки жал.
Зависит от версии. На новых прошивках, насколько я знаю — есть. По крайней мере на моей есть.
Поэтому пока лично я, кроме дисплея, разницы вообще никакой не вижу. Если копеечный контроллер выполняет свои функции, коих в паяльнике, собственно, можно по пальцам одной руки пересчитать, то смысл использовать более навароченный?
Как можно сравнить клон с оригиналом?
раз Вы уже купили… тогда пользуйтесь, зачем сравниваете?
Я пытаюсь разобраться в ситуации объективно.
Как можно сравнить клон с оригиналом?
Это разные изделия. Кто из них клон — ещё вопрос. Это я к тому, что изделия на STC вообще-то раньше появились, насколько я могу судить.
Если копеечный контроллер выполняет свои функции, коих в паяльнике, собственно, можно по пальцам одной руки пересчитать, то смысл использовать более навароченный?
Категория "копеечный контроллер" вполне себе подходит к данной STMке. И вопрос тогда звучит так: если оба контроллера копеечные, зачем использовать более навороченный? Типа, зачем мне валенки, если я не курю?
Я считаю всему свои задачи.
STC тоже имеет излишнее количество ресурсов, если всё переписать на тщательно оптимизированном ассемблере, вылизав каждый байт — наверняка хватит даже древнего Z-80. С частотой 3,5мгц и 4-23ткт на команду. Без команд умножения и деления.
Надо выбирать инструмент из практических соображений, а не из % загруженности CPU работой.
Ох, и любите вы выбирать по одному критерию, а выбор делать по другому.
Вопросом выше вы сравниваете "копеечный" контроллер, которых в выборе, кстати, оба. При этом, ваша же цитата: "Я про функциональные отличия. Их минимум, если вообще есть." Но при этом СТМ "более навороченный" и брать его стоит, только если вы делаете навигационный гравикомпас на космический корабль.
Я не спроста про валенки упомянул, потому что ваша логика примерно в том же стиле.
А других критериев и нет. Отвечая на вопрос про Коре2Дуо… ага, его естьсмысл взять… в качестве умного нагревательного элемента.
Паяльные станции на STM дороже? Дороже. Функциональность у них одинаковая? Одинаковая. Зачем мне STM?
Автору респект. Упоминание про просмотр графики спектрума в столбик — ностальжи.
Станция заработала с более новой прошивкой. Наконец-то собрал для неё шикарную алюминиевую ручку с Tao. Спаял этой же станцией.
Можно посмотреть ручку?
Обратите внимание на подключение EEPROM Flash. Линии I2C заведены на ноги, где нет аппаратного I2C. Странное решение, не правда ли?
В свое время наелся с аппаратным I2C в stm32f103. Достаточно посмотреть errata на него чтобы все стало понятно и не выглядело странным. Слишком много ограничений и багов.
Или там даже с этим проблемы будут?
У меня назрел другой вопрос, а где можно достать более свежее прошивки?
И есть ли где то схема платы, что бы самому все сделать. Смотришь на готовое от китайцев, аж слезы на глазах. Все кривое, косое.
Откровенно разочаровался качеством китайской прошивки. Буду делать открытую, переписанную с нуля.
Есть подвижки в этом направлении?
Как я взломал паяльник