# PIC mikrokontrolleri >  Hex uz kaut ko saprotamu.

## kaross

Nezinu vai būs pareizā sadaļa, bet stāstīšu savu bēdu. it kā vajadzētu būt pareizai. vēl maz saprotu no šiem kontrolieriem. praktiski nemaz.
Tatad ir nolasits viens EPROM. saglabats ka bin fails, ko var atvert ar HEX editoru. man interesē kā viņu varētu pārvērst daudz maz saprotamāku?
vajag atrast tajā mazajā failā pāris ciparus un konkrētus simbolus/burtus (ASCII) vai Unicode.
tikai man no tā HEX ir maz saprašana. un ar parastu HEX editoru tur nekā nevar atrast. google nepalīdz. 
varbūt var ieteikt kur palasīt par HEX, lai saprastu to domu/būtībū kā strādā.

----------


## kaross

ja es pareizi domāju, tad man vajag kādu disassambleru. tikai viena problēma, ka es nezinu kādā programmēšanas valodā ir kodēts tas čips.

----------


## next

Programmas izpildaamaa dalja jau vienmeer mashiinkodaa (atbilstoshi izmantotajam procesoram).
Iznjemot interpreteejoshos, bet tie parasti ir lielie monstri, simatic piemeeram.
Ieliec bildi, uzraksti kas tas par verkji ar ko ciinies.

PS. Shajos laikos mcu programma aareejaa epromaa ir driizaak iznjeemums nevis normaala prakse, parasti jau kaadi dati taados epromos staav.

----------


## kaross

butiba tajā eprom stāv dati nevis programma. 
auto vadības bloks tas ir.
http://bildez.lv/bildes/kaross/krami/or ... 551905.jpg

bilde jau tie divi eprom ir nolodēti nost. vietas var redzēt. Plcc32 tipa.
mikrenes ar 128kb ietilpību. 29f010 skaitās.
tajā failā es tagad mēģinu atrast divus 5ciparu skaitļus. viņiem tur ir jābūt obligāti. tikai nevaru saprast kā meklēt.

----------


## Shark

Ko tu tur mēģini, gribi auto nobraukuma skaitītāju pārrakstīt?

----------


## AleksandrsM

vari pamēģināt izmantot šo programmu http://www.bpsoft.com/bbl/download/down ... 32v601.exe, tur vienā pusē kā reiz ASCII formātā tiek attēlots, bet tā par HEX var palasīt wikipediā, uzraksti google hexadecimal, tur arī būs dota tabula, kāds decimāls skaitlis atbilst HEX skaitlim

----------


## next

Iipashi neiedziljinoties vareetu teikt taa:
Labaa zinja - jaa, tajos epromos vajag buut vadiibas programma un kautkaads x86 disasemblers vareetu tur ko paraadiit.
Sliktaa - disasemblers ir instruments kas bez nestraadaa bez prasmiiga programmeetaaja smadzeneem.
Ja atradiisies programmists tad vinjsh gribees redzeet sisteemas arhitektuuru un lai sheemtehnikjis apstaasta kas taa par fignju vispaar ir.
Vieniigais reaalais celjsh - atrast analogjisku ecu ar citiem parametriem tajaa sadaljaa, nolasiit, saliidzinaat un atrast atshkjiriibas, un tad var domaat kaadaa kodeejumaa burti un kaadaa skaitiishanas sisteemaa cipari tur glabaajas un kaa tos mainiit.

PS. Apskauzhu chiptjuunerus, taada uznjeemiiba un optimisms....

----------


## kaross

Jā. tas jau sen zināms, epromos ir vadības programma.  :: 
Man tāda sajūta, ka Tu bišķīt citā virzienā domā. es viņu nemēģināšu "tūnēt" vai ko mainīt. man tikai vajag atrast konkrētu 5 ciparu skaitli tajā failā, kurš tur arī 100% ir. un attiecīgi viņam blakus vēl pāris cipari.

to kā mainīt noteiktus lielumus man ir skaidrs. analoģiski ECU arī pieejami, bet tas neatrisinās problēmu, jo analoģiskos ECu tie cipari ir vienādi.
Degvielas kartes u.t.t. atšķirās un tās var salīdzināt, bet ne to šoreiz meklēju. 





> Ko tu tur mēģini, gribi auto nobraukuma skaitītāju pārrakstīt?


 ar auto nobraukumu tur nav nekāda sakara. tā informācija neglabājās vadības blokā, bet gan spidometrā. es meklēju ko citu. ne ikdienas lietotājam.

----------


## JDat

viena simbola gadījumā palīdz windows kalkulators. Nopiepnākos gadījumos google. Pamēģini hiew (vai kaut kā tml saucās, neatceros) vai veco labo FAR manager. Ja nav tas ko tev vajag, tad definē problemu pareizi.

----------


## next

> man tikai vajag atrast konkrētu 5 ciparu skaitli tajā failā, kurš tur arī 100% ir. un attiecīgi viņam blakus vēl pāris cipari.


 Nu es tak saku - optimists.
Kaadaa formaa un skaitiishanas sisteemaa tas skaitlis tur glabaajas, zini?
No kurienes paarlieciiba ka cipari buus blakus?
Redzi tai bildee tukshu vietu blakus nonjemtajiem chipiem?
Skaidrs ka citaa variantaa to plati var komlekteet ar vienu mikreni kas aizvieto abas izlodeetaas.
Un taados korpusos liek 16 bitu epromus.
Un tad sanaak ka katra izlodeetaa satur pusi no 16 bitu kopnes datu vaarda un tava mekleetaa skaitlja biti var buut sadaliiti - dazhi vienaa chipaa, citi otraa.

----------


## kaross

jā tāda aizdoma man arī bija. ka failos var būt sadalīta informācija. jaunākos jau ir viens un tur ir 16bit fails, kurā varu šo to atrast. 
tagad jādomā kā viņus varbūt apvienot.   :: 
uz viena cipa bija rakstīts HHH un uz otra LLL.

----------


## next

Nu tak uzraksti kas tas par skaitli un prieksh kam to vajag.
Iepostee failus netaa, iemet linku te.
Noteikti atradiisies ljaudis kam tas buus interesanti, sameklees tev vajadziigo un ar pirkstu paraadiis kur tie cipari staav.

----------


## kaross

te ir links un .bin formāta faili no šiem abiem čipiem.
http://www.failiem.lv/list.php?i=apwdrn
interese man cipari 12233, 11463.
tie ir login kodi ar kuriem var pamainīt auto iestatījumus zināmās robežās neizmainot bāzes programmu. tādi kā slēptie iestatījumi. 
galvenais jau es pats arī gribu viņus atrast un saprast kā to izdarīt.   ::  
esmu optimists, bet agri vai vēlu es to kompi apgūšu.  ::

----------


## karloslv

Paroles parasti gan neviens neglabā tiešā veidā, bet gan aizkriptētā, piemēram, ar kādu hash funkciju.

----------


## kaross

nu tās pat nav paroles. ir viņas pieejamas. jaunākam vadības blokam pat māku atrast pats, bet šim nesanāk.
bet varbūt vari pastāstīt par to hash funkciju?!

----------


## karloslv

Hash ir pēc būtības, nevis konkrēta funkcija. Ja esi normāls programmētājs, kodā  nestāv


```
if (password=="11223") { unlock_super_features(); }
```

 bet gan 


```
if (hash(password)==HASH_PASSWORD)) { unlock_super_features(); }
```

 kur konstante HASH_PASSWORD=hash("11223"), ko izrēķina iepriekš.
hash() var darīt jebkādu pārveidojumu, kāpināt kvadrātā, atņemt vecmāmiņas dzimšanas gadu, rēķināt MD5, XOR ar konstanti, da jeb ko. Kamēr nepētīsi programmu, nesapratīsi.

----------


## next

Paraadi kaa izskataas tie cipari tai failaa kuraa maaki vinjus atrast.
Uztaisi Ctrl_PrtSc, bildi netaa un linku te.

----------


## kaross

Programma ir Winols. tiesi auto tuningam.

----------


## next

Vispirms sameklee jaunaako baitu sekvenci vienaa failaa pec tam paskaties vai vecaakie baiti tadaa pashaa adresee atbilst vajadziigajam.

----------


## kaross

nesapratu. man jasalidzina kas? tie mani faili ar šo jaunāko kurā varu atrast tos kodus.
jaunākajā, kas jau ir vienā gabalā tie kodi smuki viens pēc otra salikti rindiņā...

----------


## next

> nesapratu. man jasalidzina kas? tie mani faili ar šo jaunāko kurā varu atrast tos kodus.
> jaunākajā, kas jau ir vienā gabalā tie kodi smuki viens pēc otra salikti rindiņā...


 Ja tos baitus izkaarto rindaa no diviem failiem, tad taada pati rinda iznaak.
Var protams failus apvienot (lai uzrakstiitu programmu kas to dara maaciitam programmistam vajadzeetu pusstundu darba) tikai nafig vajag ja taapat viss redzams.

PS.Nu labi pats juutu ka nav iisti saprotami, meegjinu veelreiz.
Tu meklee skaitljus 12233, 11463
Heksiski tas buus 2FC9, 2CC7.
16 bitu epromaa vinji taadaa kaartiibaa arii ir, variantaa ar diviem 8bitu chipiem pirmie divi cipari vecaako baitu failaa, otrie - jaunaako baitu failaa tai pashaa vietaa.
Vispirms jaunaako baitu failaa (kas apziimeets "Lob") jaasameklee seciibu C9, C7.
Apskataamies tai pashaa adresee vecaako baitu failaa "Hib", atrodam 2F, 2C.

PPS. "Lob" un "Hib" , taa razhotaajs nomarkjeejis epromus, laikam jau lai pats neputrotos.

----------


## kaross

paldies! sapratu un izdevās.   ::  tieši tā arī stāv tie cipari. puse vienā, puse otrā un vienādās adresēs. bet viena problēma tāpat vēl paliek. atrast tajā failā arī tekstu.  ::  

vispār arī meklēšu kādu programmu ar ko tos failus apvienot un sadalīt. parokoties dziļāk radās vajadzība...

----------


## next

Teksti jau uzreiz atrodami vienkaarshi paarskatot failu hex redaktoraa.
Jo programmisti nemiil ko jaunu izgudrot, raksta visu ascii simbolos kas visos kodeejumos vienaadi.
Pat neko no konkreetaa procesora komandsisteemas nejeedzot hex failaa var redzeet kur programinstrukcijas, kur datu tabulas, tekstu rindas pat uzreiz izlasaamas.

----------


## kaross

parokoties dziļāk Winols programmā atradu arī to ko meklēju citur.  ::  
tagad tik varētu tikt klāt tam kodam kādā programmēts tas bloks.   ::

----------


## DanillaD

> var pamainīt auto iestatījumus zināmās robežās neizmainot bāzes programmu. tādi kā slēptie iestatījumi.


 Var uzzināt kādus iestatījumus var mainīt?
Vienkārši gribas zinat. Ja kas, nēsmu saistīts ar visām šīm lietām.

----------


## DanillaD

Vai es sapratu pareizi? Ka dati glabājas 2 mikroshēmās. Pirmajā vecākie biti, otrajā jaunākie?

----------


## JDat

jā, pareizi saprati. ir tādi gadījumi.

----------

