Hello all, I have found a DLL file that I would like to use in my application. It is written by a motherboard company (I think) in Taiwan and what it does is communicate with the PCI Bus and get various types of information back. It also checks the motherboard and attempts to get an ID (although I don't know how). This information is passed onto the program which interprets and builds a dynamic driver database based on what hardware is on the PCI Bus. A customer who uses this application made by the motherboard company will only be presented with drivers to install that correspond to actual hardware. The problem with this DLL is that it is ofcourse closed source, and written in chinese (based on export function list). I can link the DLL into my program. I can create an import library and a def file with no problem. Now onto my question. Is there any way to find out what values I should pass to some of the functions in this DLL? For example, doee the function CheckMbrdID in the DLL take 1 DWORD, 2 DWORD's etc. Should I pass the address as a DWORD or just pass the value in the DWORD? How would I go about reaping the benefits of this DLL and implementing it flawlessly in my application? Is it possible or am I just up to guessing and checking? Thanks, Devin.
Iczelion wrote an article 'How to create you own MASM libraries' which pretty well answer you questions, in general. He does a good job of outlining the problems with parameter values, but the solution is not ez.. as i understand it.. with out documentation of the function's job... its a teadious hit-and-miss until your satisfied you got it figured out... :rolleyes: NaN
If it is closed source, the dll is also probably copyrighted which means that it is illegal to reverse engineer it in anyway, and there is also no simple way to find out the number of arguments a function needs passed to it. (i wont say how, but look at dissasmblys of your own dlls to figure out how to figure out how many args)
No hacking here please :D if somebody makes his living from that software and decided NOT to lrt you see the sources...well too bad... i suggest make your own open source version of that .DLL/whatever...just DONT HACK it.. :)