diff --git a/README.md b/README.md index 4422f7d28df2cf90f086d957e3d730c5c2069d01..82445b900c308d249cd6b04cb3d945aa15b8ec77 100644 --- a/README.md +++ b/README.md @@ -17,4 +17,12 @@ 5. 增加替换返回的cookie 6. 增加修改返回的状态码和文本 7. 增加删除返回的cookie - 8. 增加给返回的数据添加cookie \ No newline at end of file + 8. 增加给返回的数据添加cookie + +- 2021/4/28 - 2 + 1. 增加了发送数据的监听 + 2. 增加修改发送出去的URL + 3. 增加替换发送的POST数据 + 4. 增加重写发送的POST数据 + 5. 增加修改发送时的cookie + 6. 增加设置发送时的协议头 \ No newline at end of file diff --git a/efd/efd.cpp b/efd/efd.cpp index ed71a8a73f7bd4570a5840e171664eb578688e94..57a095469d76cf6d2595248a2f41ba4c7c97f485 100644 Binary files a/efd/efd.cpp and b/efd/efd.cpp differ diff --git a/efd/efd.def b/efd/efd.def index 4127589fb94d64ab32f472dfd3d9699305ec2788..e182ad6e32bc49b1f2a0fdf2a1999e12004539a3 100644 --- a/efd/efd.def +++ b/efd/efd.def @@ -22,4 +22,11 @@ RecvResetHtml RecvInsertBody RecvInsertCookie RecvRemoveCookie -RecvResetState \ No newline at end of file +RecvResetState +SendResetPostBytes +SendResetPostStr +SendResetURL +SendReplaceURL +SendReplacePost +SendResetCookie +SendResetHeader \ No newline at end of file diff --git a/efd/efd.h b/efd/efd.h index cd8124df5795bdf9453a21c16a2e4a500c52581b..94ddf6fe529f4630abde9dfd4bb9d95c5d5a072e 100644 --- a/efd/efd.h +++ b/efd/efd.h @@ -10,6 +10,7 @@ struct EFD_pmMessage { #pragma once typedef void (WINAPI *RecvCallbackFun)(EFD_pmMessage* pmmessage,char * url,char * head,char * cookie,unsigned int raw, unsigned int rawLen); +typedef void (WINAPI* SendCallbackFun)(EFD_pmMessage* pmmessage, char* url, char* head, char* cookie, unsigned int post, unsigned int postLen); extern "C" _declspec(dllexport) int __stdcall InitFiddler(int port, int callback); extern "C" _declspec(dllexport) void __stdcall CloseFiddler(); extern "C" _declspec(dllexport) void __stdcall AutoStartFiddlerProxy(bool start); @@ -34,6 +35,15 @@ extern "C" _declspec(dllexport) int __stdcall RecvInsertBody(EFD_pmMessage*, ch extern "C" _declspec(dllexport) int __stdcall RecvInsertCookie(EFD_pmMessage*, char*); extern "C" _declspec(dllexport) int __stdcall RecvRemoveCookie(EFD_pmMessage*); extern "C" _declspec(dllexport) int __stdcall RecvResetState(EFD_pmMessage*, char*, char*); +extern "C" _declspec(dllexport) int __stdcall SendResetPostBytes(EFD_pmMessage * pmmessage, char* newdataBase64); +extern "C" _declspec(dllexport) int __stdcall SendResetPostStr(EFD_pmMessage * pmmessage, char* newdata); +extern "C" _declspec(dllexport) int __stdcall SendResetURL(EFD_pmMessage * pmmessage, char* newUrl); +extern "C" _declspec(dllexport) int __stdcall SendReplaceURL(EFD_pmMessage * pmmessage, char* rawUrl, char* newUrl); +extern "C" _declspec(dllexport) int __stdcall SendReplacePost(EFD_pmMessage * pmmessage, char* rawPost, char* newPost); +extern "C" _declspec(dllexport) int __stdcall SendResetCookie(EFD_pmMessage * pmmessage, char* newCookie); +extern "C" _declspec(dllexport) int __stdcall SendResetHeader(EFD_pmMessage * pmmessage, char* headerKey, char* headerVal); + + @@ -44,3 +54,17 @@ extern "C" _declspec(dllexport) int __stdcall RecvResetState(EFD_pmMessage*, ch #define RECV_INSERT_COOKIE 2005 #define RECV_RESET_STATE 2006 +#define SEND_RESET_POST_BYTES 1001 +#define SEND_RESET_POST_STR 1002 +#define SEND_RESET_URL 1003 +#define SEND_REPLACE_URL 1004 +#define SEND_REPLACE_POST 1005 +#define SEND_RESET_COOKIE 1006 +#define SEND_RESET_HEADER 1007 + +int nextPmIndex(EFD_pmMessage* pmmessage) { + EFD_pmMessage pmIndex = *(pmmessage); + pmIndex.count = pmIndex.count + 1; + *(pmmessage) = pmIndex; + return pmIndex.count; +} diff --git a/efd/efd.vcxproj b/efd/efd.vcxproj index 29df3086362d61b699cc21e96719e726382118d8..09629dda7cd00751a0592c6ab9f4d2010dd5a1d4 100644 --- a/efd/efd.vcxproj +++ b/efd/efd.vcxproj @@ -181,6 +181,8 @@ + + diff --git a/efd/efd.vcxproj.filters b/efd/efd.vcxproj.filters index a38908b8967f6c65cb79089ed2644ceabf793133..7e1f9fedccc803358fb7a945d61781b0416c80bd 100644 --- a/efd/efd.vcxproj.filters +++ b/efd/efd.vcxproj.filters @@ -24,6 +24,12 @@ 头文件 + + 头文件 + + + 头文件 + diff --git a/efd/recv.h b/efd/recv.h new file mode 100644 index 0000000000000000000000000000000000000000..97f4a0b1762c2a75e5bdfbc130dbdf58cd9ee54b --- /dev/null +++ b/efd/recv.h @@ -0,0 +1,62 @@ +#pragma once + +int __stdcall RecvRepeatHtml(EFD_pmMessage* pmmessage, char* rawdata, char* newdata) { + int index = nextPmIndex(pmmessage); + EFD_pmMessage pm = *(pmmessage + index); + pm.type = RECV_REPLACE_BODY; + pm.pmdata1 = rawdata; + pm.pmdata2 = newdata; + *(pmmessage + index) = pm; + return index; +} + + +//recv_дص +int __stdcall RecvResetHtml(EFD_pmMessage* pmmessage, char* newdata) { + int index = nextPmIndex(pmmessage); + EFD_pmMessage pm = *(pmmessage + index); + pm.type = RECV_RESET_BODY; + pm.pmdata1 = newdata; + *(pmmessage + index) = pm; + return index; +} + +//recv_ +int __stdcall RecvInsertBody(EFD_pmMessage* pmmessage, char* adddata) { + int index = nextPmIndex(pmmessage); + EFD_pmMessage pm = *(pmmessage + index); + pm.type = RECV_INSERT_BODY; + pm.pmdata1 = adddata; + *(pmmessage + index) = pm; + return index; +} + +//recv_µcookie +int __stdcall RecvInsertCookie(EFD_pmMessage* pmmessage, char* cookie) { + int index = nextPmIndex(pmmessage); + EFD_pmMessage pm = *(pmmessage + index); + pm.type = RECV_INSERT_COOKIE; + pm.pmdata1 = cookie; + *(pmmessage + index) = pm; + return index; +} + +//recv_ +int __stdcall RecvRemoveCookie(EFD_pmMessage* pmmessage, char* adddata) { + int index = nextPmIndex(pmmessage); + EFD_pmMessage pm = *(pmmessage + index); + pm.type = RECV_REMOVE_COOKIE; + *(pmmessage + index) = pm; + return index; +} + +//recv_¸ı䷵ص״̬״̬ı +int __stdcall RecvResetState(EFD_pmMessage* pmmessage, char* stateCode, char* stateText) { + int index = nextPmIndex(pmmessage); + EFD_pmMessage pm = *(pmmessage + index); + pm.type = RECV_RESET_STATE; + pm.pmdata1 = stateCode; + pm.pmdata2 = stateText; + *(pmmessage + index) = pm; + return index; +} diff --git a/efd/send.h b/efd/send.h new file mode 100644 index 0000000000000000000000000000000000000000..04a4d17a8a8be3eec98d66aafa400c9b9ae1b24d --- /dev/null +++ b/efd/send.h @@ -0,0 +1,76 @@ +#pragma once + +//send postbase64byte +int __stdcall SendResetPostBytes(EFD_pmMessage* pmmessage, char* newdataBase64) { + int index = nextPmIndex(pmmessage); + EFD_pmMessage pm = *(pmmessage + index); + pm.type = SEND_RESET_POST_BYTES; + pm.pmdata1 = newdataBase64; + *(pmmessage + index) = pm; + return index; +} + +//send postbase64str +int __stdcall SendResetPostStr(EFD_pmMessage* pmmessage, char* newdata) { + int index = nextPmIndex(pmmessage); + EFD_pmMessage pm = *(pmmessage + index); + pm.type = SEND_RESET_POST_STR; + pm.pmdata1 = newdata; + *(pmmessage + index) = pm; + return index; +} + +//send ύȥURL +int __stdcall SendResetURL(EFD_pmMessage* pmmessage, char* newUrl) { + int index = nextPmIndex(pmmessage); + EFD_pmMessage pm = *(pmmessage + index); + pm.type = SEND_RESET_URL; + pm.pmdata1 = newUrl; + *(pmmessage + index) = pm; + return index; +} + + +//send 滻URL +int __stdcall SendReplaceURL(EFD_pmMessage* pmmessage,char* rawUrl, char* newUrl) { + int index = nextPmIndex(pmmessage); + EFD_pmMessage pm = *(pmmessage + index); + pm.type = SEND_REPLACE_URL; + pm.pmdata1 = rawUrl; + pm.pmdata2 = newUrl; + *(pmmessage + index) = pm; + return index; +} + + +//send 滻POST +int __stdcall SendReplacePost(EFD_pmMessage* pmmessage, char* rawPost, char* newPost) { + int index = nextPmIndex(pmmessage); + EFD_pmMessage pm = *(pmmessage + index); + pm.type = SEND_REPLACE_POST; + pm.pmdata1 = rawPost; + pm.pmdata2 = newPost; + *(pmmessage + index) = pm; + return index; +} + +//send µcookie +int __stdcall SendResetCookie(EFD_pmMessage* pmmessage, char* newCookie) { + int index = nextPmIndex(pmmessage); + EFD_pmMessage pm = *(pmmessage + index); + pm.type = SEND_RESET_COOKIE; + pm.pmdata1 = newCookie; + *(pmmessage + index) = pm; + return index; +} + +//send /µheaderЭͷ +int __stdcall SendResetHeader(EFD_pmMessage* pmmessage, char* headerKey,char* headerVal) { + int index = nextPmIndex(pmmessage); + EFD_pmMessage pm = *(pmmessage + index); + pm.type = SEND_RESET_HEADER; + pm.pmdata1 = headerKey; + pm.pmdata2 = headerVal; + *(pmmessage + index) = pm; + return index; +}