T
Thomas Dorris
I'm attempting to disassemble the COMMAPI's win32com.dll file, make a
simple change, then re-assemble it into a replacement win32com.dll.
To start, I really just want to disassemble then reassemble the
original win32com.dll to verify that the process works. But, so far,
it's not. I'm using pedasm to generate the disassembly. I have to
clean up a few of the names it spits out to make it reassemble OK and
generate a .dll file. Using dumppe on both the original win32com.dll
and the newly generated one shows that exported names as well as
import names from other DLLs match. The "hints" for the imported
names don't match up, but I don't know exactly what that means.
Additionally, the newly generated DLL shows "local symbols stripped"
as one of the characteristics where as the original DLL does not.
Otherwise, they appear identical.
Now, the problem. When this new .dll file is used by the JVM in a
sample COM port application, the DLL load fails with the following:
Error loading win32com: java.lang.UnsatisfiedLinkError:
C:\jre\bin\win32com.dll: Invalid access to memory location
This "feels" like something stupid. Like I'm using some wrong
libraries to link against or something like that. But I just can't
figure it out. Anybody have any ideas? Clearly the JVM is locating
the DLL file, bit just fails to load it.
Thomas Dorris
simple change, then re-assemble it into a replacement win32com.dll.
To start, I really just want to disassemble then reassemble the
original win32com.dll to verify that the process works. But, so far,
it's not. I'm using pedasm to generate the disassembly. I have to
clean up a few of the names it spits out to make it reassemble OK and
generate a .dll file. Using dumppe on both the original win32com.dll
and the newly generated one shows that exported names as well as
import names from other DLLs match. The "hints" for the imported
names don't match up, but I don't know exactly what that means.
Additionally, the newly generated DLL shows "local symbols stripped"
as one of the characteristics where as the original DLL does not.
Otherwise, they appear identical.
Now, the problem. When this new .dll file is used by the JVM in a
sample COM port application, the DLL load fails with the following:
Error loading win32com: java.lang.UnsatisfiedLinkError:
C:\jre\bin\win32com.dll: Invalid access to memory location
This "feels" like something stupid. Like I'm using some wrong
libraries to link against or something like that. But I just can't
figure it out. Anybody have any ideas? Clearly the JVM is locating
the DLL file, bit just fails to load it.
Thomas Dorris