Hacker News new | past | comments | ask | show | jobs | submit login

It's really interesting to see all of this visualized. I used to do a subset of these things when I used to reverse engineer games. Reverse engineering all the object structures, injecting a DLL, pointing at those objects and then exposing them via lua or angelscript. Maybe making an interactive REPL like thing so I could play around with things.

I wonder if instead of binding to lua/angelscript, you could instead somehow expose the reverse engineered objects and such to this system to get a nice customizable/programmable UI.

I have 0 understanding of how this system functions at the implementation level, as in how much it relies on the underlying language/runtime/whatever. I know very little about Pharo or how it's actually implemented, just that it's inspired(?) by smalltalk (which I also know very little about). But it looks really cool and makes me excited thinking about the different possibilities that it could potentially open.




You can already connect Glamorous Toolkit to JS and Python to work with objects exposed by their runtimes :)


That's a different use case, where you have access to the source. I'm more thinking for exploring memory objects of games (that we don't have the source access too) to visualize the relationship between the objects in the game and help teach reverse engineering and memory models.

A lot of (some?)people are interested in modding games (with no mod support), but have no understanding of C/C++ or memory models. Trying to explain the levels of indirection of all the objects is difficult without visualization.

Are you the author? Where does the connection to the JS/Python runtimes happen? I looked through the github repos, but I am _very_ far out of my depth. I wanted to see what the API looked like, maybe it's something that could be implemented fairly easily.


Indeed, I am one of the authors :).

The connection to other runtimes happens through an instantiating of a more generic proxy model. The same mechanism also enables us to connect with debugging interfaces as well. So, if you have a way to get the memory layout from a runtime, it should certainly be possible to play with it in GT.


Wow, I love the idea of using GT for reverse engineering. That would’ve been life-changing for my last experience, where I worked mostly in a hex editor. The context switching and slow feedback cycle were brutal. Documenting my growing understanding/implementation with live custom visualizations would’ve been awesome. Unfortunately, that was twenty years before I discovered GT!


Can you post a link to the docs regarding python? it isn't listen on the docs and this very comment comes in third place after the google search.

Docs link: https://gtoolkit.com/docs/




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: