IntWars icon indicating copy to clipboard operation
IntWars copied to clipboard

Is this project still alive?

Open LucasCTN opened this issue 10 years ago • 63 comments
trafficstars

I'm getting a lot of trouble by the fact that IntWars can't detect the LoL 4.20 backup that I have, and because of that I can't test neither help the project.

Is this project still alive? It is planned to get support to the newer versions of League of Legends?

LucasCTN avatar May 02 '15 21:05 LucasCTN

The detection is using a registry key, please consult the help subforum on leaguesandbox.net for help on setting ihis project up.

We are planning on supporting the newer versions but we require people that are capable of updating to that version. As of now, no one seems to be able to.

Querijn avatar May 02 '15 23:05 Querijn

Thank you for your answer. I'll search for it.

LucasCTN avatar May 03 '15 00:05 LucasCTN

@Querijn Maybe find someone who knows C++, reverse engineering or packet from L#.

NitroXenon avatar May 18 '15 10:05 NitroXenon

I'm interested in start to learn reverse engineering, to help the project. Anyone have suggestions on how to start?

LucasCTN avatar May 19 '15 02:05 LucasCTN

@Luk3M If you want a first glance about how to find values in memory, I've made a tutorial about how to find zoom value easily, using CheatEngine : http://www.elitepvpers.com/forum/tutorials/1849328-tut-how-code-your-own-zoomhack-your-games-pictures-detailed.html I made it 3 years ago, and I was pretty much a begginer, so it's perfect if you don't know much about game hacking. Actually, this tutorial is a bit confusing, because I didn't realize that the zoom value was a float not an integer.

If you want to learn with more serious materials, I suggest you to learn about assembly, IDA pro, and OllyDBG. Assembly is the language itself, it is important that you understand basic instructions (mov, push, pop and call at least)

For OllyDBG, I suggest you to read those tutorials : http://thelegendofrandom.com/blog/sample-page You'll learn how to trace an application and execute it step by step.

For IDA Pro, I suggest you to watch the reverse of the game "Capitalism 2" : https://www.youtube.com/watch?v=vb18UVF4a_o (You can find IDA 6.6 + HexRays very easily on internet...) IDA is really important to learn because you can reconstruct structures efficiently with HexRays. Structures are important for finding offsets.

Not my say, from here : https://github.com/Spl3en/LoLClientAPI/issues/1

NitroXenon avatar May 19 '15 05:05 NitroXenon

Don't think those basic instructions will help you get started.. You have to know your bitwise operator (at least for the comparisons) and jumps as well. You'd have to know registers and flags as well.

The tutorial might go into them, haven't checked.

Plus, if you want to get into this project specifically, you'd have to find out what the encryption does exactly. Seeing as most experienced engineers stopped with this, I bet it's not that easy or a good start for learning RE.

Querijn avatar May 19 '15 06:05 Querijn

Because it is too difficult, so devs didn't update intwars to 5.9 :P

NitroXenon avatar May 19 '15 06:05 NitroXenon

Thanks everyone for the help. I'll give it a shot. I was already interested in reverse engineering, and help the project would be even better.

LucasCTN avatar May 19 '15 11:05 LucasCTN

Sorry to bump such an old issue. But why is it needed to have experience in RE? It would suffice to get the 4.20 client running. Plus the argument of not having saved enough replays isn't really valid (which I read somewhere), as there are many replays out there which work by having the data saved which came from the server. (LOLReplay makes a difference between SpectatorMode or not, which you can look up in the header of the LRF file, saved as json). I just tested it with a 1.0.0.142 (Really old, didn't even play League back then) Replay, and it worked out fine (after having downloaded an older LOLReplay client, as the new one would try to start it like a spectator).

Fighter19 avatar Apr 03 '16 17:04 Fighter19

@Fighter19

In patch 4.21, Riot added massive obfuscation to packets which cannot be easily reversed, thus the need of skilled reverse engineering.

Your comment about lol replays is somewhat valid, but the thing is it's always easier to be able to capture packets of actions you're specifically doing, so that you know there is a link between them.

But you know, feel free to work on that and make pull requests with new 4.20 packets.

Elyotna avatar Apr 03 '16 18:04 Elyotna

Thank you! I might consider it, however I'm currently busy, so this would have to wait a little. (Just found a full caputre of a 4.1.0.171 game). Hopefully the protocol didn't change too much, if it did, I'd have to continue my search ^^ (How do you apply the blowfish on the packets, btw?, Compiling the dissector for Wireshark?)

Fighter19 avatar Apr 03 '16 18:04 Fighter19

Oh hey Elyotna is still active. I picked up this project a little while ago and have been tinkering with it. Added a bunch more champion skills, but I need to modify the actual server to get stuff working properly. Lots of work ahead :P

But it's nice to see that Elyotna and others haven't jumped ship :)

DarwinAnim8or avatar Apr 03 '16 18:04 DarwinAnim8or

I know, I especially miss healing, as I wanted to write Nidalee's E :D

Fighter19 avatar Apr 03 '16 18:04 Fighter19

I have a version with summoner spells working like Heal, Flash and Ignite. It's from another repo. Maybe you could base your work off of that?

(PS: feel free to add me on skype so we don't spam Elyotna's e-mail. Same username as on here)

DarwinAnim8or avatar Apr 03 '16 18:04 DarwinAnim8or

@DarwinAnim8or

Oh I'm definitely no longer active :D. I just read the comments from time to time. If someone is willing to update the repo to the latest patch I might come back but otherwise, nope :) .

@Fighter19

There were a lot of changes between 4.1 and 4.20. No big one as far as I remember, but all the miscellaneous ones might drive you crazy.

Elyotna avatar Apr 03 '16 19:04 Elyotna

@Elyotna Hello

http://irule.at/talking/about/myself

NitroXenon avatar Apr 04 '16 02:04 NitroXenon

@Elyotna

"I worked on Elyotna's IntWars, a C++ server emulator for League of Legends. After that project was dead due to new encryption methods implemented, I moved to work on private code, in C#. This one was able to beat the new encryption." - Querijn Heijmans

NitroXenon avatar Apr 04 '16 02:04 NitroXenon

@Elyotna It's not impossible for @Querijn to decrypt the packets tho :P

NitroXenon avatar Apr 04 '16 02:04 NitroXenon

@DarwinAnim8or @Fighter19 There are 6 open PRs but no one gonna merge them... Btw I have IDA Pro 6.6 leake version. If you guys want it, feel free to email me.

NitroXenon avatar Apr 04 '16 02:04 NitroXenon

https://github.com/SightstoneOfficial/IntWarsSharp

This is a C# port of IntWars. It's currently maintained by Sightstone. We can add you as a contributor if you want to make some changes or add something.

NitroXenon avatar Apr 04 '16 02:04 NitroXenon

It's private for a reason. I have no intention to share someone else's hard work.

Also hey @Elyotna! Long time no see!

Querijn avatar Apr 04 '16 08:04 Querijn

@Querijn Just a question, no offense. Are you working for Riot now? Is it the reason?

NitroXenon avatar Apr 04 '16 09:04 NitroXenon

Riot encrypts the stuff for a reason. I don't want to encourage hackers or give them a platform to work on. Plus, it's mostly someone else's work, it would be kind of harsh to share it without his consent.

Querijn avatar Apr 04 '16 10:04 Querijn

Riot encrypts packets because they don't want to see some "L#/EloBuddy packet cast" or "Botrk exploit" again?

NitroXenon avatar Apr 04 '16 11:04 NitroXenon

For example. They also don't want a sandbox.

Querijn avatar Apr 04 '16 11:04 Querijn

@Querijn who would this someone be? Of course if he wishes to remain anonymous, that's also fine.

MythicManiac avatar Apr 04 '16 11:04 MythicManiac

He does. You can direct all questions at me, but please keep your discussion on topic.

Querijn avatar Apr 04 '16 11:04 Querijn

@NitroXenon Oh cool. I'll check out the C# version you linked, see if it's better to work with than the C++ version. I mostly use C++ though.

Also about @Querijn and his friend who broke the encryption: First off, awesome job on decrypting it. Couldn't have been easy.

Secondly, if you don't want to share it, that's fine. I (personally) understand your reasons, and I don't really care much about emulating the newer versions of League. I picked this up because it's easily moddable plus it's a bit nostalgic with the old Rift.

DarwinAnim8or avatar Apr 04 '16 11:04 DarwinAnim8or

I suggest supporting Defense of the Legends, http://defenseofthelegends.tumblr.com/aboutmod. It protects League, while also allowing you to do what you want. See if you can support him in any way.

Querijn avatar Apr 04 '16 11:04 Querijn

@DarwinAnim8or I hope there is a emulator for newer versions of League although it's not possible. But I want the 4.20 one be functionable first.

NitroXenon avatar Apr 04 '16 11:04 NitroXenon