explaingit

luotron/wxinvokehelper

11Audience · developerComplexity · 4/5ActiveSetup · hard

TLDR

Xposed module for Android WeChat that exposes internal mini-program and OAuth login code endpoints over a local HTTP server for authorized developer debugging.

Mindmap

mindmap
  root((WxInvokeHelper))
    Inputs
      appId
      OAuth URL base64
      Android broadcast intents
    Outputs
      Mini program login code
      OAuth redirect URL
      QR connect confirm
    Use Cases
      Debug mini program login
      Wire WeChat OAuth to own server
      Reverse engineering practice
    Tech Stack
      Xposed
      LSPosed
      Android
      HTTP

Things people build with this

USE CASE 1

Grab a WeChat mini-program login code from an already logged-in test account during back-end development

USE CASE 2

Debug a self-built site's WeChat OAuth flow by driving the authorize URL programmatically

USE CASE 3

Automate the connect.qrconnect scan-and-confirm path for internal QA on a tethered device

USE CASE 4

Study WeChat client internals as part of Android reverse engineering or Frida-to-Xposed migration practice

Tech stack

XposedLSPosedAndroidHTTP

Getting it running

Difficulty · hard Time to first run · 1day+

Requires a rooted Android phone, LSPosed or EdXposed, and hook re-mapping each time WeChat ships a new obfuscated build.

In plain English

WxInvokeHelper is an Xposed module for the Android version of WeChat. The README is in Chinese and frames the tool as a debug helper for authorized testing. It is meant to be installed into a rooted phone running LSPosed or EdXposed, hooked into the running WeChat process, and used by developers who are wiring up their own back end to WeChat's mini program login or OAuth login. The module exposes internal login functions of an already logged in WeChat account so the developer can grab a login code and exchange it server side, without touching the official scan flow by hand. Once injected, the module starts a local HTTP server on port 18080 and also listens for Android broadcasts. The HTTP endpoints are getMiniCode, which returns a one shot mini program login code given an appId, getOauthCode, which walks through an OAuth authorize URL and returns the redirect URL with code and state, and autoOAuth, which simulates a QR code scan and confirm for the connect.qrconnect login used by third party websites. There is also a ping endpoint that just confirms the module is loaded. The README is clear that no tokens are cracked and no business signing is bypassed, the user's own server still has to exchange the code for a real token through the normal API. The broadcast interface mirrors the HTTP one and is meant for situations where HTTP is not reachable, for example an adb shell on a tethered device. Each action has its own intent name, OAuth URLs are passed in as base64 to dodge escaping issues, and results come back on the ACTION_RESULT broadcast. Quick start is four steps: install the module APK, enable it in LSPosed against the WeChat package, force stop and reopen WeChat, then call ping with curl to confirm injection. The README says the module was tested against WeChat 8.0.71 and warns that obfuscated class names change between versions, so each upgrade needs the hook to be re mapped. Class names are kept in one central file to make this easier. The author lists intended uses as mini program login debugging, integrating a self built app with WeChat login, Android reverse engineering practice, migrating Frida scripts to Xposed, and internal enterprise test automation. The README then bans a list of uses outright: capturing third party account state without permission, mass token collection, evading platform risk control, and scams, scalping, or credential stuffing. Users are asked not to paste real appId, code, token, or cookie values into the issue tracker. A disclaimer at the end states the project is for security research, reverse learning, own business debugging, and authorized testing only, and that the user takes on any legal risk from improper use.

Copy-paste prompts

Prompt 1
Walk me through installing WxInvokeHelper into LSPosed and confirming injection via the ping endpoint
Prompt 2
Show me a curl command that calls getMiniCode for my own appId on port 18080
Prompt 3
Explain how the autoOAuth endpoint simulates the QR scan and confirm step for connect.qrconnect
Prompt 4
Send the broadcast-interface intent that mirrors getOauthCode over adb shell with a base64 encoded URL
Prompt 5
Find the central class-name file and explain how to remap hooks when WeChat updates past 8.0.71
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.