Not the 5x5 Rubik's Cube!
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Show posts MenuQuote from: Hdx on October 22, 2009, 08:29 PMOdd, didn't think anyone used REALBasic anymore. But if there are any particular aspects of things that you don't understand, ask specific questions, not general ones. Also posting your attempt at converting, and your results/test code would help.Yeah, not many people do use REALbasic. As I said, many dislike it and for good reason; even I dislike it at times.
for (short i = 11; i >= 0; i--) {
c = cdkey.charAt(seq[i]);
if (c <= '7') {
c ^= (byte) (hashkey & 7);
hashkey >>>= 3;
} else c ^= (byte)(i & 1);
key[i] = (char)c;
}
Here is my understanding of this code:Quote from: Hdx on October 22, 2009, 08:29 PMThat is actually not a valid test. You are not testing the speed of the languages, you are testing the speed of specific implementations. I am pretty sure that SB does about 10x more things then your bot does when it receives a chat event.This is how my socket receives its data, in a way that won't ever jumble up a packet and get packet read errors.
It add chats which triggers a change event which re-evaluates the entire RTB for color codes (rather dumb..) it fires off and waits for scripting events to finish, it queues up the raw packets for its logger, it ... you get my point. If you were to strip out all the extra stuff SB does, it'd probably be just as fast, if not the differences would be minute, as your code. But thats neither here not there so meh.
Quote from: Hdx on October 22, 2009, 08:29 PMWhat aspect of the shuffle has you stumped?1. I explained that above.
I'll see if I can dig out my 'super clean' version of the cdkey decoding (I made it to make things easier to understand), but I forgot where i put it.
But what I would do is not even do the decoding while connected to battle.net
Get a program that you know decodes cdkeys properly, BNCSUtil.dll does a good job
And just start comparing outputs.
EA:
Write a VB6 app that uses BNCSUtill.dll, and does nothing put print out the public private and product values of a cdkey.
Then Output those values from your program, if they match up, it means you did it correctly and will not get IP banned from bnet.
99% of everything about battle.net can be tested OFFLINE with no risks of getting IPBanned.
Quote from: Hdx on October 21, 2009, 08:21 AMThis didn't make sense until someone else in a different topic said there was 3 DWORD's in a CD-Key. Now it makes sense. But now I'm confused on why the newer CD-Keys have 26 characters and not 12, and why the older CD-Keys have 13 characters instead of 12.
Cdkeys that you see on your CD case are in an 'encoded' format. When you decode them they turn into 3 different values, Public, Private and Product. These three values are used in verifying that the cdkey is lagitimate.
If you take a look Here you will see that for the old 13 digit SC cdkeys, the digits are shuffled around a bit, and then after the shuffle you simply extract the 3 values using SubStr() (Mid() if you're using VB6)
Its actually not that difficult to understand, all of the decoding functions are basically the same, except for where exactly they take the valus from the result, and a few index changes.
Quote from: Camel on October 21, 2009, 01:51 PMThank you for this bit of information. You just made things a lot easier for me (I'm confused on how CD-Key hashing works). I now have new insight on how to input CD-Key's.
The CD key is just 3 DWORDs encoded in to a form a human can type.
Quote from: Purri on October 14, 2009, 07:10 PMSite* A side is a location, a site is short for website; also known as a location on the internet that can be browsed with a web browser.
Hey i dont wanna any help like i said, i know that side and i have build all packets with that side help. :s
Quote from: Jailout2000 on October 14, 2009, 06:04 PMI already guessed that you have probably already used the website, most people do when they are doing anything with Battle.net's packets. If you don't want any help, then I don't see why I should review your bot, because reviewing your bot and critiquing it is helping you.
you would familiarize yourself (if you haven't already)
Quote from: nitroxsbnetdocs is fine. (except for the "Download BNETDocs as Text" feature which is missing a lot of packets)The download BnetDocs as text feature is a caching system.
Quote from: nitroxs on August 31, 2009, 04:55 PMIf bnetdocs is the problem, you can tell me which packets need to be updated. I have full privileges there, including database, so I can change almost anything there. Tell me which packets don't use Little-endian for everything, and I can note it in the description.
2. Add the field to the tree.
-- root is the tree object sent by wireshar to the dissector entry point (dis.dissector)
-- buf is the buffer object sent by wireshar to the dissector entry point (dis.dissector)
-- This adds a field in little endian byte order associated with the given range of the buffer
root:add_le(field, buf(offset, len)
-- This adds a field in little endian byte order associated with the given range of the buffer
root:add_le(field, buf(offset, len))
-- This adds a field in big endian byte order associated with the given range of the buffer
root:add(field, buf(offset, len))
Conclusion: the problem is that dissect_packet function adds every field as little endian because I guessed that wuold be the most frequent order use in the packets and there is yet no way to tell from the packet descriptions what order to use.
WProtoField.uint32("","Event ID",base.HEX, {
[0x01] = "EID_USERSHOW",
[0x02] = "EID_USERJOIN",
[0x03] = "EID_USERLEAVE",
[0x04] = "EID_WHISPERRECEIVED",
[0x06] = "EID_BROADCAST",
[0x05] = "EID_USERTALK",
[0x07] = "EID_CHANNEL",
[0x09] = "EID_USERUPDATE",
[0x0A] = "EID_WHISPERSENT",
[0x0D] = "EID_CHANNELFULL",
[0x0E] = "EID_CHANNELDOESNOTEXIST",
[0x0F] = "EID_CHANNELRESTRICTED",
[0x12] = "EID_INFO",
[0x13] = "EID_ERROR",
[0x17] = "EID_EMOTE",
}),
Page created in 0.275 seconds with 16 queries.