Onderwerp Opties
|
|
|
Stem op dit onderwerp
|
|
|
|
|
#849654 - 01/05/2005 12:19
Re: "reverse engineering van humax firmware"
[Re: satellitefreak]
|
fietser
Nieuw hier
Geregistreerd: 28/01/2004
Berichten: 4
|
Hoi satellitefreak, Interessante posting natuurlijk. Dat blijkt ook uit het aantal sterren dat je topic inmiddels gekregen heeft. Ook geeft sat4all blijkbaar de ruimte om hierover te discussieren.
hdf --> raw is inderdaad nog niet zo moeilijk. Dit doet men met "hdftool", een ouderwets goed DOS-programmaatje. Met een losse raw-file kun je nog niets beginnen, behalve als je wat strings wilt veranderen. Dit wordt o.a. door Josje gedaan om de duitse strings naar het Nederlands te vertalen. Echter een stukje code veranderen zal niet makkelijk zijn in een raw-file.
Volgende stap is dus om een raw-file naar iets "leesbaars" om te zetten. Dit kan bijvoorbeeld met IDA-pro. Maar wat heet "leesbaar" , de output is nu in MIPS assembly taal. Om je hier door heen te kunnen worstelen heb je al een aantal jaar ervaring met MIPS-assembly nodig. Nu bestaan die mensen wel, maar zijn meestal niet op satellietforums actief 
Nog een volgende stap zou zijn om de assembly om te zetten naar C-code. Voor zover ik weet zijn hiervoor geen tools beschikbaar  Wij zijn met een aantal mensen wel eens begonnen om de code voor "memview" te herschrijven naar C. Let wel: met de hand. Maar zijn daar op een gegeven moment mee gestopt.
Reverse engineering op zich is wel een leuke hobby. Maar dan moet je verder niet een te hoog doel hebben, denk ik. Ook is de hoeveelheid code van een receiver (niet alleen van de Humax) gigantisch. Het is waarschijnlijk al een hele klus om een stukje code van de Humax te reverse engineeren.
Wat ik wel interessant vond om te doen, is om de EMU te reverse engineeren... Dit kan namelijk omdat de broncode in C beschikbaar is. Eigenlijk is het dus geen echt "reverse eengineeren", want de code is al beschikbaar  Toch kun je op deze manier veel leren hoe de code ongeveer in elkaar steekt.
Helaas ben ik pas de eerste die hier op jou topic reageert. Ik ben ook benieuwd of er nog meer mensen zijn die zich hier mee bezig houden.
Groet, /fietser
|
|
Omhoog
|
|
|
|
|
|
|
|
|
|
|
#849656 - 03/05/2005 21:15
Re: "reverse engineering van humax firmware"
[Re: satellitefreak]
|
Sir_Pepper
Volwaardig lid
Geregistreerd: 09/03/2003
Berichten: 102
|
Misschien hebben jullie er wat aan maar er zijn verschillende MIPS decompilers en disassemblers in omloop. Probeer het maar eens op google. Uiteraard werkt een decompiler of disasembler natuurlijk niet helemaal 100% maar je krijgt wel veel inzicht in wat het programma nu eigenlijk precies doet.
_________________________
Dreambox 7000, Xtreme Hornet, Technotrend 2300S
Visiosat G4 Quad - Astra 1,2,3 Hotbird
4x Smart twin 2nd edition en 2x Spaun Diseqc
|
|
Omhoog
|
|
|
|
|
|
|
|
|
|
|
#849660 - 12/05/2005 16:54
Re: "reverse engineering van humax firmware"
[Re: Zilverster]
|
travera74
Nieuw hier
Geregistreerd: 20/10/2004
Berichten: 5
|
Hoi,
mischien weten jullie het nog niet maar op de humaxzone heeft TOH de source (of gedeelte) van hun API opengelegt. Daarmee kun je nu spelletjes of mieschien een tool om Keys per afstandsbediening in te geven schrijven. (Ik denk dat SuD het op deze manier gedaan heeft.) Tenminste zijn in het include file een hoop struktures en adresses af te lezen die je wel voor reverse engineering gebruiken kunt.
@fietser heb ik het juist dat jullie de sourcen van de emu gevonden hebt? Dan graag em PMtje.
Groetjes allemaal
|
|
Omhoog
|
|
|
|
|
|
|
|
|
|
|
#849661 - 17/05/2005 19:35
Disassemblerern van een "firmware"
[Re: travera74]
|
fietser
Nieuw hier
Geregistreerd: 28/01/2004
Berichten: 4
|
Hoi, hieronder een paar adressen in de hdfbin-1-010000.raw waar je "originele" C-routines, zoals ze in de standaard libraries bestaan, kunt terug vinden. De adressering geldt uiteraard voor HIC10500:
Citaat:
.set sprintf, 0x9fd092c4 .set BeginPaint, 0x9fc639f8 .set EndPaint, 0x9fc63a8c .set DefWndProc, 0x9fc6563c .set SetPaletteEntries, 0x9fc66eb8 .set SetColor, 0x9fc67d20 .set Rectangle, 0x9fc67c38 .set DrawString, 0x9fc699c0 .set SetSolidColor, 0x9fc67108 .set GetFontName, 0x9fc6a8e0 .set SetFont, 0x9fc68764 .set GetDC, 0x9fc63954 .set ShowWindow, 0x9fc64c94 .set DestroyWindow, 0x9fc64b10 .set CreateMainMenuWindow, 0x9fc1b3e0 .set RegisterClass, 0x9fc64670 .set CreateWindow, 0x9fc64904 .set SetFocus, 0x9fc65598
.set aCalWndName, 0x8c082c90 .set gp, 0x8c08cc20 .set ohCalWnd, 0x8c085770 .set ohMainWnd, 0x8c086740
en nog een paar: Citaat:
9FC14020 HideBasicWindow 9FC14E38 ToggleInfoPanelDisplay 9FC1B3E0 CreateMainMenuWindow 9FC63954 GetDC 9FC639F8 BeginPaint 9FC63A8C EndPain 9FC64670 RegisterClass 9FC64904 CreateWindow 9FC64B10 DestroyWindow 9FC64C94 ShowWindow 9FC652B4 GetClientRect 9FC65560 GetWindowExtra 9FC65598 SetFocus 9FC6563C DefWndProc 9FC65794 PaintFirstVisibleWindow 9FC66EB8 SetPaletteEntries 9FC67108 SetSolidColor 9FC67C38 Rectangle 9FC67D20 SetColor 9FC67D88 SetBkMode 9FC67EAC DrawBitmap 9FC68764 SetFont 9FC68AE8 GetTextBounds 9FC699C0 DrawString 9FC6A140 ExtTextOut 9FC6A8E0 GetFontName 9FC7412C 9FC95264 SetFrontDisplay 9FC95BDC SetTimer 9FC95C10 KillTimer 9FCBC758 9FCCFAE8 CATQueueSend 9FD08D70 memcpy_user 9FD08ECC memcmp 9FD08F28 memset_user 9FD08FF4 strcpy_user 9FD09044 strlen_user 9FD092C4 sprintf
en nog een: Citaat:
9FD08734--->atof 9FD08750--->atoi 9FD0876C--->atol 9FD08788--->calloc 9FD087A4--->clearerr 9FD087C0--->fclose 9FD087DC--->feof 9FD087F8--->ferror 9FD08814--->fflush 9FD08830--->fgetc 9FD0884C--->fgetpos 9FD08868--->fgets 9FD088A0--->fprintf 9FD088BC--->fopen 9FD088D8--->fputc 9FD088F4--->fputs 9FD08910--->fread 9FD0892C--->free 9FD08948--->freopen 9FD08964--->fscanf 9FD08980--->fseek 9FD0899C--->fsetpos 9FD089B8--->ftell 9FD089D4--->fwrite 9FD08A0C--->getc 9FD08A28--->getchar 9FD08A44--->gets 9FD08A60--->malloc 9FD08A7C--->printf 9FD08A98--->putc 9FD08AB4--->putchar 9FD08AD0--->puts 9FD08AEC--->rand 9FD08B08--->realloc 9FD08B24--->remove 9FD08B40--->rename 9FD08B5C--->rewind 9FD08B78--->scanf 9FD08B94--->setbuf 9FD08BB0--->setvbuf 9FD08BCC--->srand 9FD08BE8--->sscanf 9FD08C04--->strtod 9FD08C20--->strtok 9FD08C3C--->strtol 9FD08C58--->strtoul 9FD08C74--->tmpfile 9FD08C90--->tmpname 9FD08CC8--->ungetc 9FD08CE4--->vfprintf 9FD08D00--->vprintf 9FD08D1C--->vsprintf 9FD08D38--->memccpy 9FD08D54--->memchr 9FD08ECC--->memcmp 9FD08F0C--->memmove 9FD08F4C--->qsort 9FD08F68--->strcat 9FD09028--->strcspn 9FD0906C--->strncat 9FD09088--->strncmp 9FD090A4--->strncpy 9FD090C0--->strpbrk 9FD090DC--->strrchr 9FD090F8--->strspn 9FD09114--->strstr 9FD092C4--->sprintf
Deze heb ik ooit gevonden op satnews.it
Deze "gereversed engineerde" adressen kunnen goed van pas komen bij het schrijven van een nieuwe module
|
|
Omhoog
|
|
|
|
|
|
|
|
Moderator: Drs. IJzerbout
|
|
|
|
40266 Leden
49 Forums
241830 Onderwerpen
1501267 Berichten
486 berichten in de afgelopen 24 uur
Max Online: 336 @ 16/04/2008 20:22
|
|
|
|
|
|
|