https://github.com/wechaty/wechaty-puppet-sidecar
A Universal Puppet Powered by Sidecar
https://github.com/wechaty/wechaty-puppet-sidecar
frida puppet sidecar wechaty
Last synced: about 1 month ago
JSON representation
A Universal Puppet Powered by Sidecar
- Host: GitHub
- URL: https://github.com/wechaty/wechaty-puppet-sidecar
- Owner: wechaty
- License: apache-2.0
- Created: 2021-07-04T13:32:08.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2021-08-05T06:19:52.000Z (almost 5 years ago)
- Last Synced: 2025-07-11T19:40:35.818Z (11 months ago)
- Topics: frida, puppet, sidecar, wechaty
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/wechaty-puppet-sidecar
- Size: 170 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PuppetSidecar [](https://github.com/wechaty/wechaty-puppet-sidecar/actions?query=workflow%3ANPM)
[](https://badge.fury.io/js/wechaty-puppet-sidecar)
[](https://www.npmjs.com/package/wechaty-puppet-sidecar?activeTab=versions)
[](https://github.com/wechaty/wechaty)
[](https://www.typescriptlang.org/)

> Image source: [1920s Raleigh Box Sidecar Outfit](https://oldbike.wordpress.com/1920s-raleigh-box-sidecar-outfit/) & [ShellterProject](https://www.shellterproject.com/)
Universal Puppet powered by Sidecar, which can help Wechaty connect to any applications.
## Motivation
UNDER CONSTRUCTION
To universal RPA everything by the power of sidecar.
## Usage
Talk is cheap, show me the code.
### Puppet Sidecar
```ts
import { Wechaty } from 'wechaty'
import { PuppetSidecar } from 'wechaty-puppet-sidecar'
import {
Sidecar,
SidecarBody,
Call,
Ret,
RetType
ParamType,
Hook,
} from 'frida-sidecar'
@Sidecar('WeChat.exe')
class WeChatSidecar extends SidecarBody {
@Call(0x1234)
@RetType('pointer', 'Utf8String')
messageSendText (
@ParamType('pointer', 'Utf8String') id: string,
@ParamType('pointer', 'Utf8String') text: string,
) { return Ret(id, text) }
@Hook(0x5678)
messageLoop (
@ParamType('pointer', 'Buffer') protoBuf: Buffer,
) { return Ret(protoBuf) }
}
const sidecar = new WeChatSidecar()
const puppet = new PuppetSidecar({ sidecar })
const wechaty = new Wechaty({ puppet })
wechaty.start()
```
## History
### master
### v0.0.1 (Jun 4, 2021)
Initial version.
## Author
[Huan LI](http://linkedin.com/in/zixia), [Microsoft Regional Director](https://rd.microsoft.com/en-us/huan-li) \
## Copyright & License
* Code & Docs © 2021 Huan LI \
* Code released under the Apache-2.0 License
* Docs released under Creative Commons