Mercurial > codedump
annotate sfv.py @ 129:8c39820da60a
add decode-mixed-mode.c
this decodes macintosh mixed-mode procedure types. It currently
only supports stack-based procedures :)
| author | Paper <paper@tflc.us> | 
|---|---|
| date | Sun, 19 Oct 2025 22:48:24 -0400 | 
| parents | 2aa9614cb39a | 
| children | 
| rev | line source | 
|---|---|
| 40 | 1 import sys | 
| 2 import zlib | |
| 3 | |
| 
33
 
349c9636d8ca
Create sfv.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
4 | 
| 40 | 5 def crc(filename): return "%X" % (zlib.crc32( | 
| 6 open(filename, "rb").read()) & 0xFFFFFFFF) | |
| 7 | |
| 
33
 
349c9636d8ca
Create sfv.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
8 | 
| 
 
349c9636d8ca
Create sfv.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
9 try: | 
| 
 
349c9636d8ca
Create sfv.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
10 temp = sys.argv[1] | 
| 40 | 11 except Exception: | 
| 
33
 
349c9636d8ca
Create sfv.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
12 print("No file specified!") | 
| 
 
349c9636d8ca
Create sfv.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
13 sys.exit() | 
| 
 
349c9636d8ca
Create sfv.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
14 | 
| 
 
349c9636d8ca
Create sfv.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
15 f = open(sys.argv[1]) | 
| 
 
349c9636d8ca
Create sfv.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
16 lines = f.readlines() | 
| 
 
349c9636d8ca
Create sfv.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
17 f.close() | 
| 
 
349c9636d8ca
Create sfv.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
18 | 
| 
 
349c9636d8ca
Create sfv.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
19 for line in lines: | 
| 
 
349c9636d8ca
Create sfv.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
20 if not line[0] == ";": | 
| 
 
349c9636d8ca
Create sfv.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
21 crc32 = line.strip()[-8:] | 
| 
 
349c9636d8ca
Create sfv.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
22 name = line.strip()[:-8] | 
| 
 
349c9636d8ca
Create sfv.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
23 if crc(name).zfill(8) == crc32: | 
| 
 
349c9636d8ca
Create sfv.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
24 print(f"{name}: CRC hash match!") | 
| 
 
349c9636d8ca
Create sfv.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
25 else: | 
| 
 
349c9636d8ca
Create sfv.py
 
Paper <37962225+mrpapersonic@users.noreply.github.com> 
parents:  
diff
changeset
 | 
26 print(f"{name}: CRC hash does not match!") | 
