Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- import subprocess
- import os
- import shutil
- import re
- old_dll = ""
- def copy_dlls(binary):
- print("\nChecking " + binary)
- process = subprocess.run(
- [
- 'C:\\msys64\\mingw64\\bin\\ntldd.exe',
- binary,
- ],
- stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=False
- )
- output = process.stdout.decode('utf-8', errors='ignore')
- for line in output.splitlines():
- dll = ''
- try:
- dll = re.match(r'(.*) => (.*\.[dD][lL][lL]) \((.*)\)', line).group(2)
- except AttributeError:
- print(" Can't parse line: " + line)
- continue
- paths = ['C:\\msys64\\mingw64\\bin']
- found = False
- for path in paths:
- if dll.startswith(path):
- found = True
- if not found:
- print(' Skipping ' + dll)
- continue
- print(' Copying ' + dll)
- shutil.copy(dll, os.getcwd())
- copy_dlls(os.path.basename(dll))
- copy_dlls(sys.argv[1])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement