Skip to content

WIP: Automatically reverse engineer and generate classes for RPC services from a GWT app.

Notifications You must be signed in to change notification settings

Vexcited/gwtrpc2code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gwtrpc2code

Work in progress, please come back later!

A simple tool that extracts information from GWT-RPC applications, such as the GWT version, globals, internal functions, and methods with their types and parameters and will generate code that can be used to call those methods.

The goal is to provide a way to understand and interact with GWT-RPC applications without needing to reverse engineer the code manually.

Roadmap

  • Extract GWT version with module strong name
  • Extract globals
  • Extract internal functions and map to their real names, even when obfuscated
  • Extract _Proxy and helper classes
  • Extract methods and their types with parameters
    • Find where methods are created
    • Extract their types
    • Extract their parameters (whether is a constant or a function argument)
    • Support String, Integer, Boolean, int, boolean
    • Support generic types like List<String>, Map<String, Integer>, etc.
    • Support custom types (with structure extraction like MyType { String name; Integer age; })

Supported Versions

  • 2.5.1
  • 2.10.0

A few versions were tested but I try to keep the code compatible as much as possible

Usage

Since it's a work in progress, there's a small CLI that can run a debug version of a GWT app. It should log the extracted information to the console.

bun run ./src/cli/debug.ts ./tests/local.js

References

About

WIP: Automatically reverse engineer and generate classes for RPC services from a GWT app.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published