Технический форум

Технический форум (http://www.tehnari.ru/)
-   Форум программистов (http://www.tehnari.ru/f22/)
-   -   Можно ли внести изменения в программу? (http://www.tehnari.ru/f22/t77909/)

из Риги 31.08.2012 20:37

Можно ли внести изменения в программу?
 
Вложений: 2
Собрал такой девайс , на PIC16F628A , прошиваю на программаторе "экстрапик" , использую программу "icprog105" . Все получается - но хотелось бы попробовать изменить что то в программе , что бы замедлить темп бегающих огней , возможно ли это ?
 

Bydlokoder 31.08.2012 21:06

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

из Риги 31.08.2012 21:27

Цитата:

Сообщение от Bydlokoder (Сообщение 787089)
Открыть прошивку дизассемблером

Цитата:

Сообщение от Bydlokoder (Сообщение 787089)
поискать декрементируемые

Эти термины повергают меня в ступор ... tehno004 ... Я так понимаю что если в открытой таблице изменить цифры - то что то изменится в программе ? Если кто сможет помочь - отскриншотю ...(или отскриншочу (?!)... житие мое , языками не владею ... :tehnari_ru_942:) )всю прошивку ...

Daniellos 31.08.2012 21:47

Цитата:

Сообщение от из Риги (Сообщение 787103)
Я так понимаю что если в открытой таблице изменить цифры - то что то изменится в программе

Да, она может не запуститься - это бинарный (двоичный) код. Для того, что бы преобразовать его в код ассемблера (более понятный), надо декомпилировать двоичный код. Если есть исходник "паршивки", то нужно править его и компилировать по-новой. Как уже подсказали - ковырять надо в циклах jmp или jnc или jp искать слово dec или ещё что-то - я в ассемблере не силён.


Для того что бы "безнаказанно" править прошивку, надо знать как минимум две вещи - работу микроконтроллера и ассемблер.

Bydlokoder 31.08.2012 22:20

Daniellos верно сказал, в шестнадцатеричных кодах копаться бессмысленно.

Давайте файл hex, дезассемблирую, посмотрю, хотя и ничего не обещаю. Если частота переключения светодиодов определяется отдельной подпрограммой задержки, возможно сумею найти ее и поправить переменные. Если задействован аппаратный таймер или подпрограмма использует для формирования времени задержки какие-то циклы основной программы, для меня будет слишком сложно.

из Риги 31.08.2012 22:35

Вложений: 4
Вот это ... ?

из Риги 31.08.2012 22:39

Цитата:

Сообщение от Bydlokoder (Сообщение 787131)
Давайте файл hex

Вот тут можно найти ... Большое начало цифровых приборов на диодных индикаторах. Часть 1.5. Про прошивку микроконтроллера и игрушку ребенку.

Bydlokoder 31.08.2012 22:44

Цитата:

Сообщение от из Риги (Сообщение 787141)
Вот это ... ?

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

Bydlokoder 31.08.2012 22:46

Цитата:

Сообщение от из Риги (Сообщение 787143)
Вот тут можно найти ...


Нашел, сейчас посмотрю.

из Риги 31.08.2012 22:47

Цитата:

Сообщение от Bydlokoder (Сообщение 787146)
Киньте в личку ссылку на файл с исходником,

Я не умею ... :tehnari_ru_325: Могу дать ссылку в личке на нужный сайт ...


Часовой пояс GMT +4, время: 09:17.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.