shadowgrind

How doe the APIs work under the hood?

Recommended Posts

Hey there.

 

I once wrote a stat'ing tool for Marvel Heroes (similar to that one that you can now download in the overwolf addon library) but was not able to figure out another (easy) way then reading the Game's memory. As we all know this is a banable action for online game admins because many bots do use exactly this method. 

 

Now I just found out that overwolf serves a small API for the plugins that run within.

 

And of course now I am asking my self how overwolf under the hood is able to serve such an api that for example catches events [...].

 

I could not seem to find a API buildin within Marvel Heroes to get information from... So:

Could someone please explain this to me? Does overwolf use memory reading or DLL injection or paket analytics or something to serve a API for games that do not implement one them self? 

 

Friendly regards

Share this post


Link to post
Share on other sites

Could you be more precise? I cannot be finding anything containing this keywords according to Marvel Heroes. I am not even sure what shared memory means. I read something about realtime updated (memory) files that contain data that can be read from external programs. Is this what you mean by that?

Share this post


Link to post
Share on other sites

If you look at documentation then you can see that games from this competition have API made by Overwolf.

My assumption would be that they collaborated with game develoipers (which also are the sponsors) and used some kind of API provided by mentioned developers.

 

But that would be just me.

Share this post


Link to post
Share on other sites

If you look at documentation then you can see that games from this competition have API made by Overwolf.

 

Yes and this is just the reason why I opened that thread. I want to know how these overwolf APIs are created if there are no APIs that are served by the games (whats the case for marvel heroes. MH does not serve any API. But overwolf does. How can this be?).

 

 

 

My assumption would be that they collaborated with game develoipers (which also are the sponsors) and used some kind of API provided by mentioned developers.

 

If so, there would be a hidden API (again in case of marvel heroes). Why should game devs implement a API and then keep it secrete to public? I don't think this makes any sense at all.

Share this post


Link to post
Share on other sites

Yes and this is just the reason why I opened that thread. I want to know how these overwolf APIs are created if there are no APIs that are served by the games (whats the case for marvel heroes. MH does not serve any API. But overwolf does. How can this be?).

 

 

If so, there would be a hidden API (again in case of marvel heroes). Why should game devs implement a API and then keep it secrete to public? I don't think this makes any sense at all.

 

If you take a look at the app "replay HUD" it detects (for a few games) if you died and triggers an app event from that.

So there is a way for overwolf to react on ingame-changes, propably through reading from game-files / logs.

 

The app "Lol countertips" for example detects the current summoner thorugh reading some log-files the game creates.

 

M< assumption would be that the other APIs most likely work similarily and the devs just point overwolf`s devs to the files they need to work with instead of implementing an own API (which otherwise as you already figured certainly would be puplicly announced since it wouldnt make sense otherwise)

Share this post


Link to post
Share on other sites

Hi shadowgrind, 

The games listed here (Marvel Heroes is one of them) identified interesting events (e.g. a match has started, the player earned gold, an achievement had been won etc.), and updated a line of code that is sent through Overwolf to the Overwolf apps.
 

This can be done with the Overwolf event SDK.

 


 


 

Share this post


Link to post
Share on other sites

Hi shadowgrind, 

The games listed here (Marvel Heroes is one of them) identified interesting events (e.g. a match has started, the player earned gold, an achievement had been won etc.), and updated a line of code that is sent through Overwolf to the Overwolf apps.

 

This can be done with the Overwolf event SDK.

 

 

 

I think his question is more how you identify those events rather than what is triggered when you do find such event

Share this post


Link to post
Share on other sites

I think his question is more how you identify those events rather than what is triggered when you do find such event

We don't identify those events (in these specific games), the game developer decides which interesting events he wants to share with Overwolf and puts the provided code line in the right place.

In other games (like LoL) we detect specific events by using image recognition. 

Share this post


Link to post
Share on other sites

Thats right. As Bob sayed the first reply did not answer my question. The second one is in the right drection. Thanks for that.

 

But could you be more precise? What exactly do you mean by that according to MH?

 

 

 

the game developer decides which interesting events he wants to share with Overwolf and puts the provided code line in the right place

 

So: This means indeed there is a hidden API in marvel heroes (as concrete example) that is only shared with overwolf in specil but is not open for the public domain? 

 

Does overwolf poll information from Marvel Heroes or does MH send informatio that can be read by other applications (like overwolf)?

Share this post


Link to post
Share on other sites

Thats right. As Bob sayed the first reply did not answer my question. The second one is in the right drection. Thanks for that.

 

But could you be more precise? What exactly do you mean by that according to MH?

 

 

So: This means indeed there is a hidden API in marvel heroes (as concrete example) that is only shared with overwolf in specil but is not open for the public domain? 

 

Does overwolf poll information from Marvel Heroes or does MH send informatio that can be read by other applications (like overwolf)?

You can always ask game dev team to share the API with the public

Share this post


Link to post
Share on other sites

Hi shadowgrind, 

The games listed here (Marvel Heroes is one of them) identified interesting events (e.g. a match has started, the player earned gold, an achievement had been won etc.), and updated a line of code that is sent through Overwolf to the Overwolf apps.

 

This can be done with the Overwolf event SDK.

 

 

 

 

Isn't this the answer?

As I understand it, the game-developers cooperating with overwolf implement the overwolf event SDK and overwolf listens for those events, no?

Share this post


Link to post
Share on other sites

You really think this is a overwolf dedicated thing?

 

Don't you think this will be more generic so that every custom C++ program could observe the events (if there are some) that are fired by the game?

 

And no this is not the answer because I still got no code or concrete implementation and that is what I asked for.

Share this post


Link to post
Share on other sites

You really think this is a overwolf dedicated thing?

 

Don't you think this will be more generic so that every custom C++ program could observe the events (if there are some) that are fired by the game?

 

And no this is not the answer because I still got no code or concrete implementation and that is what I asked for.

 

Since im not familiar with C/C#/C++ I don't know HOW the overwolf client listens to the events created through the sdk but it should be clear by now that they DO listen to those events explicitly created with the overwolf events-sdk. So yes, I think for the game-events served to the overwolf-API Im pretty sure its an overwolf dedicated thing.

 

You might be able to listen to those events with custom programms too, but again: i don't know how that works within C-whatever

Edited by Colorfulstan

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now