Mateocedillo Posted May 26, 2021 Share Posted May 26, 2021 Hi, I want to make a UDF of a dll With autoit, but I have run into a concern. How can I know what type of function each of the functions of the dll has? That is, Nulong, Long, STR, Win32, WSTR, etc. I have experience programming but have run into this problem. I googled something about this and found a program called DLLExp, but it only gives you the names of the functions it has, but not the types. The names I already have, but I want to know what kind of functions each of these are. For those of you with more experience making UDF with a DLL, how did you resolve this conflict or how did you find a solution? I will be very grateful for your responses. Thanks. Link to comment Share on other sites More sharing options...
RTFC Posted May 26, 2021 Share Posted May 26, 2021 Follow this decision tree: * Can you find the documentation or original source code? Yes: study it; No: continue * Is it a COM dll? Yes: use OLEview; No: continue * Is it a Windows dll? Yes: analysese the pdb (following some court cases, MS has to publish these now); No: continue * Analyse dll with Dependency Walker. Are the functions decorated? Yes: use PE explorer; No: continue * Are you an expert in Assembly and patching raw machine code? Yes: study the stack frames with IDA Pro or a similar debugger; No: continue * Can you find the dll documentation or original source if you try really, really hard? Yes: study it; No: forget about it. TheXman and Werty 1 1 My Contributions and Wrappers Spoiler BitMaskSudokuSolver BuildPartitionTable CodeCrypter CodeScanner DigitalDisplay Eigen4AutoIt FAT Suite HighMem MetaCodeFileLibrary OSgrid Pool RdRand SecondDesktop SimulatedAnnealing Xbase I/O Link to comment Share on other sites More sharing options...
Mateocedillo Posted June 17, 2021 Author Share Posted June 17, 2021 On 5/26/2021 at 2:21 AM, RTFC said: Follow this decision tree: * Can you find the documentation or original source code? Yes: study it; No: continue * Is it a COM dll? Yes: use OLEview; No: continue * Is it a Windows dll? Yes: analysese the pdb (following some court cases, MS has to publish these now); No: continue * Analyse dll with Dependency Walker. Are the functions decorated? Yes: use PE explorer; No: continue * Are you an expert in Assembly and patching raw machine code? Yes: study the stack frames with IDA Pro or a similar debugger; No: continue * Can you find the dll documentation or original source if you try really, really hard? Yes: study it; No: forget about it. Hello. It is a COM dll. However, I was researching about OleView.exe, but I can't find something to download and the UDF I have to do is urgent. In fact, in the documentation of AutoIt itself there is a reference to this and I quote it, but unfortunately the link does not work. There are various sources on the internet, but I don't like downloading from unreliable sources and I don't know how to get it. "The "OLE/COM Object Viewer" is a very handy tool to get a peek on all COM objects currently installed on your system. It is part of the Windows Server 2003 resource kit (OK for Windows XP and above) and can be downloaded for free from: http://www.microsoft.com/en-us/download/details.aspx?id=17657 The setup of this program is a bit awkward. It will not create any start menu icon for you. Instead, a file called oleview.exe will be installed in the C:\Program Files\Resource Kit directory (default install)." Link to comment Share on other sites More sharing options...
TheXman Posted June 17, 2021 Share Posted June 17, 2021 (edited) If it is a DLL that was made for public consumption, then you should be able to find public documentation for it. On 5/25/2021 at 11:04 PM, Mateocedillo said: I want to make a UDF of a dll With autoit, but I have run into a concern. How can I know what type of function each of the functions of the dll has? That is, Nulong, Long, STR, Win32, WSTR, etc. 6 hours ago, Mateocedillo said: It is a COM dll. If it is a COM DLL, then you would usually access its objects with an objcreate() or objget() function and then use the objects' methods and properties. Why are you concerned with data types like str, wstr, long, etc? You aren't going to be accessing COM objects using DllCalls, are you? If this COM DLL is successfully installed/registered, then you can use WMI to query all of the methods and properties for its objects/classes. If you haven't been able to find the documentation that you are looking for in 4 weeks, then maybe it is time to disclose some more information about this "super secret" DLL, that you want to build a UDF library around, so others may be able to help. Jonny37? Edited June 18, 2021 by TheXman CryptoNG UDF: Cryptography API: Next Gen jq UDF: Powerful and Flexible JSON Processor | jqPlayground: An Interactive JSON Processor Xml2Json UDF: Transform XML to JSON | HttpApi UDF: HTTP Server API | Roku Remote: Example Script About Me How To Ask Good Questions On Technical And Scientific Forums (Detailed) | How to Ask Good Technical Questions (Brief) "Any fool can know. The point is to understand." -Albert Einstein "If you think you're a big fish, it's probably because you only swim in small ponds." ~TheXman Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now