• Welcome to Valhalla Legends Archive.
 

Re: Standard bnet header file

Started by Arta, December 06, 2003, 10:40 PM

Previous topic - Next topic

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?

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.
[19:20:23] (BotNet) <[vL]Kp> Any idiot can make a bot with CSB, and many do!

MoNksBaNe_Agahnim

ya, i don't use win32 currently so if it benifited those types of people that would rock, I like your suggestion

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.
"Now, gentlemen, let us do something today which the world make talk of hereafter."
- Admiral Lord Collingwood

Arta

Quote from: Kp on December 07, 2003, 12:55 AM
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.

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

Care to write one? :P

DarkMinion

This stinks of a C++ version of CSB

UserLoser.

Quote from: Zorm on December 07, 2003, 01:21 AM
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.


I really want to learn, and away with BNLS :P

Skywing

You can think of BNLS as a convenient multiplatform library for Battle.net-related things.

Zorm

Quote from: Skywing on December 07, 2003, 01:24 PM
You can think of BNLS as a convenient multiplatform library for Battle.net-related things.

Except for you don't hand out server binaries so users are subject to rage of people with trojan networks.
"Now, gentlemen, let us do something today which the world make talk of hereafter."
- Admiral Lord Collingwood

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.

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 ;)

Spht

Quote from: UserLoser. on December 20, 2003, 03:07 PM
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 ;)

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

UserLoser.

Quote from: Spht on December 20, 2003, 05:34 PM
Quote from: UserLoser. on December 20, 2003, 03:07 PM
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 ;)

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

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

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.
This'll make an interesting test for broken AV:
QuoteX5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*


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.