[ctypes-users] accessing dll ordinals using ctypes
Brought to you by:
theller
From: Karl S. <de...@gm...> - 2009-09-03 21:31:30
|
I'm trying to use a function inside of a dll, but it doesn't allow me to use the name, just the ordinal number. I've got this so far, but everytime I try and use the function it states that there's an access violation at 0x00000000. from ctypes import * Qtcore4 = windll.LoadLibrary("C:\\Program Files\\fg 5.1\\bin\\Qtcore4.dll") openFile = windll.Qtcore4[0x9B6] openFile("C:\\Documents and Settings\\Administrator\\Desktop\\file.fdr") <<this line causes the error. I'm fairly certain I'm not doing it properly. I found the ordinal number by using CFF Explorer and reverse engineering the binary that uses the function. It's just a bit confusing converting it into object oriented programming from what I see when I reverse it and then into python (if you get what I mean). C++ example: QFile f1( "/tmp/data.bin" ); f1.open( IO_Raw | IO_ReadWrite ); QFile f2( "readme.txt" ); f2.open( IO_ReadOnly | IO_Translate ); QFile f3( "audit.log" ); f3.open( IO_WriteOnly | IO_Append ); How many arguments does open take? And how would I represent this in python ctypes? Thanks in advance. -- K Smith @ Edinburgh |