0
\$\begingroup\$

I would like to write a small software which will hook into the League of Legends client and record my performances and store them locally, because Riot only stores last 10 matches. Is there some way through which I can trigger an event when I finish a game ? For those who know, I would like it to work similarly to League Recorder, but it will record only your final stats (KDA, Gold, Creep Score, etc.). I was thinking of searching for the client in the process list, and doing some checks by getting the last 10 matches, but I don't know of any way to see which user is logged in and how to download the history. I'm currently not bound to any languages, and I can work in C++/C#/Java.

\$\endgroup\$
3
  • 1
    \$\begingroup\$ Reverse-engineering a binary executable can be a very difficult task. You would need to learn how to read assembler to do this. But a far better attack vector might be to reverse-engineer the netcode. You can use Wireshark to log the network traffic, find out how the events you are looking for are transmitted in the netcode and then build a sniffing tool with winpcap \$\endgroup\$
    – Philipp
    Commented Oct 3, 2013 at 19:31
  • \$\begingroup\$ I don't think game developers could better tell you how to hook into an executable than any other developers. \$\endgroup\$
    – House
    Commented Oct 3, 2013 at 23:33
  • \$\begingroup\$ I would go for using wireshard to see the network traffic. It wouldn't surprise me if LOL uses webservices for post-game stats etc. The LOL launcher (lobby, shop, etc) seems to be nothing more then a browser like application. \$\endgroup\$
    – Thomas
    Commented Oct 4, 2013 at 7:50

1 Answer 1

0
\$\begingroup\$

I don't know much about how league if written, but you could always gather the information from the Launcher since it records the last 10 games, and you just record every one after that. Once you gather the information you need you can organize it into a table and average it out etc.

Since Leagues Client uses Adobe Air, you could really just create a script in a simple Memory Editor like Cheat Engine and Gather the information like that.

The above approach is certainly against Leagues EULA, so while it is available be aware that you risk getting banned

I don't know much programming other than java, but I'm sure if you wanted you could poll the information from Lolking using HTTP connections in java and reading the website

\$\endgroup\$
3
  • \$\begingroup\$ The safest way to do this is scraping lolking or lolnexus like @loligans suggested. It'd also be easier than properly reading lol's memory. Riot also has a bit of an iffy stance on memory reading. Technically, it is against the EULA and could get you banned. However, lolrecorder has been available and working for a long time. \$\endgroup\$ Commented Oct 3, 2013 at 21:41
  • \$\begingroup\$ Thanks for that, I wasn't even thinking about legalities \$\endgroup\$
    – Loligans
    Commented Oct 3, 2013 at 22:38
  • \$\begingroup\$ Thank you. I think I'll go the safe way and poll some site like LolNexus. \$\endgroup\$
    – mmimaa
    Commented Oct 4, 2013 at 3:33

Not the answer you're looking for? Browse other questions tagged .