From 3f66d7b6d0eba19c0cf6109012156b31ba54a21b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=B6=9B?= <2450572350@qq.com> Date: Wed, 31 May 2023 11:20:49 +0800 Subject: [PATCH] =?UTF-8?q?java=E5=AE=A2=E6=88=B7=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- java_client/.gitignore | 33 +++ java_client/README.md | 15 ++ java_client/pom.xml | 184 +++++++++++++++ .../com/example/wxhk/WxhkApplication.java | 22 ++ .../com/example/wxhk/constant/WxMsgType.java | 35 +++ .../wxhk/controller/WxMsgController.java | 14 ++ .../example/wxhk/model/PrivateChatMsg.java | 50 ++++ .../com/example/wxhk/msg/WxMsgHandle.java | 214 ++++++++++++++++++ .../com/example/wxhk/tcp/vertx/ArrHandle.java | 54 +++++ .../example/wxhk/tcp/vertx/InitWeChat.java | 163 +++++++++++++ .../com/example/wxhk/tcp/vertx/VertxTcp.java | 79 +++++++ .../com/example/wxhk/util/HttpAsyncUtil.java | 76 +++++++ .../com/example/wxhk/util/HttpSendUtil.java | 57 +++++ .../com/example/wxhk/util/HttpSyncUtil.java | 34 +++ .../src/main/resources/application.properties | 4 + java_client/src/main/resources/exec/c.exe | Bin 0 -> 24064 bytes .../src/main/resources/exec/wxhelper.dll | Bin 0 -> 385024 bytes .../src/main/resources/logback-spring.xml | 171 ++++++++++++++ java_client/src/main/resources/spy.properties | 10 + .../example/wxhk/WxhkApplicationTests.java | 13 ++ .../example/wxhk/tcp/HttpAsyncUtilTest.java | 44 ++++ .../java/com/example/wxhk/tcp/XmlTest.java | 72 ++++++ 22 files changed, 1344 insertions(+) create mode 100644 java_client/.gitignore create mode 100644 java_client/README.md create mode 100644 java_client/pom.xml create mode 100644 java_client/src/main/java/com/example/wxhk/WxhkApplication.java create mode 100644 java_client/src/main/java/com/example/wxhk/constant/WxMsgType.java create mode 100644 java_client/src/main/java/com/example/wxhk/controller/WxMsgController.java create mode 100644 java_client/src/main/java/com/example/wxhk/model/PrivateChatMsg.java create mode 100644 java_client/src/main/java/com/example/wxhk/msg/WxMsgHandle.java create mode 100644 java_client/src/main/java/com/example/wxhk/tcp/vertx/ArrHandle.java create mode 100644 java_client/src/main/java/com/example/wxhk/tcp/vertx/InitWeChat.java create mode 100644 java_client/src/main/java/com/example/wxhk/tcp/vertx/VertxTcp.java create mode 100644 java_client/src/main/java/com/example/wxhk/util/HttpAsyncUtil.java create mode 100644 java_client/src/main/java/com/example/wxhk/util/HttpSendUtil.java create mode 100644 java_client/src/main/java/com/example/wxhk/util/HttpSyncUtil.java create mode 100644 java_client/src/main/resources/application.properties create mode 100644 java_client/src/main/resources/exec/c.exe create mode 100644 java_client/src/main/resources/exec/wxhelper.dll create mode 100644 java_client/src/main/resources/logback-spring.xml create mode 100644 java_client/src/main/resources/spy.properties create mode 100644 java_client/src/test/java/com/example/wxhk/WxhkApplicationTests.java create mode 100644 java_client/src/test/java/com/example/wxhk/tcp/HttpAsyncUtilTest.java create mode 100644 java_client/src/test/java/com/example/wxhk/tcp/XmlTest.java diff --git a/java_client/.gitignore b/java_client/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/java_client/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/java_client/README.md b/java_client/README.md new file mode 100644 index 0000000..9c712ab --- /dev/null +++ b/java_client/README.md @@ -0,0 +1,15 @@ +环境为jdk17 +执行之后会在当前项目所处磁盘根路径生成一个exec文件夹,然后会把src/main/resources/exec下的文件放在那避免因为路径问题出错 + +项目启动之后,会生成一个tcp服务端,用来接受hook信息,然后把接收的信息放在队列中,之后用一个线程去循环处理消息. +具体实现可以看 +```com.example.wxhk.tcp.vertx```包下的三个文件 + +com.example.wxhk.tcp.vertx.VertxTcp 这个是tcp服务端,接受信息 + +com.example.wxhk.tcp.vertx.InitWeChat 微信环境初始化 + +com.example.wxhk.tcp.vertx.ArrHandle 循环消息处理 + + +启动项目需要去修改配置文件的微信路径 diff --git a/java_client/pom.xml b/java_client/pom.xml new file mode 100644 index 0000000..3a98e6f --- /dev/null +++ b/java_client/pom.xml @@ -0,0 +1,184 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.1.0 + + + com.example + wxhk + 0.0.1-SNAPSHOT + wxhk + wxhk + + 17 + + + + org.springframework.boot + spring-boot-starter-mail + + + + + + + org.springframework.boot + spring-boot-starter-validation + + + + + + + + + + io.netty + netty-all + 4.1.92.Final + + + com.squareup.okhttp3 + okhttp + 4.11.0 + + + + io.vertx + vertx-core + 4.4.2 + + + io.vertx + vertx-web + 4.4.2 + + + io.vertx + vertx-web-client + 4.4.2 + + + io.vertx + vertx-mysql-client + 4.4.2 + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + org.springframework.boot + spring-boot-configuration-processor + true + + + org.projectlombok + lombok + true + + + org.dromara.hutool + hutool-all + 6.0.0.M3 + + + com.fasterxml.jackson.core + jackson-databind + 2.15.1 + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.apache.maven.plugins + maven-jar-plugin + + + + + + + + + + + + **/com/example/wxhk/** + + + + + + + true + lib/ + false + + com.example.wxhk.WxhkApplication + + + + resources/ + + + + ${project.build.directory}/pack/ + + + + org.apache.maven.plugins + maven-dependency-plugin + + + + copy-dependencies + package + + copy-dependencies + + + + ${project.build.directory}/pack/lib + + + + + + maven-resources-plugin + + + + copy-resources + package + + copy-resources + + + + + src/main/resources + + + + ${project.build.directory}/pack/resources + + + + + + + + diff --git a/java_client/src/main/java/com/example/wxhk/WxhkApplication.java b/java_client/src/main/java/com/example/wxhk/WxhkApplication.java new file mode 100644 index 0000000..da0ccbd --- /dev/null +++ b/java_client/src/main/java/com/example/wxhk/WxhkApplication.java @@ -0,0 +1,22 @@ +package com.example.wxhk; + +import io.vertx.core.Vertx; +import io.vertx.core.VertxOptions; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class WxhkApplication { + public static final Vertx vertx; + + static { + vertx = Vertx.vertx(new VertxOptions().setWorkerPoolSize(5).setEventLoopPoolSize(5)); + } + + //ConsoleInject.exe -i WeChat.exe -p D:\wxhelper.dll + //ConsoleApplication.exe -I 4568 -p C:\wxhelper.dll -m 17484 -P 1888 + public static void main(String[] args) { + SpringApplication.run(WxhkApplication.class, args); + } + +} diff --git a/java_client/src/main/java/com/example/wxhk/constant/WxMsgType.java b/java_client/src/main/java/com/example/wxhk/constant/WxMsgType.java new file mode 100644 index 0000000..59b9570 --- /dev/null +++ b/java_client/src/main/java/com/example/wxhk/constant/WxMsgType.java @@ -0,0 +1,35 @@ +package com.example.wxhk.constant; + +/** + * 接受到的微信消息类型 + * + * @author wt + * @date 2023/05/26 + */ +public enum WxMsgType { + + /** + * + */ + 私聊信息(1), + 好友请求(37), + 收到名片(42), + 表情(47), + 转账和收款(49), + 收到转账之后(51), + /** + * 扫码触发,会触发2次, 有一次有编号,一次没有,还有登陆之后也有,很多情况都会调用这个 + */ + 扫码触发(10002), + + ; + Integer type; + + public Integer getType() { + return type; + } + + WxMsgType(Integer type) { + this.type = type; + } +} diff --git a/java_client/src/main/java/com/example/wxhk/controller/WxMsgController.java b/java_client/src/main/java/com/example/wxhk/controller/WxMsgController.java new file mode 100644 index 0000000..05e4ede --- /dev/null +++ b/java_client/src/main/java/com/example/wxhk/controller/WxMsgController.java @@ -0,0 +1,14 @@ +package com.example.wxhk.controller; + + +import org.dromara.hutool.log.Log; + +public class WxMsgController { + + protected static final Log log = Log.get(); + + + void init(){ + + } +} diff --git a/java_client/src/main/java/com/example/wxhk/model/PrivateChatMsg.java b/java_client/src/main/java/com/example/wxhk/model/PrivateChatMsg.java new file mode 100644 index 0000000..ceb6da0 --- /dev/null +++ b/java_client/src/main/java/com/example/wxhk/model/PrivateChatMsg.java @@ -0,0 +1,50 @@ +package com.example.wxhk.model; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * 私聊 + * + * @author wt + * @date 2023/05/26 + */ +@Data +@Accessors(chain = true) +@JsonIgnoreProperties(ignoreUnknown = true) +public class PrivateChatMsg implements Serializable { + + /** + * 内容 + */ + + private String content; + /** + * 当是群聊的时候 为群id,否则为微信id + */ + private String fromGroup; + /** + * 微信id + */ + private String fromUser; + private Integer isSendMsg; + /** + * 1通过手机发送 + */ + private Integer isSendByPhone; + private Long msgId; + private Integer pid; + private String sign; + private String signature; + private String time; + private Integer timestamp; + + String path; + /** + * 类型 + */ + private Integer type; +} diff --git a/java_client/src/main/java/com/example/wxhk/msg/WxMsgHandle.java b/java_client/src/main/java/com/example/wxhk/msg/WxMsgHandle.java new file mode 100644 index 0000000..a31fec0 --- /dev/null +++ b/java_client/src/main/java/com/example/wxhk/msg/WxMsgHandle.java @@ -0,0 +1,214 @@ +package com.example.wxhk.msg; + +import com.example.wxhk.constant.WxMsgType; +import com.example.wxhk.model.PrivateChatMsg; +import com.example.wxhk.tcp.vertx.InitWeChat; +import com.example.wxhk.util.HttpAsyncUtil; +import com.example.wxhk.util.HttpSendUtil; +import com.example.wxhk.util.HttpSyncUtil; +import io.vertx.core.json.JsonObject; +import org.dromara.hutool.core.util.XmlUtil; +import org.dromara.hutool.log.Log; +import org.springframework.stereotype.Component; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +import java.math.BigDecimal; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; + +@Component +public class WxMsgHandle { + public static final ConcurrentHashMap map = new ConcurrentHashMap<>(32); + + public static ConcurrentHashMap cache = new ConcurrentHashMap<>(); + protected static final Log log=Log.get(); + + + + + public WxMsgHandle() { + add(chatMsg -> { + return 1; + },WxMsgType.私聊信息);// 好友请求 + add(chatMsg -> { + HttpSendUtil.通过好友请求(chatMsg); + return 1; + },WxMsgType.好友请求);// 好友请求 + add(chatMsg -> { + boolean f = 解析扫码支付第二段(chatMsg); + if(f){ + f=解析收款信息1段(chatMsg); + if(f){ + 解析收款信息2段(chatMsg); + } + } + return null; + },WxMsgType.转账和收款); + add(chatMsg -> { + boolean f = 解析扫码支付第一段(chatMsg); + return null; + },WxMsgType.扫码触发); + + + + } + + /** + * 解析扫码支付第一段,得到交易id和微信id + * + * @param chatMsg + * @return boolean 返回true 则继续解析,否则解析成功,不需要解析了 + */ + public static boolean 解析扫码支付第一段(PrivateChatMsg chatMsg) { + try { + Document document = XmlUtil.parseXml(chatMsg.getContent()); + Element documentElement = document.getDocumentElement(); + String localName = documentElement.getLocalName(); + if("sysmsg".equals(localName)){ + String type = documentElement.getAttribute("type"); + if("paymsg".equals(type)){ + NodeList outtradeno = documentElement.getElementsByTagName("outtradeno"); + if (outtradeno.getLength()>0) { + String textContent = outtradeno.item(0).getTextContent(); + String textContent1 = documentElement.getElementsByTagName("username").item(0).getTextContent(); + cache.put(textContent,textContent1); + return false; + } + } + } + } catch (Exception e) { + log.error(e); + } + return true; + } + + + /** + * 解析扫码支付第二段 + * + * @param chatMsg 聊天味精 + * @return boolean true 则 继续解析, false则解析成功,不需要再解析了 + */ + public static boolean 解析扫码支付第二段(PrivateChatMsg chatMsg) { + try { + Document document = XmlUtil.parseXml(chatMsg.getContent()); + Element documentElement = document.getDocumentElement(); + String localName = documentElement.getLocalName(); + if("msg".equals(localName)){ + NodeList outtradeno = documentElement.getElementsByTagName("weapp_path"); + if(outtradeno.getLength()>1){ + String textContent = outtradeno.item(1).getTextContent(); + Set> entries = cache.entrySet(); + Iterator> iterator = entries.iterator(); + while (iterator.hasNext()){ + Map.Entry next = iterator.next(); + if (textContent.contains(next.getKey())) { + // 得到了交易信息 + NodeList word = documentElement.getElementsByTagName("word"); + String monery = word.item(1).getTextContent(); + String remark = word.item(3).getTextContent(); + if(monery.startsWith("¥")){ + String substring = monery.substring(1); + BigDecimal decimal = new BigDecimal(substring); + log.info("扫码收款:{},付款人:{},付款备注:{}",decimal.stripTrailingZeros().toPlainString(),next.getValue(),remark); + iterator.remove(); + return false; + } + } + } + + + } + } + } catch (Exception e) { + log.error(e); + } + return true; + } + public static boolean 解析收款信息2段(PrivateChatMsg chatMsg) { + try { + Document document = XmlUtil.parseXml(chatMsg.getContent()); + Element documentElement = document.getDocumentElement(); + String localName = documentElement.getLocalName(); + if("msg".equals(localName)){ + if (documentElement.getElementsByTagName("transcationid").getLength()>0) { + String remark = documentElement.getElementsByTagName("pay_memo").item(0).getTextContent(); + String monery = documentElement.getElementsByTagName("feedesc").item(0).getTextContent(); + String receiver_username = documentElement.getElementsByTagName("receiver_username").item(0).getTextContent(); + if(InitWeChat.WXID_MAP.contains(receiver_username)){ + // 如果是自己转出去的,则不需要解析了 + return false; + } + + if(monery.startsWith("¥")){ + String substring = monery.substring(1); + BigDecimal decimal = new BigDecimal(substring); + log.info("收款:{},付款人:{},付款备注:{}",decimal.stripTrailingZeros().toPlainString(),receiver_username,remark); + return false; + } + } + } + } catch (Exception e) { + log.error(e); + } + return true; + } + + + /** + * 解析收款信息1段 + * 会自动进行收款 + * @param chatMsg + * @return boolean true则 继续解析,false则不需要解析了 + */ + public static boolean 解析收款信息1段(PrivateChatMsg chatMsg){ + try { + String content = chatMsg.getContent(); + Document document = XmlUtil.parseXml(content); + Node paysubtype = document.getElementsByTagName("paysubtype").item(0); + if("1".equals(paysubtype.getTextContent().trim())){ + // 手机发出去的 + String textContent = document.getElementsByTagName("receiver_username").item(0).getTextContent(); + if(!InitWeChat.WXID_MAP.contains(textContent)){ + // 如果不是机器人收款,则认为不需要解析了,大概率是机器人自己发出去的 + return false; + } + Node transcationid = document.getDocumentElement().getElementsByTagName("transcationid").item(0); + Node transferid = document.getDocumentElement().getElementsByTagName("transferid").item(0); + HttpSyncUtil.exec(HttpAsyncUtil.Type.确认收款, new JsonObject().put("wxid",chatMsg.getFromUser()) + .put("transcationId",transcationid.getTextContent()) + .put("transferId",transferid.getTextContent())); + return false; + } + + } catch (Exception e) { + log.error(e); + } + return true; + } + + + public interface Handle{ + Object handle(PrivateChatMsg chatMsg); + } + + + + public void add(Handle handle, WxMsgType...type){ + for (WxMsgType integer : type) { + map.put(integer.getType(), handle); + } + } + + public static void exec(PrivateChatMsg chatMsg){ + Handle handle = map.get(chatMsg.getType()); + if (handle != null) { + handle.handle(chatMsg); + } + } +} diff --git a/java_client/src/main/java/com/example/wxhk/tcp/vertx/ArrHandle.java b/java_client/src/main/java/com/example/wxhk/tcp/vertx/ArrHandle.java new file mode 100644 index 0000000..39add74 --- /dev/null +++ b/java_client/src/main/java/com/example/wxhk/tcp/vertx/ArrHandle.java @@ -0,0 +1,54 @@ +package com.example.wxhk.tcp.vertx; + +import com.example.wxhk.model.PrivateChatMsg; +import com.example.wxhk.msg.WxMsgHandle; +import com.example.wxhk.util.HttpSendUtil; +import io.vertx.core.json.JsonObject; +import jakarta.annotation.PostConstruct; +import org.dromara.hutool.core.thread.NamedThreadFactory; +import org.dromara.hutool.log.Log; +import org.springframework.stereotype.Component; + +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +/** + * 消息处理 + * @author wt + * @date 2023/05/31 + */ +@Component +public class ArrHandle { + + protected static final Log log = Log.get(); + public static final ThreadPoolExecutor sub = new ThreadPoolExecutor(1, 10, 30, TimeUnit.MINUTES, new LinkedBlockingQueue<>(), new NamedThreadFactory("sub", false)); + + + @PostConstruct + public void exec(){ + for (int i = 0; i < sub.getCorePoolSize(); i++) { + sub.submit(() -> { + while (!Thread.currentThread().isInterrupted()){ + try { + JsonObject take = VertxTcp.LINKED_BLOCKING_QUEUE.take(); + log.info("{}",take.encode()); + + PrivateChatMsg privateChatMsg = take.mapTo(PrivateChatMsg.class); + if("weixin".equals(privateChatMsg.getFromUser())){ + String s = HttpSendUtil.获取当前登陆微信id(); + InitWeChat.WXID_MAP.add(s); + continue; + } + WxMsgHandle.exec(privateChatMsg); + } catch (Exception e) { + log.error(e); + } + } + log.error("退出线程了"); + }); + } + + } + +} diff --git a/java_client/src/main/java/com/example/wxhk/tcp/vertx/InitWeChat.java b/java_client/src/main/java/com/example/wxhk/tcp/vertx/InitWeChat.java new file mode 100644 index 0000000..649eaf3 --- /dev/null +++ b/java_client/src/main/java/com/example/wxhk/tcp/vertx/InitWeChat.java @@ -0,0 +1,163 @@ +package com.example.wxhk.tcp.vertx; + +import com.example.wxhk.util.HttpAsyncUtil; +import com.example.wxhk.util.HttpSyncUtil; +import io.vertx.core.impl.ConcurrentHashSet; +import io.vertx.core.json.JsonObject; +import org.dromara.hutool.core.io.file.FileUtil; +import org.dromara.hutool.core.net.NetUtil; +import org.dromara.hutool.core.text.StrUtil; +import org.dromara.hutool.core.thread.ThreadUtil; +import org.dromara.hutool.log.Log; +import org.dromara.hutool.setting.Setting; +import org.jetbrains.annotations.NotNull; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.CommandLineRunner; +import org.springframework.core.annotation.Order; +import org.springframework.core.io.ClassPathResource; +import org.springframework.stereotype.Component; + +import java.io.File; +import java.io.IOException; + +/** + * 微信注入环境初始化和相关方法 + * + * @author wt + * @date 2023/05/16 + */ +@Order(-1) +@Component +public class InitWeChat implements CommandLineRunner { + + public final static Log log = Log.get(); + + public static String wxPath; + + public static Integer wxPort; + public static Integer vertxPort; + /** + * wxhelper.dll 所在路径 + */ + public static File DLL_PATH; + + public static final ConcurrentHashSet WXID_MAP=new ConcurrentHashSet<>(); + + + public static void 注入dll(String wxPid) throws IOException { + String format = StrUtil.format("cmd /C c.exe -I {} -p {}\\wxhelper.dll -m {}", wxPid, DLL_PATH.getAbsolutePath(), wxPid); + Process exec = Runtime.getRuntime().exec(format, null, DLL_PATH); + log.info("注入结果:{}", new String(exec.getInputStream().readAllBytes(), "gbk")); + } + + @NotNull + private static File 环境初始化() { + File target = new File(new File("").getAbsolutePath().split("\\\\")[0] + "\\exec\\"); + try { + File wxPathFile = new File(wxPath); + File config = new File(wxPathFile.getParentFile(), "config.ini"); + Setting setting = new Setting(config.getAbsolutePath()); + setting.getGroupedMap().put("config", "port", String.valueOf(wxPort)); + setting.store(); + ClassPathResource classPathResource = new ClassPathResource("exec"); + File file = classPathResource.getFile(); + target.mkdir(); + for (File listFile : file.listFiles()) { + FileUtil.copy(listFile, target, true); + } + } catch (Exception e) { + log.error(e, "环境初始化失败,请检查"); + } + return target; + } + + /** + * 返回最后一个微信的pid + * + * @return {@link String} + * @throws IOException ioexception + */ + public static String createWx() throws IOException { + Runtime.getRuntime().exec("cmd /C \"" + wxPath + "\""); + return getWxPid(); + } + + @NotNull + private static String getWxPid() throws IOException { + String line = null; + try { + Process exec = Runtime.getRuntime().exec("cmd /C tasklist /FI \"IMAGENAME eq WeChat.exe\" "); + byte[] bytes = exec.getInputStream().readAllBytes(); + line = new String(bytes, "gbk"); + String[] split = line.split("\n"); + if (!line.contains("WeChat.exe")) { + return createWx(); + } + String[] split1 = split[split.length - 1].replaceAll("\\s{2,}", " ").split(" "); + return split1[1]; + } catch (IOException e) { + log.error("获取端口错误:{}", line); + throw e; + } + } + + public static Integer getWxPort() { + return wxPort; + } + + @Value("${wx.port}") + public void setWxPort(Integer wxPort) { + InitWeChat.wxPort = wxPort; + } + + public static String getWxPath() { + return wxPath; + } + + @Value("${wx.path}") + public void setWxPath(String wxPath) { + InitWeChat.wxPath = wxPath; + } + + public static Integer getVertxPort() { + return vertxPort; + } + + @Value("${vertx.port}") + public void setVertxPort(Integer vertxPort) { + InitWeChat.vertxPort = vertxPort; + } + + @Override + public void run(String... args) throws Exception { + //tasklist /FI "IMAGENAME eq WeChat.exe" /m + boolean usableLocalPort = NetUtil.isUsableLocalPort(wxPort); + if (usableLocalPort) { + DLL_PATH = 环境初始化(); + String wxPid = getWxPid(); + 注入dll(wxPid); + } + ThreadUtil.execute(() -> { + while (!Thread.currentThread().isInterrupted()){ + JsonObject exec = HttpSyncUtil.exec(HttpAsyncUtil.Type.检查微信登陆, new JsonObject()); + if(exec.getInteger("code").equals(1)){ + JsonObject dl = HttpSyncUtil.exec(HttpAsyncUtil.Type.获取登录信息, new JsonObject()); + JsonObject jsonObject = dl.getJsonObject("data"); + String wx = jsonObject.getString("wxid"); + WXID_MAP.add(wx); + if (log.isDebugEnabled()) { + log.debug("检测到微信登陆:{}",wx); + } + break; + } + ThreadUtil.safeSleep(500); + } + + }); + Runtime.getRuntime().addShutdownHook(new Thread(() -> { + HttpSyncUtil.exec(HttpAsyncUtil.Type.关闭hook, new JsonObject()); + })); + //netstat -aon|findstr "端口号" + // c.exe -I 4568 -p D:\exec\wxhelper.dll -m 4568 + } +} diff --git a/java_client/src/main/java/com/example/wxhk/tcp/vertx/VertxTcp.java b/java_client/src/main/java/com/example/wxhk/tcp/vertx/VertxTcp.java new file mode 100644 index 0000000..aad3656 --- /dev/null +++ b/java_client/src/main/java/com/example/wxhk/tcp/vertx/VertxTcp.java @@ -0,0 +1,79 @@ +package com.example.wxhk.tcp.vertx; + +import com.example.wxhk.WxhkApplication; +import com.example.wxhk.util.HttpAsyncUtil; +import io.vertx.core.AbstractVerticle; +import io.vertx.core.DeploymentOptions; +import io.vertx.core.Future; +import io.vertx.core.Promise; +import io.vertx.core.json.JsonObject; +import io.vertx.core.net.NetServer; +import io.vertx.core.net.NetServerOptions; +import io.vertx.core.parsetools.JsonParser; +import org.dromara.hutool.log.Log; +import org.springframework.boot.CommandLineRunner; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; + +import java.util.concurrent.LinkedBlockingQueue; + +/** + * 接受微信hook信息 + * @author wt + * @date 2023/05/26 + */ +@Component +@Order() +public class VertxTcp extends AbstractVerticle implements CommandLineRunner { + protected static final Log log = Log.get(); + NetServer netServer; + public final static LinkedBlockingQueue LINKED_BLOCKING_QUEUE = new LinkedBlockingQueue<>(); + + + + @Override + public void start(Promise startPromise) throws Exception { + netServer = vertx.createNetServer(new NetServerOptions() + .setPort(InitWeChat.getVertxPort()) + .setIdleTimeout(0) + .setLogActivity(false) + ); + netServer.connectHandler(socket -> { + JsonParser parser = JsonParser.newParser(); + parser.objectValueMode(); + parser.handler(event -> { + switch (event.type()) { + case START_OBJECT -> { + } + case END_OBJECT -> { + } + case START_ARRAY -> { + } + case END_ARRAY -> { + } + case VALUE -> { + LINKED_BLOCKING_QUEUE.add(event.objectValue()); + } + } + }); + socket.handler(parser); + }); + + Future listen = netServer.listen(); + listen.onComplete(event -> { + boolean succeeded = event.succeeded(); + if (succeeded) { + HttpAsyncUtil.exec(HttpAsyncUtil.Type.开启hook, new JsonObject().put("port", "8080").put("ip", "127.0.0.1")); + startPromise.complete(); + }else{ + startPromise.fail(event.cause()); + } + + }); + } + + @Override + public void run(String... args) throws Exception { + WxhkApplication.vertx.deployVerticle(this,new DeploymentOptions().setWorkerPoolSize(6)); + } +} diff --git a/java_client/src/main/java/com/example/wxhk/util/HttpAsyncUtil.java b/java_client/src/main/java/com/example/wxhk/util/HttpAsyncUtil.java new file mode 100644 index 0000000..49d9015 --- /dev/null +++ b/java_client/src/main/java/com/example/wxhk/util/HttpAsyncUtil.java @@ -0,0 +1,76 @@ +package com.example.wxhk.util; + +import com.example.wxhk.WxhkApplication; +import com.example.wxhk.tcp.vertx.InitWeChat; +import io.vertx.core.AsyncResult; +import io.vertx.core.Future; +import io.vertx.core.Handler; +import io.vertx.core.buffer.Buffer; +import io.vertx.core.json.JsonObject; +import io.vertx.ext.web.client.HttpResponse; +import io.vertx.ext.web.client.WebClient; +import io.vertx.ext.web.client.WebClientOptions; +import org.dromara.hutool.log.Log; + +/** + * http异步请求 + * + * @author wt + * @date 2023/05/25 + */ +public class HttpAsyncUtil { + protected static final Log log = Log.get(); + public static final WebClient client = WebClient.create(WxhkApplication.vertx,new WebClientOptions().setDefaultHost("localhost").setDefaultPort(InitWeChat.wxPort) + .setConnectTimeout(10000).setMaxPoolSize(10).setPoolEventLoopSize(10)); + + public static Future> exec(Type type, JsonObject object) { + return client.post(InitWeChat.wxPort, "localhost", "/api/?type=" + type.getType()) + .sendJsonObject(object) + .onSuccess(event -> + { + if (log.isDebugEnabled()) { + log.debug("type:{},{}",type.getType(), event.bodyAsJsonObject()); + } + } + ); + } + + public static Future> exec(Type type, JsonObject object, Handler>> handler) { + return client.post(InitWeChat.wxPort, "localhost", "/api/?type=" + type.getType()) + .sendJsonObject(object) + .onComplete(handler) + ; + + + } + + public enum Type { + 检查微信登陆("0"), + 获取登录信息("1"), + 发送文本("2"), + 发送at文本("3"), + 发送图片("5"), + 发送文件("6"), + 开启hook("9"), + 关闭hook("10"), + 通过好友申请("23"), + 获取群成员("25"), + 获取群成员昵称("26"), + 删除群成员("27"), + 确认收款("45"), + 联系人列表("46"), + 查询微信信息("55"), + + + ; + String type; + + public String getType() { + return type; + } + + Type(String type) { + this.type = type; + } + } +} diff --git a/java_client/src/main/java/com/example/wxhk/util/HttpSendUtil.java b/java_client/src/main/java/com/example/wxhk/util/HttpSendUtil.java new file mode 100644 index 0000000..8a815ea --- /dev/null +++ b/java_client/src/main/java/com/example/wxhk/util/HttpSendUtil.java @@ -0,0 +1,57 @@ +package com.example.wxhk.util; + +import com.example.wxhk.model.PrivateChatMsg; +import com.example.wxhk.tcp.vertx.InitWeChat; +import io.vertx.core.json.JsonObject; +import org.dromara.hutool.core.util.XmlUtil; +import org.dromara.hutool.log.Log; +import org.w3c.dom.Document; +import org.w3c.dom.Node; + +/** + * 常见方法 + * @author wt + * @date 2023/05/29 + */ +public class HttpSendUtil { + + protected static final Log log = Log.get(); + public static JsonObject 通过好友请求(PrivateChatMsg msg){ + Document document = XmlUtil.parseXml(msg.getContent()); + String encryptusername = document.getDocumentElement().getAttribute("encryptusername"); + String ticket = document.getDocumentElement().getAttribute("ticket"); + return HttpSyncUtil.exec(HttpAsyncUtil.Type.通过好友申请, new JsonObject().put("v3", encryptusername).put("v4", ticket).put("permission", "0")); + } + public static JsonObject 确认收款(PrivateChatMsg msg){ + try { + String content = msg.getContent(); + Document document = XmlUtil.parseXml(content); + Node paysubtype = document.getElementsByTagName("paysubtype").item(0); + if("1".equals(paysubtype.getTextContent().trim())){ + // 手机发出去的 + String textContent = document.getElementsByTagName("receiver_username").item(0).getTextContent(); + if(!InitWeChat.WXID_MAP.contains(textContent)){ + return new JsonObject().put("spick",true); + } + Node transcationid = document.getDocumentElement().getElementsByTagName("transcationid").item(0); + Node transferid = document.getDocumentElement().getElementsByTagName("transferid").item(0); + return HttpSyncUtil.exec(HttpAsyncUtil.Type.确认收款, new JsonObject().put("wxid",msg.getFromUser()) + .put("transcationId",transcationid.getTextContent()) + .put("transferId",transferid.getTextContent())); + + } + // 如果是确认接受收款,则跳过 + return new JsonObject(); + + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + + public static String 获取当前登陆微信id(){ + JsonObject exec = HttpSyncUtil.exec(HttpAsyncUtil.Type.获取登录信息, new JsonObject()); + return exec.getJsonObject("data").getString("wxid"); + } + +} diff --git a/java_client/src/main/java/com/example/wxhk/util/HttpSyncUtil.java b/java_client/src/main/java/com/example/wxhk/util/HttpSyncUtil.java new file mode 100644 index 0000000..d5a2a63 --- /dev/null +++ b/java_client/src/main/java/com/example/wxhk/util/HttpSyncUtil.java @@ -0,0 +1,34 @@ +package com.example.wxhk.util; + +import com.example.wxhk.tcp.vertx.InitWeChat; +import io.vertx.core.json.JsonObject; +import org.dromara.hutool.http.client.ClientConfig; +import org.dromara.hutool.http.client.Request; +import org.dromara.hutool.http.client.engine.ClientEngine; +import org.dromara.hutool.http.client.engine.ClientEngineFactory; +import org.dromara.hutool.http.meta.Method; +import org.dromara.hutool.log.Log; + +/** + * http同步请求 + * + * @author wt + * @date 2023/05/25 + */ +public class HttpSyncUtil { + static final ClientEngine engine; + protected static final Log log = Log.get(); + static { + ClientConfig clientConfig = ClientConfig.of() + .setTimeout(30 * 1000); + engine = ClientEngineFactory.createEngine(clientConfig); + + } + public static JsonObject exec(HttpAsyncUtil.Type type,JsonObject obj){ + String post = engine.send(Request.of("http://localhost:" + InitWeChat.wxPort + "/api/?type=" + type.getType()).method(Method.POST).body(obj.encode())).bodyStr(); + if (log.isDebugEnabled()) { + log.debug("type:{},{}",type.getType(),post); + } + return new JsonObject(post); + } +} diff --git a/java_client/src/main/resources/application.properties b/java_client/src/main/resources/application.properties new file mode 100644 index 0000000..199c37a --- /dev/null +++ b/java_client/src/main/resources/application.properties @@ -0,0 +1,4 @@ +wx.path=D:\\Program Files (x86)\\Tencent\\WeChat\\[3.9.2.23]\\WeChat.exe +wx.port=19088 +spring.profiles.active=local +vertx.port=8080 \ No newline at end of file diff --git a/java_client/src/main/resources/exec/c.exe b/java_client/src/main/resources/exec/c.exe new file mode 100644 index 0000000000000000000000000000000000000000..68787d2a018e282bf3c66f2e1c5bedc80bafefd8 GIT binary patch literal 24064 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 OdZB;+c>eE5;C}(gpByIu literal 0 HcmV?d00001 diff --git a/java_client/src/main/resources/exec/wxhelper.dll b/java_client/src/main/resources/exec/wxhelper.dll new file mode 100644 index 0000000000000000000000000000000000000000..168a32b95f98fc269861dc7f0f6309b904ab77ae GIT binary patch literal 385024 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 \\t \\t \\t\\t \\t\\t \\t\\t\\t \\t\\t\\t \\t\\t \\t\\t<![CDATA[收款到账通知]]>\\n\\n1685325848\\n\\n\\n1\\n1\\n\\n\\n0\\n\\n\\n1\\n1\\n1\\n0\\n\\n0\\n\\n\\n\\n0\\n\\n\\n\\n\\n \\t\\t1\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n1\\n\\n\\n\\n\\n1\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n1\\n967\\n0\\n\\n0\\n0\\n\\n0\\n\\n\\n\\n0\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n1\\n967\\n0\\n\\n0\\n0\\n\\n0\\n\\n\\n\\n0\\n\\n\\n1\\n\\n0\\n \\t 0 \\t \\t \\t \\t 01\",\"fromGroup\":\"gh_f0a92aa7146c\",\"fromUser\":\"gh_f0a92aa7146c\",\"isSendMsg\":0,\"msgId\":4286533159027281478,\"pid\":14268,\"sign\":\"65bd099003179e79b95fbbab461d1f6c\",\"signature\":\"\\n\\t3\\n\\t\\n\\t\\t2\\n\\t\\t\\n\\t\\n\\tv1_xf1t7z4t\\n\\t\\n\\t\\t<![CDATA[]]>\\n\\t\\n\\n\",\"time\":\"2023-05-29 10:04:09\",\"timestamp\":1685325849,\"type\":49}"; + + WxMsgHandle.解析扫码支付第二段(new JsonObject(smg).mapTo(PrivateChatMsg.class)); + } +}

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 aLA;&3%{rXaY{UD~6x{g#KmX6p!2ba8UdufI literal 0 HcmV?d00001 diff --git a/java_client/src/main/resources/logback-spring.xml b/java_client/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..5027603 --- /dev/null +++ b/java_client/src/main/resources/logback-spring.xml @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + + ${withLineNumber_debug} + utf-8 + + + + + + + + log_error.log + + + ${LOG_PATH}/error/%d{yyyy-MM}/log_error-%d{yyyy-MM-dd}.%i.log.gz + 50MB + 100 + + + + true + + + + ${file_pattern} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + + + + + + + + + + + + + + + + + + + + ${CONSOLE_LOG_PATTERN} + utf-8 + + + + + + + + ${LOG_PATH}/log_error.log + + + ${LOG_PATH}/error/%d{yyyy-MM}/log_error-%d{yyyy-MM-dd}.%i.log.gz + 50MB + 100 + + + + true + + + + ${file_pattern} + utf-8 + + + + + error + ACCEPT + DENY + + + + + + + + ${LOG_PATH}/log_total.log + + + ${LOG_PATH}/total/%d{yyyy-MM}/log_total-%d{yyyy-MM-dd}.%i.log.gz + 50MB + 100 + + + true + + + ${file_pattern} + utf-8 + + + + + + ${LOG_PATH}/log_business.log + + + ${LOG_PATH}/business/%d{yyyy-MM}/log_business-%d{yyyy-MM-dd}.%i.log.gz + + 50MB + 100 + + + true + + + ${file_pattern} + utf-8 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java_client/src/main/resources/spy.properties b/java_client/src/main/resources/spy.properties new file mode 100644 index 0000000..d64f7b1 --- /dev/null +++ b/java_client/src/main/resources/spy.properties @@ -0,0 +1,10 @@ +logMessageFormat=com.p6spy.engine.spy.appender.CustomLineFormat +# 使用Slf4J记录sql +appender=com.p6spy.engine.spy.appender.Slf4JLogger +# 是否开启慢SQL记录 +outagedetection=true +# 慢SQL记录标准,单位秒 +outagedetectioninterval=2 +#日期格式 +dateformat=HH:mm:ss +customLogMessageFormat=%(executionTime)|%(category)|connection%(connectionId)|%(sqlSingleLine) \ No newline at end of file diff --git a/java_client/src/test/java/com/example/wxhk/WxhkApplicationTests.java b/java_client/src/test/java/com/example/wxhk/WxhkApplicationTests.java new file mode 100644 index 0000000..c7a768f --- /dev/null +++ b/java_client/src/test/java/com/example/wxhk/WxhkApplicationTests.java @@ -0,0 +1,13 @@ +package com.example.wxhk; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class WxhkApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/java_client/src/test/java/com/example/wxhk/tcp/HttpAsyncUtilTest.java b/java_client/src/test/java/com/example/wxhk/tcp/HttpAsyncUtilTest.java new file mode 100644 index 0000000..6bf1ddf --- /dev/null +++ b/java_client/src/test/java/com/example/wxhk/tcp/HttpAsyncUtilTest.java @@ -0,0 +1,44 @@ +package com.example.wxhk.tcp; + +import com.example.wxhk.util.HttpAsyncUtil; +import io.vertx.core.Future; +import io.vertx.core.buffer.Buffer; +import io.vertx.core.json.JsonObject; +import io.vertx.ext.web.client.HttpResponse; +import org.dromara.hutool.core.lang.Console; +import org.dromara.hutool.core.thread.ThreadUtil; +import org.dromara.hutool.log.Log; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class HttpAsyncUtilTest { + + protected static final Log log = Log.get(); + + + @Test + void exec() { + Future> exec = HttpAsyncUtil.exec(HttpAsyncUtil.Type.联系人列表, new JsonObject()); + exec.onSuccess(event -> { + Console.log(event.bodyAsJsonObject()); + }); + } + @Test + void exec1() { + + for(int i=0;i<10000;i++){ + int finalI = i; + HttpAsyncUtil.exec(HttpAsyncUtil.Type.获取登录信息, new JsonObject(), event -> { + if (event.succeeded()) { + log.info("i:{},{}", finalI,event.result().bodyAsJsonObject()); + }else{ + event.cause().printStackTrace(); + } + }); + log.info("发出请求:{}",i); + } + + ThreadUtil.sync(this); + } +} \ No newline at end of file diff --git a/java_client/src/test/java/com/example/wxhk/tcp/XmlTest.java b/java_client/src/test/java/com/example/wxhk/tcp/XmlTest.java new file mode 100644 index 0000000..e4bf159 --- /dev/null +++ b/java_client/src/test/java/com/example/wxhk/tcp/XmlTest.java @@ -0,0 +1,72 @@ +package com.example.wxhk.tcp; + +import com.example.wxhk.model.PrivateChatMsg; +import com.example.wxhk.msg.WxMsgHandle; +import io.vertx.core.json.JsonObject; +import org.dromara.hutool.core.lang.Console; +import org.dromara.hutool.core.util.XmlUtil; +import org.dromara.hutool.http.HttpUtil; +import org.junit.jupiter.api.Test; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +public class XmlTest { + @Test + void t(){ + String con = "{\"content\":\"\",\"fromGroup\":\"fmessage\",\"fromUser\":\"fmessage\",\"isSendMsg\":0,\"msgId\":4949224622157906392,\"pid\":1860,\"sign\":\"ab8277a517ed906cf31a64843d4c61d5\",\"signature\":\"\\n\\tv1_ZLVKn3eO\\n\\t\\n\\t\\t<![CDATA[]]>\\n\\t\\n\\n\",\"time\":\"2023-05-25 10:50:39\",\"timestamp\":1684983039,\"type\":37}"; + + + JsonObject entries = new JsonObject(con); + String content = entries.getString("content"); + Document document = XmlUtil.parseXml(content); + String encryptusername = document.getDocumentElement().getAttribute("encryptusername"); + + String ticket = document.getDocumentElement().getAttribute("ticket"); + System.out.println(ticket); + + String post = HttpUtil.post("http://127.0.0.1:19088/api/?type=23", new JsonObject().put("v3", encryptusername).put("v4", ticket) + .put("type","8") + .put("permission","5") + .encode()); + System.out.println(post); + } + + + + @Test + void 接受转账(){ + String smg = "{\"content\":\"\\n\\n<![CDATA[微信转账]]>\\n\\n\\n2000\\n\\n\\n\\n\\n\\n\\n\\n1\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\",\"fromGroup\":\"wxid_gf1fogt5a0pq22\",\"fromUser\":\"wxid_gf1fogt5a0pq22\",\"isSendMsg\":0,\"msgId\":3157044781598783480,\"path\":\"wxid_4yr8erik0uho22\\\\FileStorage\\\\Cache\\\\2023-05\\\\324af3cccfe197a57506357bff7c85f7\",\"pid\":14268,\"sign\":\"e588b9632126b915e17c5a960e4ef288\",\"signature\":\"\\n\\tv1_LzLnadY1\\n\\t\\n\\t\\t<![CDATA[]]>\\n\\t\\n\\n\",\"time\":\"2023-05-29 10:00:15\",\"timestamp\":1685325615,\"type\":49}"; + JsonObject entries = new JsonObject(smg); + String content = entries.getString("content"); + Document document = XmlUtil.parseXml(content); + Element documentElement = document.getDocumentElement(); + Node transcationid = documentElement.getElementsByTagName("transcationid").item(0); + Node transferid = documentElement.getElementsByTagName("transferid").item(0); + Console.log(transcationid); + + } + + @Test + void 扫码支付(){ + String smg = "{\"content\":\"\\n \\n 9\\n \\n \\n\\t\\t\\n\\t\\t\\n \\n\\t\\t\\n\\t\\t\\n \\n\\t\\t\\n 1685325848\\n 1\\n 1\\n \\n\\n\\n\\n 0\\n 1\\n10001071012023052901214894726608\\n \\n \\n\",\"fromGroup\":\"wxid_4yr8erik0uho22\",\"fromUser\":\"wxid_4yr8erik0uho22\",\"isSendByPhone\":1,\"isSendMsg\":1,\"msgId\":3869459965780413850,\"pid\":14268,\"sign\":\"2285732a2e5b17729e7eeb8e305add15\",\"signature\":\"\\n\\t\\n\\t\\t<![CDATA[]]>\\n\\t\\n\\n\",\"time\":\"2023-05-29 10:04:08\",\"timestamp\":1685325848,\"type\":10002}"; + JsonObject entries = new JsonObject(smg); + String content = entries.getString("content"); + Document document = XmlUtil.parseXml(content); + Element documentElement = document.getDocumentElement(); + String localName = documentElement.getLocalName(); + String type = documentElement.getAttribute("type"); + NodeList outtradeno = documentElement.getElementsByTagName("outtradeno"); + if (outtradeno.getLength()>0) { + Console.log(outtradeno.item(0).getTextContent()); + } + + } + @Test + void 扫码支付2duan(){ + String smg = "{\"content\":\" \\t<![CDATA[微信支付收款0.01元(朋友到店)]]> \\t \\t \\t5 \\t1 0 \\t \\t0 \\t \\t \\t \\t\\t0 \\t\\t \\t\\t \\t\\t \\t\\t \\t\\t \\t \\t \\t \\t \\t \\t\\t \\t\\t\\t \\t\\t\\t \\t\\t\\t\\t \\t\\t\\t\\t0 \\t\\t\\t\\t0 \\t\\t\\t\\t \\t\\t\\t \\t\\t\\t\\t \\t4 \\t<![CDATA[微信支付收款0.01元(朋友到店)]]> \\t \\t \\t \\t1685325848 \\t \\t \\t \\t0 \\t \\t \\t \\t \\t \\t\\n\\n\\n\\n\\n\\t 0 0 0 \\t \\t \\t1 \\t \\t \\t967 \\t0 0 0 \\t0 \\t \\t \\t\\t0\\t \\t 0 0 0 0