Valhalla Legends Forums Archive | C/C++ Programming | Re: Standard bnet header file

AuthorMessageTime
Arta
Who thinks this would be a good idea?

I'm thinking this: There are people (some) who are becoming good programmers but for whom reverse engineering functions from the game (specifically, HashData() and CheckRevision()) is beyond their means. I remember myself being in this position some time ago and am therefore confident in this analysis :)

Who thinks that a Battle.net library (C++) would be a good idea? Offering HashData(), CheckRevision(), and perhaps some other useful functions that people can suggest, and offering it for download from BnetDocs? Who, on the other hand, thinks that this would just give rise to more idiotic code-copiers who don't care about learning and don't understand what they're doing?

I have a certain suspicion that offering a C++ library might be good - most newbies don't know C++. Most use VB. Those who really care and have a passion for programming (and perhaps bot development) might learn C++ in order to take advantage of such a download - even if they just translate it to VB.

Opinions?
December 7, 2003, 4:40 AM
Kp
This is largely what the so-called bnetauth.dll is, as I recall. The only advantage I can see to your suggestion would be if it was done in such a way that it benefited non-Win32 users in addition to or instead of Win32 users.
December 7, 2003, 6:55 AM
MoNksBaNe_Agahnim
ya, i don't use win32 currently so if it benifited those types of people that would rock, I like your suggestion
December 7, 2003, 7:17 AM
zorm
My feelings are that there is a lot of public/leaked/whatever code from NBBot/DMBot/whatever else that if they have some idea of what they are doing can be plugged into a bot to make it work. I think a guide on reverse engineering those functions would be a better help to those who really want to learn. Things like finding the function, converting it to C/C++, and then if possible improving on the function.
December 7, 2003, 7:21 AM
Arta
[quote author=Kp link=board=30;threadid=4125;start=0#msg34092 date=1070780111]
This is largely what the so-called bnetauth.dll is, as I recall. The only advantage I can see to your suggestion would be if it was done in such a way that it benefited non-Win32 users in addition to or instead of Win32 users.
[/quote]

I was thinking of a .h/.cpp, rather than a DLL.

[quote]
I think a guide on reverse engineering those functions would be a better help
[/quote]

Care to write one? :P
December 7, 2003, 4:10 PM
DarkMinion
This stinks of a C++ version of CSB
December 7, 2003, 6:56 PM
UserLoser.
[quote author=Zorm link=board=30;threadid=4125;start=0#msg34096 date=1070781709]
My feelings are that there is a lot of public/leaked/whatever code from NBBot/DMBot/whatever else that if they have some idea of what they are doing can be plugged into a bot to make it work. I think a guide on reverse engineering those functions would be a better help to those who really want to learn. Things like finding the function, converting it to C/C++, and then if possible improving on the function.
[/quote]


I really want to learn, and away with BNLS :P
December 7, 2003, 7:19 PM
Skywing
You can think of BNLS as a convenient multiplatform library for Battle.net-related things.
December 7, 2003, 7:24 PM
zorm
[quote author=Skywing link=board=30;threadid=4125;start=0#msg34149 date=1070825090]
You can think of BNLS as a convenient multiplatform library for Battle.net-related things.
[/quote]

Except for you don't hand out server binaries so users are subject to rage of people with trojan networks.
December 7, 2003, 7:40 PM
taylorjonl
I like this idea and would be willing to contribute to this project. I have been programming C/C++ for years but am just getting into reverse engineering. Would be a great learning experience. Just let me know.
December 20, 2003, 4:17 PM
UserLoser.
I think it'd be a great idea. Myself, I would like to start programming in C++ more than VB. Also, i'm starting to learn ASM/reverse engineering.. I have played around with Battle.snp, and so far I've found a lot of functions that are those public functions out there (DecodeCDkey/DecodeStarcraftCDKey/DecodeD2CDKey/calchashbuf/CheckRevision) along with 0x51-57 parsing in Battle.snp and a little bit more ;)
December 20, 2003, 9:07 PM
Spht
[quote author=UserLoser. link=board=30;threadid=4125;start=0#msg36504 date=1071954469]
I have played around with Battle.snp, and so far I've found a lot of functions that are those public functions out there (DecodeCDkey/DecodeStarcraftCDKey/DecodeD2CDKey/calchashbuf/CheckRevision) along with 0x51-57 parsing in Battle.snp and a little bit more ;)
[/quote]

It's much easier to find where a function is than knowing what it's doing...
December 20, 2003, 11:34 PM
UserLoser.
[quote author=Spht link=board=30;threadid=4125;start=0#msg36533 date=1071963252]
[quote author=UserLoser. link=board=30;threadid=4125;start=0#msg36504 date=1071954469]
I have played around with Battle.snp, and so far I've found a lot of functions that are those public functions out there (DecodeCDkey/DecodeStarcraftCDKey/DecodeD2CDKey/calchashbuf/CheckRevision) along with 0x51-57 parsing in Battle.snp and a little bit more ;)
[/quote]

It's much easier to find where a function is than knowing what it's doing...
[/quote]

Yes i know that... I hardly understand anything in ASM but atleast i can recognize what is what.. Atleast i'm trying, and atleast im trying to learn my self. Everything starts somewhere
December 20, 2003, 11:45 PM
iago
I went into battle.snp not knowing what cdkey decoding meant, anything about how checkrevision or hashing worked, and now I know (to an extent). But I DID know the structure of the packet beforehand, and what each packet did, so that helped a lot.
December 21, 2003, 1:43 PM
UserLoser.
What i can do to help me learn is compare findings in battle.snp to the code i have in C++, then see how you can convert ASM to C++, and maybe, erm, VB.
December 21, 2003, 11:00 PM

Search