Valhalla Legends Forums Archive | General Programming | C++ DLL, VB Declare

AuthorMessageTime
FuzZ
I'm unsure if I should've posted this here or not.
Sorry if I wasn't supposed to ;P

I've gotten the BnetAuth.dll to compile correctly.
however, whenever I try to call a function from it i always get "Can't find DLL entry point"
Now, This is from a hex editor from BnetAuth.dll which i believe to be the entry points
[code]BnetAuth.dll.?CDKeyHash@@YGHPADPBDK@Z.?CheckVersion@@YGHPBD000PAK1PAD0@Z.?CreateAccount@@YGHPAD0@Z.?LODHash@@YGHPADKKKKK@Z.?PasswordHash@@YGHPADK0@Z.?SendCDKeyHash@@YGHPBDKPADI@Z[/code]

Now my declare
[code]
Public Declare Function CheckVersion Lib "BnetAuth.dll" Alias "?CheckVersion@@YGHPBD000PAK1PAD0@Z" (ByVal FileExe As String, ByVal FileStormDll As String, ByVal FileBnetDll As String, ByVal HashText As String, ByRef version As Long, ByRef Checksum As Long, ByVal ExeInfo As String, ByVal mpqname As String) As Long
[/code]

I'm not quite sure why it does this.
If i use
[code]
Public Declare Function CheckVersion Lib "BnetAuth.dll" Alias "Z" (ByVal FileExe As String, ByVal FileStormDll As String, ByVal FileBnetDll As String, ByVal HashText As String, ByRef version As Long, ByRef Checksum As Long, ByVal ExeInfo As String, ByVal mpqname As String) As Long
[/code]

It works. I remember from other declares it being Z. I couldn't find anywhere in the DLL where it would be labeled this.. I don't know C++ at all really (I can understand the basics/idea behind certain things)
March 10, 2004, 5:28 PM
Kp
Don't know if it will help your problem, but you might have some fortune if you export the names unmangled. Also, why're you building bnetauth.dll if you already have a copy to have tested the Alias "Z" with?
March 10, 2004, 8:36 PM
LoRd
The entry point is just the name of the function within the DLL.
Might also want to know that the public source code for BnetAuth.dll isn't really the source code to the actual public DLL that's used in most bots, it's merely an incomplete compilation of hashing functions from other bots.
March 10, 2004, 8:38 PM
FuzZ
[quote]Don't know if it will help your problem, but you might have some fortune if you export the names unmangled. Also, why're you building bnetauth.dll if you already have a copy to have tested the Alias "Z" with? [/quote]
Because, when I run SmartCheck using the DLL I get an access violation and it crashes the bot.
https://davnit.net/bnet/vL/phpbbs/index.php?board=17;action=display;threadid=5078
And, I've tried just "CheckVersion" as an alias, doesn't work either.

[quote]
The entry point is just the name of the function within the DLL.
Might also want to know that the public source code for BnetAuth.dll isn't really the source code to the actual public DLL, it's merely an incomplete compilation of hashing functions from other bots. [/quote]
Would explain why I couldn't find the function "c" ;P


Oh well, I was just tryin to connect another way so I can debug my bot with SmartCheck. I sent Yoni a PM earlier about a BNLS account, so I'll try that next. Thanks for your help.


<edit>Added other thread link.
March 10, 2004, 8:48 PM
Kp
[quote author=FuzZ link=board=5;threadid=5713;start=0#msg48773 date=1078951713]
Because, when I run SmartCheck using the DLL I get an access violation and it crashes the bot.
https://davnit.net/bnet/vL/phpbbs/index.php?board=17;action=display;threadid=5078
And, I've tried just "CheckVersion" as an alias, doesn't work either.[/quote]

Well, unless you fix bnetauth to export the names unmangled, of course it won't. :) I'd seen (and forgotten about) that other thread; what is SmartCheck? Also, perhaps you should consider disassembling the buggy bnetauth dll and finding why it dies.
March 10, 2004, 8:57 PM
FuzZ
SmartCheck is a debugging tool, it shows you every event that occurs in your program, and the source code to where it occurs.
http://www.compuware.com/products/devpartner/default.htm

Well, I've tried a few other bots sources that were released that use BnetAuth, all seem to get this error when I run SmartCheck.

and i forgot about this thread ;\
March 15, 2004, 8:36 PM

Search