View Single Post
Old 10-04-2013, 06:09 PM   #1
PeterT
Grand Sorcerer
PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.
 
Posts: 13,547
Karma: 79436716
Join Date: Nov 2007
Location: Toronto
Device: Libra H2O, Libra Colour
Compressed elements in libnickel.so

There seem to have been some MAJOR changes in the CSS used within 2.8.1B and the original 2.8.1.

Attached find a dump of all the compressed streams I found using the signature 0x78 0x9c within the original, and the new libnickel.so.

You will see the original had 1525 compressed chunks; the new one only has 47, and one I don't see at all is the ReadingFooter code

Suggestions as to what we might look for, for the patcher would be appreciated.

This was generated with the following (ugly) python script.
Spoiler:

Code:
import zlib
import sys
from glob import glob

ZLIB_MARKERS = ['\x78\x9c']

def zipstreams(filename) :
  with open(filename, 'rb') as fh:
    data = fh.read()

  pos = 0
    
  while pos < len(data) :
    window = data[pos:pos+2]
    for marker in ZLIB_MARKERS:
      if window == marker:
        try:
          zo = zlib.decompress(data[pos:])
          print '{:s}:{:x} --> {:s}'.format(filename, pos, repr(zo))
        except zlib.error:
          pos = pos
    pos += 1
    if pos == len(data):
        break

for filename in glob('libnickel.so.*'):
  zipstreams(filename)
Attached Files
File Type: txt all_zlib.txt (550.9 KB, 530 views)
PeterT is offline   Reply With Quote