Jump to content

Cypherjb

Members
  • Posts

    30
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Cypherjb's Achievements

Advanced Member

Advanced Member (3/3)

0

Reputation

  1. "Its basically windows XP with the interface features of Vista and some of the security features." Your ignorance astounds me... On another note, I currently have the x64 Beta installed in VMWare and am relatively impressed with it though I will likely be using Windows Server 2008 R2 when it comes out (which should be at the same time as W7). If you're interested in a dedicated Windows box for Mangos I highly recommend the Windows Server family of OS's, I'm using Server 2008 on my desktop, laptop, and server and am highly impressed with it. I wouldn't suggest installing Windows 7 as a primary OS currently though. Dual booting is fine, but the beta build is way too unstable to be considered usable as a primary OS. The x64 build is worse than the x86 one in terms of stability (for the beta that is.. in general I've found x64 to be much more stable than x86 on my 3 PCs).
  2. You're totally clueless, please do some research before throwing around information you pulled from your ass. I cite 'Sega v. Accolade': "Where disassembly is the only way to gain access to the ideas and functional elements embodied in a copyrighted computer program and where there is a legitimate reason for seeking such access, disassembly is a fair use of the copyrighted work, as a matter of law" Reverse engineering for the purposes of interoperability is considered lawful in most (if not all) US states/regions/etc. Because none of the Mangos project infringes on patent/copyright/trademark laws there is no issue with the legality of the project. Distributing map/dbc/etc files would be illegal, the legality of distributing SQL dumps with quest/npc/etc spawns is highly questionable. The legality of the mangos project itself though is perfectly clear, no rights of Blizzard are being infringed upon, and reverse engineering the World of Warcraft client is a perfectly legal process because it is being done to discover information about proprietary file formats or network protocols. As a side note, here are some quotes from the Chilling Effects FAQ on Reverse Engineering (site seems to be down currently): Disclaimer: I am NOTE a lawyer and none of the above constitutes legal advice. I am a student and casual freelance software developer. One thing to note is that although I am NOT a lawyer by trade I have consulted a lawyer for multiple projects that required reverse engineering, if you are doubtful about the legality of your specific project I suggest you do the same.
  3. Thanks. This one isn't just a sniffer though, I have the ability to craft my own packets and send them to the server too. Dunno how useful that kind of functionality is to server devs. Also, I'm currently adding XML support so I can describe packets and dump them out in a nicer format. EDIT: Forgot to add, this runs inside WoW.exe because I like being able to use a D3D UI when testing stuff.
  4. Do you listen? The client doesn't read the DBC files from the server, it uses local ones that CANNOT BE OVERRIDDEN FROM THE SERVER, there are client side restrictions, so doing what you want is impossible.
  5. I believe faction info is stored in DBC files, so you're require an MPQ edit to modify stuff like that. You can add custom reputations and spoof stuff like that on the client side with DBC edits.With a "modified client" (DBC files) you could add modified reputation functionality, but otherwise you will be limited by the static data in the DBCs.
  6. Hey, I just finished my packet logger (HUUUGE thanks to you guys for your work, I snagged your Opcode enum ) and was wondering if the logs are useful at all to the devs? Or any opcodes in particular for that matter. Sample output: [20:15:20]: CNetClient::SendMessage: (Opcode - 0x0391 CMSG_TIME_SYNC_RESP) (Size - 12). [20:15:20]: CNetClient::SendMessage: (Data - Hex) 91 03 00 00 08 00 00 00 FB BF [20:15:20]: CNetClient::SendMessage: (Data - Hex) D8 06 [20:15:20]: CNetClient::SendMessage: (Data - ASCII) .......... [20:15:20]: CNetClient::SendMessage: (Data - ASCII) .. [20:15:23]: CNetClient::GetNetStats: (BandwidthIn - 1.24015) (BandwidthOut - 0.0193766) (Latency - 909). [20:15:25]: CNetClient::ProcessMessage: (Timestamp - 114873202) (Opcode - 0x00DD SMSG_MONSTER_MOVE) (Size - 58). [20:15:25]: CNetClient::ProcessMessage: (Data - Hex) DD 00 DB B6 6F F7 76 30 F1 BB [20:15:25]: CNetClient::ProcessMessage: (Data - Hex) C2 E1 45 11 06 28 C5 79 38 3B [20:15:25]: CNetClient::ProcessMessage: (Data - Hex) 44 31 FF 17 07 00 00 01 00 00 [20:15:25]: CNetClient::ProcessMessage: (Data - Hex) 08 06 00 00 03 00 00 00 90 A5 [20:15:25]: CNetClient::ProcessMessage: (Data - Hex) E1 45 8A E5 26 C5 79 A0 3B 44 [20:15:25]: CNetClient::ProcessMessage: (Data - Hex) FE 27 80 FF 02 80 FF FE [20:15:25]: CNetClient::ProcessMessage: (Data - ASCII) ....o.v0.. [20:15:25]: CNetClient::ProcessMessage: (Data - ASCII) ..E..(.y8; [20:15:25]: CNetClient::ProcessMessage: (Data - ASCII) D1........ [20:15:25]: CNetClient::ProcessMessage: (Data - ASCII) .......... [20:15:25]: CNetClient::ProcessMessage: (Data - ASCII) .E..&.y.;D [20:15:25]: CNetClient::ProcessMessage: (Data - ASCII) .'...... [20:15:26]: CNetClient::ProcessMessage: (Timestamp - 114873565) (Opcode - 0x0496 SMSG_AURA_UPDATE) (Size - 17). [20:15:26]: CNetClient::ProcessMessage: (Data - Hex) 96 04 DB 4D 44 AF 75 30 F1 00 [20:15:26]: CNetClient::ProcessMessage: (Data - Hex) C0 DD 00 00 19 50 00 [20:15:26]: CNetClient::ProcessMessage: (Data - ASCII) ...MD.u0.. [20:15:26]: CNetClient::ProcessMessage: (Data - ASCII) .....P. Obviously I could change the formatting or filter to just specific opcodes if needed. I get both incoming and outgoing data so thats not a problem either. Just curious if there is any use for any of the data. If not, no worries, I wrote it for one of my own projects anyway. P.S. I realize the team is probably already using packet loggers, what I'm saying is that I can provide quite a lot of data from real-world play on 'retail' servers. I play WoW (retail) a lot so I get craploads of data.
  7. Mind detailing the client restrictions? You've got me curious.
  8. What you're referring to is a format specifier for c-style strings. Its used in the standard C library io functions such as printf/sprintf/etc. The C++ way to add an int/float/whatever to a 'string' (a C++ style string) would be using stringstreams.
  9. Some pointers for you: [14:45:20]: 0x011CA274 -> CNetClient__ClassPtr [14:45:20]: 0x011779A4 -> CInputControl__ClassPtr [14:45:20]: 0x012DAD10 -> CGameTime__TimePtr [14:45:20]: 0x012EA520 -> TextSegStartPtr [14:45:20]: 0x012EA524 -> TextSegEndPtr /me is an asshole /me waits patiently to see first of all if anyone 'gets it', second of all if anyone can link a certain comic that depicts this exact situation PS. Bonus: Those pointers are real and valid. (WoW.exe v3.0.3 Retail)
  10. Well, despite this being an open source project I highly doubt server admins would protest to having WardenClient.dll supplied without source. Just make it a seperate project, an optional component that is closed source and supplied with a core patch to enable support for it. Thats not difficult at all, it would only really conflict with the "spirit" or "essence" of the project, although in my opinion security should sometimes trump those things if obscurity is the only option. The actual work lies in reversing what I would call one of the most 'complex' parts of WoW. PS. A friend of mine (Kynox) DID work hard for a long time and reverse pretty much all of Wardens code. He can connect to live servers and emulate a full dummy session including Warden requests and responses. After seeing most of the code for that and full dumps of what warden is doing I can tell you there is a LOT of work involved, far far far more than your average packet reversing session.
  11. I'm gonna go ahead and assume you don't understand the magnitude of work that would entail. Thats far from the only problem.
  12. Isn't it actually an old stat that has been reintroduced? I swear there used to be a stat called "spell power" aaages ago.
  13. Quick bump. Probably gonna be working on a private server hack soon so I'll probably post my findings in the process if anyone is interested? I'll try and find suggested fixes too.
  14. Showing existence? Sure. Here's a pic of me testing some stuff (3.0.2 - Retail Servers): [EDIT: DO NOT POST INGAME SCREENSHOTS] You said the maximum angle in the client is 57 degrees which is incorrect, I was just pointing that out. Whats calculated on the server is a different story. And here's some proof for you (from 3.0.2): .rdata:0096F640 CGlobals__MaxPlayerClimbAngle dd 6.4278764e-1 ; DATA XREF: sub_68F350r .rdata:0096F640 ; sub_68F380:loc_68F3A0r ... .rdata:0096F668 CGlobals__MaxNpcClimbAngle dd 1.7364818e-1 ; DATA XREF: sub_68F380+Fr .rdata:0096F668 ; sub_68F5B0+31r ... Take the inverse cosine of those floats to get the angle.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use