Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def skipPastSequence(target, bufsize=0):
- match_index = 0
- buf = []
- resbuf = []
- while match_index < len(target):
- char = f.read(1)
- if bufsize > 0:
- if len(buf) == bufsize:
- buf.pop(0)
- buf.append(char)
- if char == target[match_index]:
- match_index += 1
- else:
- if bufsize > 0:
- resbuf = buf[::]
- match_index = 0
- return "".join(resbuf) if bufsize > 0 else None
- def convertByteArray(arr):
- return [hex(ord(x)) for x in arr]
- def convertNumber(arr):
- res = 0
- for i, val in enumerate([ord(x) for x in arr]):
- res += (256**i) * val
- return res
- def readEnemyData(f, o):
- lv = skipPastSequence("\xB8\x08\x00\x00\x00\x6B\xC8\x00\x8B\x55\xEC\xC7\x84\x0A\xC8\x00\x00\x00", 4)
- o.write(str(convertNumber(lv))+',')
- hp = f.read(4)
- f.read(7)
- hp2 = f.read(4)
- o.write(str(convertNumber(hp + hp2))+',')
- f.read(41)
- atk = f.read(4)
- o.write(str(convertNumber(atk))+',')
- f.read(29)
- df = f.read(4)
- o.write(str(convertNumber(df))+',')
- f.read(29)
- mag = f.read(4)
- o.write(str(convertNumber(mag))+',')
- f.read(29)
- mnd = f.read(4)
- o.write(str(convertNumber(mnd))+',')
- f.read(29)
- spd = f.read(4)
- o.write(str(convertNumber(spd))+',')
- f.read(29)
- acc = f.read(4)
- o.write(str(convertNumber(acc))+',')
- f.read(29)
- eva = f.read(4)
- o.write(str(convertNumber(eva))+',')
- f.read(20)
- money = f.read(4)
- o.write(str(convertNumber(money))+',')
- f.read(19)
- exp = f.read(4)
- o.write(str(convertNumber(exp))+',')
- skipPastSequence("\xC7\x81\xBC\x0B\x00\x00\x00\x00\x00\x00\xB8\x08\x00\x00"+
- "\x00\x6B\xC8\x0A\x8B\x55\xEC\xC7\x84\x0A\xC8\x00\x00\x00")
- fir = f.read(4)
- o.write(str(convertNumber(fir))+',')
- f.read(29)
- cld = f.read(4)
- o.write(str(convertNumber(cld))+',')
- f.read(29)
- wnd = f.read(4)
- o.write(str(convertNumber(wnd))+',')
- f.read(29)
- ntr = f.read(4)
- o.write(str(convertNumber(ntr))+',')
- f.read(29)
- mys = f.read(4)
- o.write(str(convertNumber(mys))+',')
- f.read(29)
- spi = f.read(4)
- o.write(str(convertNumber(spi))+',')
- f.read(29)
- drk = f.read(4)
- o.write(str(convertNumber(drk))+',')
- f.read(29)
- phy = f.read(4)
- o.write(str(convertNumber(phy))+',')
- f.read(29)
- voi = f.read(4)
- o.write(str(convertNumber(voi))+',')
- f.read(29)
- psn = f.read(4)
- o.write(str(convertNumber(psn))+',')
- f.read(29)
- par = f.read(4)
- o.write(str(convertNumber(par))+',')
- f.read(29)
- hvy = f.read(4)
- o.write(str(convertNumber(hvy))+',')
- f.read(29)
- shk = f.read(4)
- o.write(str(convertNumber(shk))+',')
- f.read(29)
- trr = f.read(4)
- o.write(str(convertNumber(trr))+',')
- f.read(29)
- sil = f.read(4)
- o.write(str(convertNumber(sil))+',')
- f.read(29)
- dth = f.read(4)
- o.write(str(convertNumber(dth))+',')
- f.read(29)
- dbfatk = f.read(4)
- o.write(str(convertNumber(dbfatk))+',')
- f.read(29)
- dbfdef = f.read(4)
- o.write(str(convertNumber(dbfdef))+',')
- f.read(29)
- dbfmag = f.read(4)
- o.write(str(convertNumber(dbfmag))+',')
- f.read(29)
- dbfmnd = f.read(4)
- o.write(str(convertNumber(dbfmnd))+',')
- f.read(29)
- dbfspd = f.read(4)
- o.write(str(convertNumber(dbfspd))+',')
- f.read(29)
- dbfacc = f.read(4)
- o.write(str(convertNumber(dbfacc))+',')
- f.read(29)
- dbfeva = f.read(4)
- o.write(str(convertNumber(dbfeva)))
- o.write('\n')
- return convertNumber(hp+hp2)
- with open("laby2.exe", 'rb') as f:
- with open("output.csv", 'w') as o:
- f.read(1264720)
- c = 0
- while True:
- c += 1
- print readEnemyData(f, o), c
- o.flush()
- print "DONE"
Add Comment
Please, Sign In to add comment