Hey. Ive been doing some more work and it looks like the blocks are 16bytes
(128-bit) all the firmware sizes devide down by 16 and that 1.1.1 and 1.1.2
split at 0x1680 is a 16-byte boundry. If they used a cbc based scheme
(cipher block chaining) then the previous plain-text is used as the key for
the next block. Aes-cbc looked real promising to me, 128-bit fixed block
size and variable key length 128,196,256. It requires an Initialzation
vector that is the same length as the block size. Its not feasible to break
this encryption. It does this thing with rounds and matrix row shifting and
s-blocks and crap the ciphertext has NO correlation to the plaintext. I was
thinking it could be like a simple xor with the cbc scheme. I mean does the
arm 200mhz apple cpu have enough power to decrypt a 6mb aes encoded file
that has rounds and lookup s-tables, row shifting, etc... its no that fast.
The firmware re-boot takes ~10 sec. it takes my winhex of on my core2duo
1.83ghz around 3 sec to decrypt 

 

Here is the osos block size sheet I made ill look into one for aupd also. I
like coffee.

 


1.0.2

1.1.1

1.1.2

1.1.3

1680split

blocksize

1.1.0 blocks

1.1.1 blocks

1.1.2 blocks

1.1.3 blocks

1860blockpos


6270976

6379520

6266880

6252544

1680

1

6270976

6379520

6266880

6252544

1680


6270976

6379520

6266880

6252544

1680

2

3135488

3189760

3133440

3126272

840


6270976

6379520

6266880

6252544

1680

4

1567744

1594880

1566720

1563136

420


6270976

6379520

6266880

6252544

1680

8

783872

797440

783360

781568

210


6270976

6379520

6266880

6252544

1680

16

391936

398720

391680

390784

105


6270976

6379520

6266880

6252544

1680

32

195968

199360

195840

195392

52.5


6270976

6379520

6266880

6252544

1680

64

97984

99680

97920

97696

26.25


6270976

6379520

6266880

6252544

1680

128

48992

49840

48960

48848

13.125


6270976

6379520

6266880

6252544

1680

256

24496

24920

24480

24424

6.5625


6270976

6379520

6266880

6252544

1680

512

12248

12460

12240

12212

3.28125


6270976

6379520

6266880

6252544

1680

1024

6124

6230

6120

6106

1.640625


6270976

6379520

6266880

6252544

1680

2048

3062

3115

3060

3053

0.8203125


6270976

6379520

6266880

6252544

1680

4096

1531

1557.5

1530

1526.5

0.41015625


6270976

6379520

6266880

6252544

1680

8192

765.5

778.75

765

763.25

0.205078125


6270976

6379520

6266880

6252544

1680

16384

382.75

389.375

382.5

381.625

0.102539063

 

 

The 1680blockpos is the block number that the 1680 byte is. looks like 105
is a good number. Later -- Jeremy

_______________________________________________
Linux4nano-dev mailing list
[email protected]
https://mail.gna.org/listinfo/linux4nano-dev
http://www.linux4nano.org

Reply via email to