Перейти к содержанию
    

перевод ассемблерного кода на язык C

Требуется создать компилируемый С код на основе дизассемблированного слитого с STM32F103.

Есть желающие взяться?

Код приложен, там большая часть таблицы.

 

Asm.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, aleksis33 сказал:

Требуется создать компилируемый С код на основе дизассемблированного слитого с STM32F103.

Есть желающие взяться?

Сколько денех дадите?

И можно ли использовать в работе си-шный оператор asm()   :wink:

Цитата

Код приложен, там большая часть таблицы.

Ну да - или неправильно дизассемблировали....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, aleksis33 сказал:

Код приложен, там большая часть таблицы.

Asm.rar

Глянул. Можете смело отправлять сей "код" в корзину.

 

PS: И на будущее: В дизассемблировании самое главное - не уметь запустить IDA, а изучить систему команд ядра.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, aleksis33 said:

Требуется создать компилируемый С код на основе дизассемблированного слитого с STM32F103.

Есть желающие взяться?

Код приложен, там большая часть таблицы.

 

Asm.rar

Может проще, быстрее и дешевле новый код на Си написать? Что он (код) делать должен известно?

Или там какой-то уникальный, никому не известный алгоритм?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, aleksis33 сказал:

Есть желающие взяться?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

33 minutes ago, bzx said:

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

Исходник весь выложен. Там добавлять нечего.  
Программа примитивная. 
Похоже на STM32F105RCT или STM32F103RCT
Вангую, это - https://ru.aliexpress.com/item/NBM280-multi-function-pulse-gas-protection-control-panel-2PCS/32828588949.html

ТС-у, больше 300 евро исполнителю не предлагать. Здесь на пару недель работы студенту. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

25 минут назад, AlexandrY сказал:

Программа примитивная. 
Похоже на STM32F105RCT или STM32F103RCT

Автор, судя по всему, дизассемблировал фрагмент swap-файла своей винды, а Вы по нему уже и МК и даже девайс определили???! :shok:

Снимаю шляпу перед вашим мастерством!:hi:  

:biggrin::biggrin::biggrin::biggrin::biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

За 300 евро считайте что договорились...

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

Писать на С сразу нельзя, так как алгоритм неизвестен, именно его и надо вытащить, в этом самая суть задачи.

 

work.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

20 hours ago, AlexandrY said:

......

ТС-у, больше 300 евро исполнителю не предлагать. Здесь на пару недель работы студенту. 

А лучше сразу на цепь к батарее привязать, пусть за еду работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 минут назад, aleksis33 сказал:

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

Интересно - как Вы можете утверждать что он правильно дизассемблирован, даже не зная системы команд Cortex-M3???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 minutes ago, jcxz said:

Интересно - как Вы можете утверждать что он правильно дизассемблирован, даже не зная системы команд Cortex-M3???

Он обратно компилируется и работает на реальном девайсе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

24 минуты назад, aleksis33 сказал:

Он обратно компилируется и работает на реальном девайсе.

И что? Я могу всю область кода объявить как массив констант (с содержимым == опкодам), скомпилить это и это тоже будет работать на реальном девайсе.

Тогда видимо Вам вполне подойдёт исходник на си состоящий из одного большого массива:

char const code[] = {... /* опкоды */} @ ".text";

Он тоже будет прекрасно компилироваться и работать на вашем девайсе. Советую исполнителю, который подпишется на эту работу, именно так и сделать  :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тогда в качестве исходного файла к задаче будем считать бинарник приложенный ранее.

Тип процессора также обозначен. За char const code[] и прочие фокусы могу заплатить 1 руб.

Нужна программа которая хорошо структурирована, в которой понятен алгоритм работы,

и которую можно дальше сопровождать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, aleksis33 сказал:

Нужна программа которая хорошо структурирована, в которой понятен алгоритм работы,

и которую можно дальше сопровождать.

Вы так и не ответили на вопрос - как Вы получили прошивку для STM32F103? Можете шепнуть на ушко...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

для ТС:

буквально на днях NSA открыла свою ghidra

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...