Welcome, guest | Sign In | My Account | Store | Cart
# -*- coding: Windows-1251 -*-
'''
find_dll_name.py

List all python dll names in DLL/PYD/etc file.

Author: Denis Barmenkov <denis.barmenkov@gmail.com>

Copyright: this code is free, but if you want to use it, 
           please keep this multiline comment along with source. 
           Thank you.

2009-08-09
'''
import re
import sys

fn = sys.argv[1]
f = open(fn, 'rb')
data = f.read()
f.close()

dll_re = re.compile(r'python\d\d\.dll', re.M | re.S)

found = dll_re.findall(data)

print found

#-------------- cut here -----------------#

# -*- coding: Windows-1251 -*-
'''
patch_dll_name.py

Patch extension precompiled binary by changing python dll name.

Author: Denis Barmenkov <denis.barmenkov@gmail.com>

Copyright: this code is free, but if you want to use it, 
           please keep this multiline comment along with source. 
           Thank you.

2009-08-09
'''

import sys
import os

OLD_NAME = 'python23.dll'
NEW_NAME = 'python24.dll'

fn = sys.argv[1]
f = open(fn, 'rb')
data = f.read()
f.close()

data = data.replace(OLD_NAME, NEW_NAME)

bak_fn = fn + '.bak'
os.rename(fn, bak_fn) # rename original file to .BAK

f = open(fn, 'wb')
f.write(data) # write patched version
f.close()

History

  • revision 4 (14 years ago)
  • previous revisions are not available