逆向分析
逆向探索思路实现:I. MtcSdk补齐功能(mtc_patch)
- 逆向分析得知DotNet SDK仅缺少很少一部分功能,只需补齐MtcWgw回调功能即可
- 正常回调流程:通过搜索字符串可以知道DotNet中的回调是通过Rsd_EnbLeaveNtfnX函数调用的
- Ntfn:NotifyFunction
- 具体流程是Rsd_NtfnCreate → Rsd_NtfnAddXXX → Rsd_EnbLeaveNtfnX
- 由于DotNet中并没有Wgw对应的会叫,我们Hook Wgw的handler传回Im对应的消息回调即可
实现:II. 通知处理 (WuyouWinBot)
- TG通知:Telegram.Bot NuGet包
- 微信通知:Senparc.Weixin包
- 收到后,并发调用这两个,出错后重试
实现:III. Wine中运行以及Docker中运行
- Wine中运行需要将程序复制到C:\下面,否则会崩溃,原因未明
- Wine在32位下配置好dotnet即可
- Wine Docker使用docker-wine-dotnet即可
部署:
- 在国内服务器上部署,Docker的网络由soxy-driver提供
命令:
docker pull yassine/soxy-driver docker rm -fv soxy-driver docker run -d --init -v '/var/run/docker.sock':'/var/run/docker.sock' -v '/run/docker/plugins':'/run/docker/plugins' --net host --name soxy-driver --privileged yassine/soxy-driver docker network rm soxy_network docker network create -d soxy-driver soxy_network -o "soxy.proxyaddress"="127.0.0.1" -o "soxy.proxyport"="7890" -o "soxy.proxytype"="socks5" #docker run -d --init -v '/var/run/docker.sock':'/var/run/docker.sock' -v '/run/docker/plugins':'/run/docker/plugins' --net host --name soxy-driver --privileged yassine/soxy-driver cd wuyoubot docker run -d --init --name wuyou-18832161130 --rm --dns 10.0.8.7 -it --net soxy_network --entrypoint "" -v "$PWD:/pwd" -w "/pwd" -e "WINEDEBUG=fixme-all" nyamisty/docker-wine-dotnet wine ./WuyouWinBot.exe +8618832161130 eb1Ea3 docker run -d --init --name wuyou-18511089201 --rm --dns 10.0.8.7 -it --net soxy_network --entrypoint "" -v "$PWD:/pwd" -w "/pwd" -e "WINEDEBUG=fixme-all" nyamisty/docker-wine-dotnet wine ./WuyouWinBot.exe +8618511089201 eb1Ea3