Suppose there is some gaming application that was developed by third-party developers.

I want to make an application that will analyze the chat twitch.tv and create events in the game itself. For example, in Chatika, some kind of voting was launched and following the results of this vote, hordes of enemies were created. There is no problem with parsing the chat, as there is an API .

The only problem is that these games have no external API for interacting with them from the outside.

I had ideas to use the CheatEngine program to find memory areas in the process that store the necessary variables, but as I understand it, in this case I can only change basic indicators (for example, health), and I cannot create new objects. And if you study the memory of the application and try to find designers, then it seems to me that this is impracticable.

In some games there is a great and mighty console, which has the necessary functionals, but another problem arises - the game process freezes when activated. Ie even if I use WinApi to activate the console and drive the command automatically, the broadcast will turn into a slide show with a large number of events.

Maybe someone like this and knows which way to dig?

Maybe you can find a console in the process memory and write and execute commands directly from a third-party process?

On some twitch.tv broadcasts, I’ve seen such an interactive game in games: Skyrim, Fallout 4, Half-Life 2, Darkest dungeon => someone somehow does this, but I didn’t find anything in the public domain.

  • Can dig aside, how to palm off the program mouse / keyboard events? (i.e. emulate user experience) - avp
  • @avp, I thought about it. But then the problem arises that the console will open for a moment and slow down the work of the program itself. - iluxa1810
  • In principle, probably, it would be possible to use the technology that the debugger uses when it priatachatsya to a remote program and suspends its execution, and we can call functions in it and change variables in memory, and then restart the program. But I do not think that this can be successfully done (so that it does not fall off) with someone else's program. - avp

0