Advertisement
Guest User

Untitled

a guest
Mar 19th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. import sys
  2. import subprocess
  3. import os
  4. import shutil
  5. import re
  6.  
  7. old_dll = ""
  8.  
  9. def copy_dlls(binary):
  10. print("\nChecking " + binary)
  11. process = subprocess.run(
  12. [
  13. 'C:\\msys64\\mingw64\\bin\\ntldd.exe',
  14. binary,
  15. ],
  16. stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=False
  17. )
  18. output = process.stdout.decode('utf-8', errors='ignore')
  19.  
  20. for line in output.splitlines():
  21. dll = ''
  22. try:
  23. dll = re.match(r'(.*) => (.*\.[dD][lL][lL]) \((.*)\)', line).group(2)
  24. except AttributeError:
  25. print(" Can't parse line: " + line)
  26. continue
  27. paths = ['C:\\msys64\\mingw64\\bin']
  28. found = False
  29. for path in paths:
  30. if dll.startswith(path):
  31. found = True
  32. if not found:
  33. print(' Skipping ' + dll)
  34. continue
  35. print(' Copying ' + dll)
  36. shutil.copy(dll, os.getcwd())
  37. copy_dlls(os.path.basename(dll))
  38.  
  39. copy_dlls(sys.argv[1])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement