terminator2k2
Inactive User
- Joined
- Sep 9, 2007
- Messages
- 352
- Reaction score
- 6
well all i can see is the original key with the wrong bytes is xor aginst 19 to give the correct value.????
3F -> Filter: ANY CARD
5A01 PROVIDER ID
F7 -> RUN CODE FOR ROM7:
5FA610B721A6022D 079BCD200F9A2003 CD200F9FB8AFB7AF 9FB8BBB7BBA626CC
48BB000000835B01 4205E82593B27A90 0EA2428516CF0CA7 A714C222
DISASSEMBLY OF CODE:
------------------------------
0081: 5F clrx ; x <-- 0
Load #0 or 0000 0000 into X
0082: A6 10 lda #$10 ; Load in A
Load #$10 or 0001 0000 into A
0084: B7 21 sta RC0ADDRH ; Store A in...
Store A [#$10] into mem address
0086: A6 02 lda #$02 ; Load in A
Load #$02 or 0000 0010 into A
0088: 2D 07 bms $91 ; Branch if mask=1
Branch to $91 if mask=1
008A: 9B sei ; I <-- 1
Set Global Interrupt
008B: CD 20 0F jsr $200F ; Go to subroutine
Jump to subroutine $200F
008E: 9A cli ; I <-- 0
Clear Global Interrupt
008F: 20 03 bra $94 ; Branch always
Branch to $94
0091: CD 20 0F jsr $200F ; Go to subroutine
Jump to subroutine $200F
0094: 9F txa ; X --> A
Should load #10 or 0001 0000 into A from X
Actually loads #0 or 0000 0000
0095: B8 AF eor $AF ; A= A xor ...
EOR A with data at $AF [#7A]
0000 0000
0111 1010
----------
0111 1010 = #$7A
Should be:
0001 0000
0111 1010
----------
0110 1010 = #$6A
0097: B7 AF sta $AF ; Store A in...
Store A [#$7A] into $AF
0099: 9F txa ; X --> A
Should load #10 or 0001 0000 into A from X
Actually loads #0 or 0000 0000
009A: B8 BB eor $BB ; A= A xor ...
EOR A with data at $BB [#C2]
0000 0000
1100 0010
----------
1100 0010 = #$C2
Should be:
0001 0000
1100 0010
----------
1101 0010 = #$D2
009C: B7 BB sta $BB ; Store A in...
Store A [#$C2] into $BB
009E: A6 26 lda #$26 ; Load in A
Load #$26 into A. Key update starts at $A6 ($80 + #$26)
00A0: CC 48 BB jmp FILTEROK ; 2
Start Key update
BYTES DUMP:
---------------------
00A3: 00 00 00 83 5B 01 42 05
00AB: E8 25 93 B2 7A 90 0E A2
00B3: 42 85 16 CF 0C A7 A7 14
00BB: C2 22
52A4 CD 51 DF -> CD 46 9A
88 push a ; Stack <- A
C6 00 A9 lda $A9 ; Load in A
A1 42 cmp #$42 ; Compare with A
27 05 beq #$05 ; Branch if =
84 pop a ; Stack -> A
CD 51 DF jsr $51DF ; Go to subroutine
81 rts ; Return from subroutine
C6 00 81 lda $81 ; Load in A
A1 5F cmp #$5F ; Compare with A
26 0C bne #$0C ; Branch if <>
A6 AE lda #$AE ; Load in A
B7 82 sta $82 ; Store A in...
A6 20 lda #$20 ; Load in A
B7 84 sta $84 ; Store A in...
A6 0E lda #$0E ; Load in A
B7 85 sta $85 ; Store A in...
84 pop a ; Stack -> A
CD 51 DF jsr $51DF ; Go to subroutine
81 rts ; Return from subroutine
the two key roll routines alter 2 bytes in each key
1 byte in each key
Re my public opos patch, I simply made the initial branch command jump to $94 (same as the branch always below it) and replaced the lda #$02 command with clrx (clear x) and tax (transfer a to x)
sorted
m8..comon you should no that 1..its ida pro
Well someone just leaked my rom 7.
Bit disappointed as I hope one of you would come up with a fix. I hope you don't just give up now that a fix is out.
I will post this. First block is a decrypted rom 7 emm with comments added.
Second block is the fix applied to the rom 7.
Well someone just leaked my rom 7.
Bit disappointed as I hope one of you would come up with a fix. I hope you don't just give up now that a fix is out.
I will post this. First block is a decrypted rom 7 emm with comments added.
Second block is the fix applied to the rom 7.
Thanks for posting that. I REALLY want to patch the ROM myself with this code, or even hack around with my code to see if I can get a different version working. I am still stuck however:
1. I have IDA pro, but cannot get it to dissassemble the ROM 10 or 7 I have copied from the Dbox.
2. I don't know how to assemble my or your code to get it into the form required to edit the hex - is there a workin assembler, or will I have to just look up the hex for each OP code?
If I could get some help with these two parts, I reckon I would be well on the way to victory on this!
OK - after viewing the patched ROM 7 in the hex editor, and comparing with the dissassembled ROM 7 in the Nagra Coding Package, I think I can answer all my own questions now!
1 - there is no real need to dissassemble the existing ROM, the in the nagra_coding packge is good enough - Wouldn't mind know how to do this anyway though!
2 - I reckon I just have to look up the OP codes to do the assembling - its only a handful of instructions, so it should be simple enough.
Then all you have to do is edit the old ROM with win hex edit and sit back and watch the telly!
Thanks to all involved in this thread for helping - If I can successfully patch the April ROM7 I have with a variation of the code I posted earlier in this thread, I will try and write up a tutorial on how to do this stuff to help future noobs.
I have to say though, expecting someone from a non computing/engineering background to figure this stuff out is asking a lot - I have an engineering degree (and hence have programmed in assembler before) and am currently a programmer by trade - if you have never written any assembly code, learning how to do this stuff is going to be tough.
I'm a gravedigger ffs.
We use essential cookies to make this site work, and optional cookies to enhance your experience.