Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rinlovesyou/il2cpp
https://github.com/rinlovesyou/il2cpp
Last synced: 11 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/rinlovesyou/il2cpp
- Owner: RinLovesYou
- License: gpl-2.0
- Created: 2022-07-06T20:02:45.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-11-13T00:01:12.000Z (almost 2 years ago)
- Last Synced: 2024-10-11T09:58:37.331Z (28 days ago)
- Language: C
- Size: 66.4 KB
- Stars: 4
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# A wrapper around il2cpp
[Support Server](https://discord.gg/zgzkyGvTS8) (discord)
## Quickstart
First of all, quite importantly, this wrapper makes some assumptions about your environment. It assumes that the current golang binary is a c-shared library
injected into a Unity process built using il2cpp. It also assumes that the initialization process has gone far enough for all assemblies to be loaded.This wrapper updates as my GoMod project evolves, which you can get in the support server above.
Here is a simple example fetching some metadata about images/classes/methods/properties/fields
```go
package mainimport (
"github.com/RinLovesYou/il2cpp"
"fmt"
)func init() {
domain := il2cpp.GetDomain()
domain.AttachThread()for _, image := range domain.GetImages() {
utils.Log("Image: %s", image.GetName())for _, class := range image.GetClasses() {
utils.Log("Class: %s", class.GetName())for _, method := range class.GetMethods() {
utils.Log("Method: %s", method.GetName())
utils.Log("ReturnType: %s", method.GetReturnType().GetName())
for _, param := range method.GetParams() {
utils.Log("Param: %s", param.GetName())
}
}for _, property := range class.GetProperties() {
utils.Log("Property: %s", property.GetName())
utils.Log("ReturnType: %s", property.GetGet().GetReturnType().GetName())
}for _, field := range class.GetFields() {
utils.Log("Field: %s", field.GetName())
}}
}
}func main() {
}
```
You can compile this using `go build --buildmode=c-shared -o GoMod.dll .`