summaryrefslogtreecommitdiff
path: root/scripts/scriptchecksum.py
diff options
context:
space:
mode:
authorHáčky <hatschky@gmail.com>2014-11-21 10:46:12 +0000
committerHáčky <hatschky@gmail.com>2014-11-21 10:46:12 +0000
commit2375d2c8db10447ae301176a2136bcad4bb42bb0 (patch)
tree00ca01a39e7bce0795a10b0c58f33e005ad4ef4c /scripts/scriptchecksum.py
parent92c6af6c354d58d96d9590efee955e449a8f94c3 (diff)
Initial commit
Diffstat (limited to 'scripts/scriptchecksum.py')
-rw-r--r--scripts/scriptchecksum.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/scripts/scriptchecksum.py b/scripts/scriptchecksum.py
new file mode 100644
index 0000000..d40a12d
--- /dev/null
+++ b/scripts/scriptchecksum.py
@@ -0,0 +1,28 @@
+import struct
+import sys
+
+out = open(sys.argv[2], 'w')
+sum = 0x1121
+len = 0
+with open(sys.argv[1], 'rb') as f:
+ while True:
+ byte = f.read(1)
+ if not byte:
+ break
+
+ sum ^= ord(byte)
+ for i in range(8):
+ if(sum & 1):
+ sum = (sum >> 1) ^ 0x8408
+ else:
+ sum >>= 1
+ len += 1
+ sum = ~sum & 0xFFFF
+f.closed
+
+out.write(struct.pack('<I', sum))
+out.write(struct.pack('<I', 0x0200001E))
+out.write(struct.pack('<I', 0x0200001E + len))
+with open(sys.argv[1], 'rb') as f:
+ out.write(f.read())
+f.closed \ No newline at end of file