Pagina 1 van 2 12>
Onderwerp Opties
Stem op dit onderwerp
#849653 - 28/04/2005 22:37 "reverse engineering van humax firmware" *****
satellitefreak Offline
Lid

Geregistreerd: 08/06/2003
Berichten: 79
@ humax bezitters

de laatste tijd houd ik me bezig met reverse engineering van de humax 5400z. reverse engineering houdt in hoe een fw in elkaar zit... zijn hier mensen die zich hiermee ook bezighouden waar ik naar opzoek ben is:

hoe je hdf kan omzetten naar leesbare taal... (ben wel wat verder dan hdf---->raw maar wil sugggesties zien van andere)

hoe je zelf dingen kan aanpassen of toevoegen

wie meer weet en wil helpen is welkom op deze topic hopelijk bereiken we er wat mee
_________________________
2x humax 5400z TOH 3.3 HOT 5.8 + mr + canal digitaal seca2 kaart 2x fun4 + 1x fun5 + oposcard 1.03 & 1.05

Omhoog
#849654 - 01/05/2005 12:19 Re: "reverse engineering van humax firmware" [Re: satellitefreak]
fietser Offline
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
#849655 - 03/05/2005 18:24 Re: "reverse engineering van humax firmware" [Re: fietser]
satellitefreak Offline
Lid

Geregistreerd: 08/06/2003
Berichten: 79
@ fietser
dankjewel voor je reply zo te zien zijn er niet veel satters die dit begrijpen daarom heb ik een een korte samenvatting over alles:

1) Om je eigen FW te schrijven heb je goede C to MIPS cross compiler nodig. Veel programma’s zijn beschikbaar op de markt. Maar je kunt SDE gebruiken: het is meer dan genoeg.

2) Je hebt ook heel wat documentatie nodig die niet beschikbaar zijn, copyrighted of vertrouwelijk is. De HAL zal schrijven in assembler vereisen.

3) de tool die je mag gebruiken is STB5860 development kit die denk ik door Humax wordt gebruikt als basis. Jammer genoeg heeft niemand het.

4) om een gecompileerde humax FW te disassemblen moet je eenvoudig selecteren:
- het juiste bewerktype (ex MIPS R5900B)
- het juiste beginpunt voor de FW (Ex 0x9FC10000 voor mainmodule)
Maar verwacht niet dat het hulpmiddel op een automatische manier gaat werken. Het beste hulpmiddel is IDA niettemin wordt een harde menselijke
interactie vereist aan het disassemblen van een gecompileerde code.

5) gebruik HDFTool of HTGPro of HDFSmart om .raw dossiers uit HDF te
halen. De gelijkaardige programma's zijn voor de omgekeerde verrichting van
toepassing.

nou mensen lees dit goed door en misschien begrijp je er misschien wel wat van



Bewerkt door satellitefreak (03/05/2005 23:01)
_________________________
2x humax 5400z TOH 3.3 HOT 5.8 + mr + canal digitaal seca2 kaart 2x fun4 + 1x fun5 + oposcard 1.03 & 1.05

Omhoog
#849656 - 03/05/2005 21:15 Re: "reverse engineering van humax firmware" [Re: satellitefreak]
Sir_Pepper Offline
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
#849657 - 03/05/2005 21:53 Re: "reverse engineering van humax firmware" [Re: Sir_Pepper]
Rootical Offline
Sat4all Fan

Geregistreerd: 04/10/2004
Berichten: 392
Uit: Arnhem
DE tool om een raw uit een .hdf te lezen is blijkbaar het grootste struikelpunt.
Ik heb deze discussie zo'n 2 jr geleden eens geprobeerd te volgen op de site van Crazysat.. en daar waren ze al een aardig eindje.
Alleen al het kraken van de tux heeft al jaren geduurd en aangezien het toch al wat maanden blootligt weet blijkbaar nog steeds niemand behalve PH himself hoe er mee om te gaan, want nog steeds zijn alleen zijn aanpassingen die werken op de recente coderingen en attacks.
btw. had kamaradski deze oproep ook al niet eens eerder gedaan?

gr. Rootical


Bewerkt door Toxic[Q] (28/11/2006 14:06)

Omhoog
#849658 - 03/05/2005 22:45 Re: "reverse engineering van humax firmware" [Re: Rootical]
satellitefreak Offline
Lid

Geregistreerd: 08/06/2003
Berichten: 79
@rootical

nee dat is niet het struikelpunt van hdf naar raw gaat makkelijk genoeg proggies maar daarna daar ben ik nog nie achter gekomen


Bewerkt door satellitefreak (03/05/2005 23:04)
_________________________
2x humax 5400z TOH 3.3 HOT 5.8 + mr + canal digitaal seca2 kaart 2x fun4 + 1x fun5 + oposcard 1.03 & 1.05

Omhoog
#849659 - 06/05/2005 00:51 Re: "reverse engineering van humax firmware" [Re: Rootical]
Zilverster Offline
Sat4all erelid

Geregistreerd: 13/07/2002
Berichten: 2538
Uit: Stadsk(c)anaal+
@Rootical

Citaat:

btw. had kamaradski deze oproep ook al niet eens eerder gedaan?





Een half jaar geleden ben ik ook al eens benaderd via de welbekende achterdeur, of dit om de zelfde groep gaat weet ik niet, ik ben niet verder gekomen dan Wenen en daar was het niet te halen ( een ieder doet zijn stukje en weet niet waar hij of zei mee bezig is ) , het blijft zoeken naar............................., de bron , gr.

Zilverster.
_________________________
You are "The last in line" - Ronnie James Dio

Omhoog
#849660 - 12/05/2005 16:54 Re: "reverse engineering van humax firmware" [Re: Zilverster]
travera74 Offline
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 Offline
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
#849662 - 19/05/2005 20:14 Re: "reverse engineering van humax firmware" [Re: satellitefreak]
pribo Offline
Sat4all Core Member

Geregistreerd: 14/06/2004
Berichten: 1524
Uit: Groningen
Citaat:

satellitefreak

nee dat is niet het struikelpunt van hdf naar raw gaat makkelijk genoeg proggies maar daarna daar ben ik nog nie achter gekomen Wat bedoel je met daarna??



Het vetalen is niet zo`n probleem, ik ben nu zelf bezig om het om te zetten van het Nederlands naar het Groninger dialect.
Ik heb trouwens de nieuwe Nederlandse vertaling ook al klaar, want er zaten toch nog wat taal foutjes in en vergeten vertalingen die nog in het Duits of Engels waren. (maar dit is voor prive gebruik omdat ik josje niet voor de voeten wil lopen.)
Gr, pribo.
_________________________
Met vriendelijke groet, Leo.

Dreambox 7020 met PLi iolite 2008 (gbox 2.1b) / Stab HH 120 / Funke 99-cm / Sharp Lnb

Er gaat niets boven Groningen.

Omhoog
Pagina 1 van 2 12>


Moderator:  Drs. IJzerbout 
Ga naar:
Forum Statistieken
40266 Leden
49 Forums
241830 Onderwerpen
1501269 Berichten
485 berichten in de afgelopen 24 uur
Max Online: 336 @ 16/04/2008 20:22
Top Auteurs ;)
27301
Ome Merde
18159
Toxic[Q]
17735
Tonskidutch
13965
AlanS
13092
Feedhunter Rini
Wie zijn er Online
56 geregistreerde (R. Blok, boeda, h5550, Sunny Sat, Hoeba, paulie89, 9 onzichtbaar) en 107 anonieme bezoekers online.
Nieuwste Leden
tik, jangeit, lassie123, hupert, viburnum
40266 Geregistreerde Leden
Verjaardagen
Gefeliciteerd bipak (64), rene1234 (50), lawaai (46), hendrico-nl (43), RtheC (40), djenzen (27).