Кто бы помог подсказал по дизасемблеру

Обсуждаем контроллеры компании Atmel.
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Кто бы помог подсказал по дизасемблеру

Сообщение clawham »

Здравствуйте!
Есть такая зарядка IMAX B6 и её клоны...
всем она хороша только слабовата по мощности....заряжая 24 вольтовый аккум ток всего 1 ампер...
путем небольшой замены транзисторов она становится супермощной...но в менюшке мега 32 всёравно упорно не даёт поставить ток больше 5 ампер или 30 ватт....
Есть хекс...Есть бин....есть эмуляция её схемы в протеусе....
нужно бы как-то полазить в прошивке....чтоб найти то место, изменив которое можно изменить предел и максимальную мощность(она ограничивается динамически....скачал авр студию пошагово шагаю...скачал пару дизасмов ещё..но..блин как баран на новые ворота смотрю....вобще не понимаю что куда и как....ведь при подаче питания надо ещё нажать пару кнопок чтоб добраться до первого ограничения - ввод задачи тока больше 5 ампер...
в принципе-то у меня есть такая зарядка в железе( но с измененной прошивкой и залоченым процем....можно было бы выпаять родной проц(чтоб не убить родную прошивку) и впаять свой и уже на нём экспериментировать...например у меня есть платка дискавери...там вроде как есть jtag выход...пробывать пошагово шагать да и смотреть в авр студии...но....не представляю я вообще что я там должен ловить...асм я не знаю вообще...когдато давным давно под 8088 проц писал примитивные программки ито по книжке:) на данный момент выход из положения - обманывание в два раза резистором-шунтом токоизмерителем...она думая что держит 2 ампера на самом деле выдаёт 4....при этом не сильно греясь и нормально работая :) но хотелось бы чтоб это было программно а не апаратно..да и цыфры как-то задалбывает умножать на 2-3-5
:))

http://clawham.hopto.org/DriveD/PubD/imaxb6/ - схемы распайки протеус и прошивка
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
testerplus
Встал на лапы
Сообщения: 130
Зарегистрирован: Пн авг 24, 2009 10:41:16
Откуда: SPb
Контактная информация:

Re: Кто бы помог подсказал по дизасемблеру

Сообщение testerplus »

Хм... Вообще-то ценник на такую работу начинается от 100 тыс. руб. А Вам, я так понимаю, в одном экземпляре нужно? Дешевле и надежнее купить другую зарядку.
Wladimir_TS
Друг Кота
Сообщения: 5066
Зарегистрирован: Вс фев 15, 2009 01:04:58
Откуда: Kaluga

Re: Кто бы помог подсказал по дизасемблеру

Сообщение Wladimir_TS »

Так дорого стоит дизассемблировать прошивку и раписать коментарии ?
Аватара пользователя
Anton.А.
Открыл глаза
Сообщения: 53
Зарегистрирован: Вс ноя 08, 2009 19:46:27
Откуда: Москва

Re: Кто бы помог подсказал по дизасемблеру

Сообщение Anton.А. »

Не поверите, но да :shock:
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Кто бы помог подсказал по дизасемблеру

Сообщение clawham »

Ребятки....а вот статьи как? разработка тех устройство(например того же станка с чпу или осцилографа или дозиметра) вообще десятки тысяч доларов стоит!!! ичто?
я уже не говорю о всяких мелочах типа прог для работы с дисплеями от мобил и прочей лабуды....оно тоже стоит денег и не малых..но разве не дл того созданы форумы чтоб те кто чтото в этом вопросе знает - могли помочь тем кому эта небольшая помощь нужна? Это проект не комерческий....я выступаю от имени всех авиа судо и автомоделистов украины с сайта моделка....эта зарядка и её клоны просто зафоломили украину изза своей цены и довольно хорошего функционала..не хватает только параметров....ибо сэкономили на транзюках(впрочем дроссель поставили с большущщим запасом) .... если кто бы смог подсказать или чем то ещё помочь доколупаться где все китайцы разных клонов в этой прошивке задают эти лимиты - было бы вообще супер ибо клонов тьма и отличаются они только допустимыми токами и мощностью....а так то и меню и функционал и похоже что прошивка даже - всё одно и то же....обидно что с другой зарядки нет прошивки...тогда бы можно было бы сравнить бины и найти различающиеся ячейки.....это было бы намного проще...
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
neonix
Электрический кот
Сообщения: 1040
Зарегистрирован: Чт фев 19, 2009 17:46:34
Контактная информация:

Re: Кто бы помог подсказал по дизасемблеру

Сообщение neonix »

Выложи тут бин и хекс с проектом для протеуса, а то у тебя с сайта не грузиться. Глянем что там и как, опыта реверсинга кода под АВР правда не имееться но с ARM приходилось возиться.
Where technology meets enjoyment.
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Кто бы помог подсказал по дизасемблеру

Сообщение clawham »

Вот пожалуйста...но у мя вроде всё фурыкаеть и на серваке :)
Вложения
imaxb6bineep.zip
оригинальный бин и еепром с незалоченой зарядки...но...еепром не нужен - сам формируется
(15.84 КБ) 379 скачиваний
ImaxMod.rar
немного модифицированная прошивка(хекс) в нем убрана блокировка скрытого калибровочного меню
(25.55 КБ) 374 скачивания
imax.rar
Схемка в протеусе(стоб не тормозило надо силовую часть выкинуть - она не нужна для успешного клацания кнопочками по меню
(27.44 КБ) 394 скачивания
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
testerplus
Встал на лапы
Сообщения: 130
Зарегистрирован: Пн авг 24, 2009 10:41:16
Откуда: SPb
Контактная информация:

Re: Кто бы помог подсказал по дизасемблеру

Сообщение testerplus »

clawham писал(а):разработка тех устройство(например того же станка с чпу или осцилографа или дозиметра) вообще десятки тысяч доларов стоит!!! ичто?
В каком смысле "и что"? Ничего. Я просто показал, что Ваша просьба выходит за рамки простой помощи. Одно дело - циферки в меню заменить (тут действительно работы на полчаса, может кто и возьмется ради интереса), другое - подменить код для работы зарядки на нужном токе. (А Ваше решение с шунтом не годится, Вам же потом и аукнется)
Аватара пользователя
neonix
Электрический кот
Сообщения: 1040
Зарегистрирован: Чт фев 19, 2009 17:46:34
Контактная информация:

Re: Кто бы помог подсказал по дизасемблеру

Сообщение neonix »

clawham Напиши полное название пункта в меню где изменяется ток и мощность зарядки, будем смотреть глядиш чего получиться.
Where technology meets enjoyment.
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Кто бы помог подсказал по дизасемблеру

Сообщение pyzhman »

Просто отмечусь тут, чтобы быть в курсе событий.
Docendo discimus
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Кто бы помог подсказал по дизасемблеру

Сообщение clawham »

а везде и всюду там только две циферки и надо поменять - предел задания тока и предел задания мощности
пункт меню? любой для зарядки или разрядки любого аккумулятора, самая левая кнопочка - выбор типа аккума, вторая третья -+ или проход по пунктам меню внутри аккумулятора ну а правая кнопочка - это ентер...заходим в любой аккум, выбираем например lipo charge начинает моргать кол-во банок, жмем ентер коротко, начинает моргать ток....жмем + и упираемся в 5 ампер...

Повторюсь при внутренних пробоях транзисторов зарядка на исходном шунте запросто показывает и 12 и 18 ампер - по сути нужно только поменять число с которым сравнивается после нажатия кнопки переменная установки токано это ж не так просто ... это асм...

мощность же вычисляется в процессе зарядки по мере нарастания тока...я - то могу задать 5 ампер но на аккуме 24 вольтовом оно начнет наращивать ток наращивать...на аккуме ещ1 18 вольт а оно уже больше 2 ампер не пускает и начинает сбавлять немного PWM выход поддерживая внутренний лимит...когда напруга растет - то так же пропорционально уменьшается и ток зарядки...это наверное в прерывании ацп делается... насколько я понимаю...

аналогично и при разрядке....при установке небольшого вентилятора она могла бы рассеивать и 20 ватт....и 2-4 ампера от одной банки например...но нет...опять то же самое внутреннее ограничение....я попробую сделать упрощенную схему в протеусе чтоб зарядка не выбивала от отсутствия связи - проц видит что он пытается дать газу а толку ноль ибо нереально дождаться симуляции с оригинальной схемой с операционниками...

я вот что тут подумал.....так как протеус показывает счетчик номера команды(адрес) и саму команду....может имело бы место и смысл сделать программку(я на c# с++ на бб програмлю достаточно) чтоб она пошагово клацала программу и строила внутреннюю память мк по которой он крутится когда я на кнопку непрерывно жму на увеличение тока....поставить ему частоту 1 килогерц и ловить накапливать базу данных :) всего 32000 записей...большая часть будет пустой....у меня есть пара серверов которые 4-8 ядерные и крутятся 24/7 ... закинуть на пару суток "обработку" таво и гляди полный исходный код получим лучше любого дизасма :)
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
neonix
Электрический кот
Сообщения: 1040
Зарегистрирован: Чт фев 19, 2009 17:46:34
Контактная информация:

Re: Кто бы помог подсказал по дизасемблеру

Сообщение neonix »

Нужно просто найти откуда береться значение из флеш для сравнения переменной, и всё никаких полных исходников на асме не надо. Я уже подправил лоадер для IDA теперь прошивка в неё грузиться нормально без ошибки, осталось найти нужный участок и сделать патч.
Where technology meets enjoyment.
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Кто бы помог подсказал по дизасемблеру

Сообщение clawham »

Я не спорю..я сужу и рассуждаю из своих логических соображений....и пытаюсь решить проблемы которые меня на данный момент тормозят чтоб самому допереть где эта падла вобще чтото делает....просто показалсь что это было бы довольно полезно - видеть дизассемблернутый участочек который крутится когда я пытаюсь превысить ток задачи и когда - не пытаюсь..и методом тупого сравнения убрать нафиг то условие которое ток ограничивает....конечно....круто было бы изменить лимит до 10-20 ампер...но...впринципе то зарядка довольно серьёзная и люди с ней не профаны работают... раз сумели перепаять транзюки то наверняка знают и лимиты своих токов и мощностей :)
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Кто бы помог подсказал по дизасемблеру

Сообщение ARV »

ох уж мне эти сказочки... ох уж мне эти сказочники...
две циферки поменять... я вот мучаюсь с одним проектом: каждые 4-5 дней заказчик заявляет, что надо "две циферки поменять"... дескать - это же так просто! блин, да это все равно, как если бы я вам, авиа-судомоделисту, сказал: ну, твоя модель летает со скоростью 60 км/ч - сделай, чтоб летала со скоростью 300 км/ч - всего-то в 5 раз больше! это лишь моторчик побольше поставить! пустячок!

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

вот, говорите, умножать просто на 5.... а если программист предусматривал только умножение на 2? т.е. считал, что у него результат умножения влезет в байт после умножения (т.е. не будет никогда больше 255), а теперь вы найдете место, где умножается на 2 и замените 2 на 4 - в итоге в байт уже не влезет, все расчеты пойдут псу под хвост... кончится тем, что всю программу надо переделать - хотя выглядит все до тупого просто: 2 заменить на 4 и всех делов!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Кто бы помог подсказал по дизасемблеру

Сообщение clawham »

на данный вопрос есть ответ - убрать вообще нахрен условие ограничения :) не сравнивать и не ограничивать :) сам спалил сам виноват :) раз умееш зарядку перепрошить уже значить с головой должен дружить...я ж не могу ничо хотет сверхестественного
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Кто бы помог подсказал по дизасемблеру

Сообщение clawham »

просто слишком подозрительно много одинаковых и одинаково гючащих зарядок ну один-в-один на разные токи и 10 ампер и 150 ватт....меняется только допустимая установка тока...вот если бы где слить прошивку такой мощной зарядки и посмотреть разницу - было бы в 1500 раз проще
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
testerplus
Встал на лапы
Сообщения: 130
Зарегистрирован: Пн авг 24, 2009 10:41:16
Откуда: SPb
Контактная информация:

Re: Кто бы помог подсказал по дизасемблеру

Сообщение testerplus »

clawham писал(а):на данный вопрос есть ответ - убрать вообще нахрен условие ограничения :) не сравнивать и не ограничивать :)
Сложность задачи не столько в подмене кода (хотя и тут будут заморочки), сколько в установлении всех его фрагментов, требующих замены (или удалелия, как Вы предлагаете). Дизассемблирование - восстановление исходного текста по прошивке - довольно длительная и дорогостоящая работа. Немного усложню пример, который привел ARV: представьте, что компилятор при сборке выполнил оптимизацию, и одна и та же подпрограмма умножения на константу 2 применяется как при измерении тока, так и при коррекции измеренной температуры аккумулятора. Понимаете, что простой подменой константы можно убить аккумулятор?

Сумма, которую я приводил, - это за 4-8 кБ кода при условии, что на данный МК есть приличный дизассемблер. (Для Меги32 в принципе подойдет IDA)
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Кто бы помог подсказал по дизасемблеру

Сообщение clawham »

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

мне ж не надо добавить или удалить какую-то часть меню например или режим какой-то новый добавить....тут банальное одно условие...я так думаю...

П.С. аккум можно убить 1000 способов но не температурой...лития это не касается...у 90% моделистов термометра нет....есть вообще идея написать свою прошивку с ограниченным функционалом работы только с литием балансиром и всё....остальные аккумы можно заряжать и резистором от 12 вольт...99% никогда не используют ни кадмий ни чего....впрочем имея сенс тока напряжения каждой банки и систему букбуст с полной схемой что-куда подключено наверняка и остальные аккумы прописать будет не проблема...когда хоть как-то запущу электромопед так и этой зарядкой займусь...
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: Кто бы помог подсказал по дизасемблеру

Сообщение ChipKiller »

clawham писал(а):Это проект не комерческий....я выступаю от имени всех авиа судо и автомоделистов украины с сайта моделка....
...громкое заявление .... но странно, что никто из вашего "сообщества" не привел схему в читаемый вид (очевидно сообщество предпочитает полную "ХАЛЯВУ" :)) )
clawham писал(а):дизасмы я покрутил - херня....буду наверное мучить протеус внешней программкой клацающей кнопки и смотрящее что на экране написано...
мне ж не надо добавить или удалить какую-то часть меню например или режим какой-то новый добавить....тут банальное одно условие...я так думаю...
... основная идея, программирование - это "шарлатанство" :)))
2 clawham - программа написана на С, код обработки нажатий находится по адресу 0х1AE7 ... ну а дальше, по Вашим словам, все очень просто......
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Кто бы помог подсказал по дизасемблеру

Сообщение ploop »

прошивка сделана вообще в америке но китайцы слили её и нашли что менять.

Так это ж китайцы... :)))

Отмечусь.
Ответить

Вернуться в «AVR»