Subversion Repositories freemyipod

Rev

Rev 239 | Rev 805 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 239 Rev 789
Line 98... Line 98...
98
          t = t >> 1
98
          t = t >> 1
99
      crc_table.append(t)
99
      crc_table.append(t)
100
 
100
 
101
    crc = 0xffffffff
101
    crc = 0xffffffff
102
    for i in range(len(data)):
102
    for i in range(len(data)):
103
      crc = (crc >> 8) ^ crc_table[(crc ^ struct.unpack("B", data[i])[0]) & 0xff];
103
      crc = (crc >> 8) ^ crc_table[(crc ^ data[i]) & 0xff];
104
 
104
 
105
    return crc
105
    return crc
106
 
106
 
107
 
107
 
108
  def getcpu(self):
108
  def getcpu(self):
Line 110... Line 110...
110
    return struct.pack("%dB" % len(result), *result)
110
    return struct.pack("%dB" % len(result), *result)
111
 
111
 
112
 
112
 
113
  def upload(self, data, exploit = 0):
113
  def upload(self, data, exploit = 0):
114
    if exploit == 1 and self.generation == 2 and self.type == 1:
114
    if exploit == 1 and self.generation == 2 and self.type == 1:
115
      data = f.read().ljust(0x200f0, "\0") \
115
      data = f.read().ljust(0x200f0, b"\0") \
116
           + "\xb8\x48\x02\x22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" \
116
           + b"\xb8\x48\x02\x22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" \
117
           + "\0\0\0\x22\0\0\0\x22\0\0\0\x22\0\0\0\x22" \
117
           + b"\0\0\0\x22\0\0\0\x22\0\0\0\x22\0\0\0\x22" \
118
           + "\0\0\0\x22\0\0\0\x22\0\0\0\x22\0\0\0\x22" \
118
           + b"\0\0\0\x22\0\0\0\x22\0\0\0\x22\0\0\0\x22" \
119
           + "\0\0\0\x22\0\0\0\x22\0\0\0\x22\0\0\0\x22" \
119
           + b"\0\0\0\x22\0\0\0\x22\0\0\0\x22\0\0\0\x22" \
120
           + "\0\0\0\x22\0\0\0\x22\0\0\0\x22\0\0\0\x22" \
120
           + b"\0\0\0\x22\0\0\0\x22\0\0\0\x22\0\0\0\x22" \
121
           + "\0\0\0\x22\0\0\0\x22\0\0\0\x22\0\0\0\x22" \
121
           + b"\0\0\0\x22\0\0\0\x22\0\0\0\x22\0\0\0\x22" \
122
           + "\0\0\0\x22\0\0\0\x22\0\0\0\x22\0\0\0\x22" \
122
           + b"\0\0\0\x22\0\0\0\x22\0\0\0\x22\0\0\0\x22" \
123
           + "\0\0\0\x22\0\0\0\x22\0\0\0\x22\0\0\0\x22" \
123
           + b"\0\0\0\x22\0\0\0\x22\0\0\0\x22\0\0\0\x22" \
124
           + "\0\0\0\x22\0\0\0\x22\0\0\0\x22\0\0\0\x22"
124
           + b"\0\0\0\x22\0\0\0\x22\0\0\0\x22\0\0\0\x22"
125
 
125
 
126
    data = data + struct.pack("<I", self.crc32(data))
126
    data = data + struct.pack("<I", self.crc32(data))
127
 
127
 
128
    sys.stdout.write("Upload: .")
128
    sys.stdout.write("Upload: .")
129
    sys.stdout.flush()
129
    sys.stdout.flush()