Author Topic: Конверзија од Хех во асемблер  (Read 2647 times)

Offline Gele_PP

  • Ентузијаст
  • **
  • Posts: 54
  • Gender: Male
Конверзија од Хех во асемблер
« Opened on 08.03.2012, Thursday, 16:30:56 »
Како што вели насловот, потрербна ми е помош , како да конвертирам одреден пик програм од хех  во асемблер ?
Размислувај зелено !!!

Offline GigaWatt

  • Администратор
  • Топ Експерт
  • *****
  • Posts: 12894
  • Gender: Male
  • Не фалширам
Мислам дека тоа може да го направиш со било кој сиулатор за PIC-ови, ти ги дава mnemonics-от на кодот ;). Или во било кој PIC debugger истото ти требало да ти го даде ;).
"This is really a generic concept about human thinking - when faced with large tasks we're naturally inclined to try to break them down into a bunch of smaller tasks that together make up the whole."

"Newton's third law: The only way humans have ever figured out of getting somewhere is to leave something behind."

Offline DX-er

  • Администратор
  • Топ Експерт
  • *****
  • Posts: 6340
  • Gender: Male
    • Докажи дека си човек и речи стоп за убиствата на бебиња! Ако не си човек, требало и тебе да те абортираат :)
Како што вели насловот, потрербна ми е помош , како да конвертирам одреден пик програм од хех  во асемблер ?
тоа не е можно за жал, имам барано такви програми но не може. Едино како што кажа Гига, некој симулатор да изгенерира asm код од hex
Чувството кога некој ограничен со размислувањето ке зборува за двојни стандарди/демократија/правила... бљак...

кликни тука за инфо околу форумот.

Offline GigaWatt

  • Администратор
  • Топ Експерт
  • *****
  • Posts: 12894
  • Gender: Male
  • Не фалширам
тоа не е можно за жал, имам барано такви програми но не може. Едино како што кажа Гига, некој симулатор да изгенерира asm код од hex

Сигурно може со debugger, не може да не може ;). Само треба да изврши конверзија и анализа на кодот од обичен код во ASM mnemonics ;). Тоа не е комплицирано, само означува што значи секоја hex команда ;).
"This is really a generic concept about human thinking - when faced with large tasks we're naturally inclined to try to break them down into a bunch of smaller tasks that together make up the whole."

"Newton's third law: The only way humans have ever figured out of getting somewhere is to leave something behind."

Offline SKOLS_OLD

  • Топ Експерт
  • *****
  • Posts: 2782
  • Gender: Male
А зашто ти е потребен тој код?можеби ќе се најде таков проект,па прикажи што е тоа  ;D

Offline Gele_PP

  • Ентузијаст
  • **
  • Posts: 54
  • Gender: Male
Одг: Конверзија од Хех во асемблер
« Reply #5 on 08.03.2012, Thursday, 16:50:00 (Edited 08.03.2012, Thursday, 16:51:31) »
 Потребата може да се претпостави, потребно ми е на некои готови програми да извршам мали промени (за сега едукативен карактер ;) ), мегутоа хех кодот ми е потполно неразбирлив ,,  прифатлива ми е и било која друга опција
А она со симулаторите  не ми е баш јасно како , ако може збор два повеке би било одлично.
Да додадам дека пик програмирањето ми е прилично нова област на проучување, па сум малку изгубен ...
Размислувај зелено !!!

Offline GigaWatt

  • Администратор
  • Топ Експерт
  • *****
  • Posts: 12894
  • Gender: Male
  • Не фалширам
Пробај со IDA Pro, освен Intel-ови процесори поддржува и многу видови на микроконтролери, не сум проверил, но би требало да поддржува и PIC-ови ;).
"This is really a generic concept about human thinking - when faced with large tasks we're naturally inclined to try to break them down into a bunch of smaller tasks that together make up the whole."

"Newton's third law: The only way humans have ever figured out of getting somewhere is to leave something behind."

Offline Gele_PP

  • Ентузијаст
  • **
  • Posts: 54
  • Gender: Male
Google  вели дека можи, ке пробам па ке кажам ...
Фала  :)
Размислувај зелено !!!

Offline Devil

  • Администратор
  • Топ Експерт
  • *****
  • Posts: 5329
  • Gender: Male
    • Македонски форум за електроника
кога се дебагира со дебагер програмата не ти треба само hex фајл, потребни се и изворните кодови, затоа не е можно да се добие така кодот, кај пик микроконтролерите кога се создава hex Кодот при компајлирање најчесто се прави еден COFF фајл, е тој фајл се користи за нивно дебагирање :)
овај фајл се става во дебагерот а Hex Кодот во микроконтролерот, дебагерот може да ги спое овие два фајла и да го извршува кодото чекор по чекор, само со Hex фајл нема да може да се дебагира
Jас не сум себичен, помагам. Помагај и ти !

Секоја куќа си има свои куќни правила.Почитувај ги куќните правила!

Offline Gele_PP

  • Ентузијаст
  • **
  • Posts: 54
  • Gender: Male
 :-[ значи испаднува дека и опен сорс програмите за пик не се така опен   :'(
Размислувај зелено !!!

Offline GigaWatt

  • Администратор
  • Топ Експерт
  • *****
  • Posts: 12894
  • Gender: Male
  • Не фалширам
кога се дебагира со дебагер програмата не ти треба само hex фајл, потребни се и изворните кодови, затоа не е можно да се добие така кодот, кај пик микроконтролерите кога се создава hex Кодот при компајлирање најчесто се прави еден COFF фајл, е тој фајл се користи за нивно дебагирање :)

Не е точно ;). Не значи дека не можеш да дебагираш и само со ASM код ;). Многу потешко е, но не значи дека е неизводливо, само треба да имаш малку поголемо познавање од ASM јазикот на микропроцесорот/микроконтролерот ;).

:-[ значи испаднува дека и опен сорс програмите за пик не се така опен   :'(

Ако го имаш и source-от за програмата за PIC-от, да тогаш е многу полесна работата, но не значи дека не може да се изведе и само со .hex фајлот ;). Потешко, често и многу потешко, но не и неизводливо ;).
"This is really a generic concept about human thinking - when faced with large tasks we're naturally inclined to try to break them down into a bunch of smaller tasks that together make up the whole."

"Newton's third law: The only way humans have ever figured out of getting somewhere is to leave something behind."

Offline Devil

  • Администратор
  • Топ Експерт
  • *****
  • Posts: 5329
  • Gender: Male
    • Македонски форум за електроника
кога се дебагира со дебагер програмата не ти треба само hex фајл, потребни се и изворните кодови, затоа не е можно да се добие така кодот, кај пик микроконтролерите кога се создава hex Кодот при компајлирање најчесто се прави еден COFF фајл, е тој фајл се користи за нивно дебагирање :)

Не е точно ;). Не значи дека не можеш да дебагираш и само со ASM код ;). Многу потешко е, но не значи дека е неизводливо, само треба да имаш малку поголемо познавање од ASM јазикот на микропроцесорот/микроконтролерот ;).

Не е точно, јас нигде не спомнав дека со АСМ не може да се дебагира, јас спомнав дека со HEX не може да се дебагира, ако го имаш ASM Кодот многу едноставно се добиваат сите останати потребни фајлови за дебагирање
Jас не сум себичен, помагам. Помагај и ти !

Секоја куќа си има свои куќни правила.Почитувај ги куќните правила!

Offline GigaWatt

  • Администратор
  • Топ Експерт
  • *****
  • Posts: 12894
  • Gender: Male
  • Не фалширам
Не е точно, јас нигде не спомнав дека со АСМ не може да се дебагира, јас спомнав дека со HEX не може да се дебагира, ако го имаш ASM Кодот многу едноставно се добиваат сите останати потребни фајлови за дебагирање

Па што е тогаш проблемот, од hex кодот се вади ASM кодот, не разбирам кој е проблемот, само debugger-от треба да го изанализира програмот, да јави каде има loops, jumps, исчитување на нешто, коментари да додаде (ако има нешто да додаде) и тоа е тоа ;).
"This is really a generic concept about human thinking - when faced with large tasks we're naturally inclined to try to break them down into a bunch of smaller tasks that together make up the whole."

"Newton's third law: The only way humans have ever figured out of getting somewhere is to leave something behind."

Offline Devil

  • Администратор
  • Топ Експерт
  • *****
  • Posts: 5329
  • Gender: Male
    • Македонски форум за електроника
дебагерот не може да конвертира од хекс во асемблер, можеби ќе најдеш некој конвертор за 16Ф84 ама не и за поновите пикови :)
постапката не е така едноставна за да се претвори назад кога нешто е веќе конвертирано, треба да имаш големи познавања од реверс инжинеринг :), плус доколку на било кој начин го добиеш асемблерот со конверзија тој е веќе преработена верзија која  многу тешко ќе ја разбериш што е што
Jас не сум себичен, помагам. Помагај и ти !

Секоја куќа си има свои куќни правила.Почитувај ги куќните правила!

Offline GigaWatt

  • Администратор
  • Топ Експерт
  • *****
  • Posts: 12894
  • Gender: Male
  • Не фалширам
Одг: Конверзија од Хех во асемблер
« Reply #14 on 08.03.2012, Thursday, 18:46:57 (Edited 08.03.2012, Thursday, 18:49:38) »
дебагерот не може да конвертира од хекс во асемблер, можеби ќе најдеш некој конвертор за 16Ф84 ама не и за поновите пикови :)
постапката не е така едноставна за да се претвори назад кога нешто е веќе конвертирано, треба да имаш големи познавања од реверс инжинеринг :), плус доколку на било кој начин го добиеш асемблерот со конверзија тој е веќе преработена верзија која  многу тешко ќе ја разбериш што е што

Hex-от е во принцип ASM фајл, само што е неразбирлив за нас во hex форма, треба да се преведат hex кодовите во ASM команди, само тоа треба да се направи, а бидејќи ASM командите за различни типови на микроконтроелри/микорпроцесори се разликуваат, потребен е debugger кој знае која ASM команда е врзана со кој hex код за конкретниот микропроцесор/микроконтролер, ништо повеќе од тоа. Тоа е работата на debugger-от, барем на оние кои се наменети за debugging на ASM ниво, како IDA или OllyDbg (може и source да им дадеш, но тоа не значи дека не може да се снајдат и со hex и binary).

Проблем може само да биде ако програмата има заштита или ако е компресирана. Само тоа може да биде проблем, инаку далеку е од тоа дека е неразбирливо ако нема заштита или компресија ставено на неа ;).

Во секој случај, да се разбереме, нема да ти го извади оригиналниот ASM код, тој го има само developer-от, но и овој ASM код е доволно добар за работа ;).
"This is really a generic concept about human thinking - when faced with large tasks we're naturally inclined to try to break them down into a bunch of smaller tasks that together make up the whole."

"Newton's third law: The only way humans have ever figured out of getting somewhere is to leave something behind."