Ga naar inhoud


Aanbevolen berichten

Geplaatst:

@ 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

<img src="/ubbthreads/images/graemlins/xyxthumbs.gif" alt="" />

DM800HD PVR 120gb


Geplaatst:

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" <img src="/ubbthreads/images/graemlins/confused.gif" alt="" />, 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 <img src="/ubbthreads/images/graemlins/smirk.gif" alt="" />

 

Nog een volgende stap zou zijn om de assembly om te zetten naar C-code. Voor zover ik weet zijn hiervoor geen tools beschikbaar <img src="/ubbthreads/images/graemlins/frown.gif" alt="" />

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 <img src="/ubbthreads/images/graemlins/grin.gif" alt="" />

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

Geplaatst:

@ fietser

dankjewel <img src="/ubbthreads/images/graemlins/xyxthumbs.gif" alt="" /> 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 <img src="/ubbthreads/images/graemlins/grin.gif" alt="" />

 

 

DM800HD PVR 120gb

Geplaatst:

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.

Geplaatst:

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

Geplaatst:

@rootical

 

nee dat is niet het struikelpunt van hdf naar raw gaat makkelijk genoeg proggies maar daarna daar ben ik nog nie achter gekomen <img src="/ubbthreads/images/graemlins/confused.gif" alt="" />

DM800HD PVR 120gb

Geplaatst:

@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 <img src="/ubbthreads/images/graemlins/smirk.gif" alt="" /> , gr.

 

Zilverster.

You are "The last in line" - Ronnie James Dio R.I.P.

Geplaatst:

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

Geplaatst:

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 <img src="/ubbthreads/images/graemlins/xyxthumbs.gif" alt="" />

Geplaatst:
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 [color:"red"] Wat bedoel je met daarna?? [/color]

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. [color:"orange"](maar dit is voor prive gebruik omdat ik josje niet voor de voeten wil lopen.)[/color]
Gr, pribo. <img src="/forums/images/graemlins/cool.gif" alt="" />

Met vriendelijke groet, Leo.

  • 3 maanden later...
Geplaatst:

het is met enig gesleutel niet al te moeilijk de hele firmware terug te zetten naar mips, maar de leesbaarheid hiervan is slechts relatief.

 

de bijbehorende mips instructies zijn ook wel te vinden.(misschien heb ik dat alles nog wel ergens)

 

maar het probleem komt hierna pas, omdat het onmogelijk is de mips juist te begrijpen zonder de bijbehorende comments. welke je er uiteraard niet bijhebt. de aantekeningen die ik hiervoor al eens gemaakt hebt beslaan ongeveer 2 of 3 volledige a4 kladblokken. heel langzaam kun je je dan bepaalde dingen wel leren begrijpen.

 

het omzetten van mips naar c+ is praktisch onmogelijk voor de hobbyist. (heeft iemand hier de programa's voor hoor ik het graag, dit zou een goede reden zijn deze materie weer op te pakken)

 

het mooiste zou zijn (en eigenlijk de enige oplossing) als iemand de C+ code heeft van de "STB5860 design kit" met de real time pSOS porting instructies, zodat er nieuwe kernels gepoort kunnen worden.

 

totdat 1 van beide mogelijkheden mogelijk worden zal ik mijn schaarse tijd op andere manieren indelen. omdat de kans op slagen namelijk vrij laag is zonder er jaren lang bakken met tijd en onderzoek in te steken.

 

lees hierin niet dat ik jullie probeer te ontmoedigen, vele handen maken licht werk, en als ik zie wat ik het afgelopen jaar zoal heb opgestoken denk ik dat we optimistisch moetten blijfen. en uit eindelijk heeft iedereen een stukje van de puzzle en komen we daar waar we zijn willen.

 

groet & suc6

kamaradski

  • 3 maanden later...
  • 2 maanden later...
Geplaatst:
Citaat:
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 [color:"red"] Wat bedoel je met daarna?? [/color]

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. [color:"orange"](maar dit is voor prive gebruik omdat ik josje niet voor de voeten wil lopen.)[/color]
Gr, pribo. <img src="/forums/images/graemlins/cool.gif" alt="" />


Je mag mij wel jouw bestand sturen om eens te kijken hoe de vertaling bevalt.

<img src="/forums/images/graemlins/xyxthumbs.gif" alt="" />

2xDM800HD, 2x DM800SE
Visiosat with Astra1, Hotbird, Astra2 and Astra3
Philips 56pfl9954h_12

  • 5 maanden later...

Maak een account aan of log in om te reageren

Je moet een lid zijn om een reactie te kunnen achterlaten

Account aanmaken

Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!

Registreer een nieuwe account

Inloggen

Heb je reeds een account? Log hier in.

Nu inloggen
  • Wie is er online   0 leden

    • Er zijn geen geregistreerde gebruikers deze pagina aan het bekijken
×
×
  • Nieuwe aanmaken...