Injectowanie kodu pythona

0

yo,
Pytanie do wyjadaczy c++ :D
Potrzebuje wyciagnac moduly z gry i do tego celu mam maly skrypt w pythonie:

def get_modules():
modules = sys.modules.keys()
return modules
Do gierki injectuje dll z reversed funkcjami typu speedhacki itp a powyzsze moduly sa mi potrzebne do dalszego rozwijania dll'ki. Ogolnie to moglbym rowniez napisac pare rzeczy w czystym pythonie ale pozniej i tak musze to jakos wstrzyknac w proces. Wiem, ze c++ ma modul do egzekwowania kodu z pythona, ale mimo wszystko wole dopytac bardziej doswiadczonych :)

0

Zupełnie nie wiem, na czym polega injectowanie do gier.

C API Pytnona jest OK i jest dobrze udokumentowane. Widzę, że tytuł zmieniony na C I C++, ale to API w stylu C.
https://docs.python.org/3/extending/index.html

Lat temu kilka była integracja boost python, używało się idiomatycznego C++ - obawiam się że nie rozwijana i nie zaktualizowana do Pyhona 3. Działało to z 2.x
Od miliona lat nie używałem, powyżej v.1.7 Python się utuczył i przestał być użyteczny jako embedded language

2

Że C++ ma jakieś biblioteki umożliwiające odpalenie pythona to jedno, ale przecież to ta twoja gra musiałaby mieć support do czegoś takiego, albo musiałbyś to wpakować do tej DLLki. No i raczej naiwne myśleć że takie odpalanie pythona w dziwny sposób ładuje moduły tak jak zwykły interpreter i daje dostęp do wszystkich modułów.
Chyba ze czegoś nie rozumiem i tak gra jest w pythonie? To po co wtedy dllki jakieś? o_O

1

@AnyKtokolwiek: https://www.boost.org/doc/libs/1_75_0/libs/python/doc/html/index.html Boost.Python jak najbardziej żyje i działa z Pythonem3, osobiście używałem z 3.8 parę miesięcy temu i nie było z nim żadnych problemów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1