Advertisement
Sc2ad

removeSig.py

May 26th, 2019
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. import sys
  2. import struct
  3.  
  4. def set_bytes(fileName, offset, bts):
  5. with open(fileName, "r+b") as fh:
  6. fh.seek(offset - 4)
  7. print("Area Bytes:\t\t" + " ".join([str(fh.read(1).hex()) for _ in range(4)]))
  8. print("\t\t\t" + " ".join([str(fh.read(1).hex()) for _ in range(4)]))
  9. print("\t\t\t" + " ".join([str(fh.read(1).hex()) for _ in range(4)]))
  10. fh.seek(offset)
  11. print("Wrote: " + str(bts.hex()) + " to offset: " + str(offset) + " replacing: " + str(fh.peek()[:len(bts)].hex()))
  12. fh.write(bts)
  13.  
  14. def check(fileName, offset):
  15. print("VALIDATION:")
  16. with open(fileName, 'rb') as fh:
  17. fh.seek(offset - 4)
  18. print("Area Bytes:\t\t" + " ".join([str(fh.read(1).hex()) for _ in range(4)]))
  19. print("\t\t\t" + " ".join([str(fh.read(1).hex()) for _ in range(4)]))
  20. print("\t\t\t" + " ".join([str(fh.read(1).hex()) for _ in range(4)]))
  21.  
  22. off = 0x0109d074 - 0x10002
  23.  
  24. # Looking for:
  25. # 06 00 00 1a
  26. # 01 00 a0 e3
  27. # 00 00 9f e7
  28.  
  29. if __name__ == "__main__":
  30. if len(sys.argv) == 1:
  31. print("Provide the directory to libil2cpp.so!")
  32. else:
  33. set_bytes(sys.argv[1], off, bytes([0x01, 0x00, 0xa0, 0xe3]))
  34. check(sys.argv[1], off)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement