From 9b7908b326e1bd6241d06ba08fef964c47746095 Mon Sep 17 00:00:00 2001 From: "qcqcqc@wsl" <1220204124@zust.edu.cn> Date: Tue, 15 Apr 2025 15:28:59 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=B4=E6=8E=A5=E5=B0=86=E6=B5=81=E5=86=99?= =?UTF-8?q?=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/client.o | Bin 5728 -> 5528 bytes build/intercept.so | Bin 31320 -> 31320 bytes config/config.yaml | 4 ++-- src/client.c | 34 +++++++++++++--------------------- 4 files changed, 15 insertions(+), 23 deletions(-) diff --git a/build/client.o b/build/client.o index 87b1a988aaa6d9225b39e348b57d24e27377d4bf..2bf2d14721f99215c7d6699680a564711e815349 100644 GIT binary patch delta 1240 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 delta 4955 zcmZu#3sh9s6@7PL2q4HHii4t{Mf@|Oq7sphGGwfuYJ~i3eunr-Y^#wG?Gi^aj&b@r zhU6|AlCGG*U}7RMMomg18lsP&4JuJgX!YJWOS+`e$lDV?M;iw50kz8gP+@2?51V17mz%`)G+w9JT)%9V#T(@ zZzg`U<3h7<*qNv%e#LZxCGk%}hVtf+P3Cj(i{*KyIQ~eem3_)t=uln}+Q@7*OU+4) zEg~R$SioNmv$8bl7`BO>Cuq$hcZ4&RAV9ZC!LAF2>ToNsSP{xkhYaSe;T3EEUmsy( zWBF?lGZRkEk)ckPLfOF-WsovZImE9;B+YFz(wc9Q+J!k1mSdK3wt-gjWj_~v`dJNp zNH)JaGBq>QfW4G1&BF}ZLPLKuOX@$DLRoLQ8`o(>0;hivTQNiv&j|a^W^H+Jl~VFYXZbiPq4dgqYe(APXK`XR@dwF z7#i+l!aHy4`Z4-t~OrVgE@kfc7)V}D0DFL7LG=^aS{uC$zcr_5OVEfoH2#7r4 zuv+4 zWR0AHdN9gr3g0y;IpSq>sR~p0Ungab98E~oBg^gA7J(QnXhL~qIXjZ%k5w`A!?0?4{>%(;ZWPH=U%VW;{Bn0CVC_as6^E2Sew6>WDT^NNP* zNghRK#}@L^pENCO%anc z^w0oN{Re1rsNsPy4+HJC_b?e=roCrNx!+^$6SehxIuH~#X;txWzo^9;?iaO{zmb-< zppPC=uc4^C9z{k?qJPv8GHPk)?iaPTpC{XfPp08B?cH0-k#!Y?(r+eez7tuK0rqOX z+Lp*H++)iLUo3Zzg`coZfa;cQq$_5ZMiuvYEGG#*BtMxZ^bGBcg*4-y#u(4>eu!~F z#00S>>`g)U*q||58XFz%vL+>F`+6O0?y^QSS5i|YwJg}*Xo)Z!*sz4jh=S�FclgY+lBfoLZ5#Bp$X)5kQ|&!S zH4l*Jr>2jIx;Q*QSHNGNZhL5-P#7tW??f4V=C}IlhCrt&Alqs8Z!7cPUy_7>H*E8ZxHQ(}~Gjb9~Q+TwR-DS0klOp)@FiOX-X`TG38ClV5MOWNM&tB#4%vi;; z`A=r%yBNrUu1k>UrzMYAVv2JxEDeUG3BdN>&|X%t0zv%DRWYQ7AvMLB4Cr11`Z94E zsHIonwoJNd^>`16pcVk(X)IZxx#q&ID(-HRa|T?r`l|#5`vcIsyLD$Scpor$3;OVW z-vQnpqVt&-8}`&b_AkiZLUtpN<4^!QS748!)ntXS5JNTpOC-{YL|SFe$p+yWSlTPa zAog<<)fhxYn@268z18aQe&X<6cla_Qq=Q`R>-gbWlLxjEeeVXz;9avOGA~cgOm~eH zf!J~Q__c}P^E7Uz`C2FOnufB<6_ZVIspbP2M0BiyYN!300#MEG8M;`~tt6e#z7yNH zKCVzv8lY5UC@RJ>_!A9&*UrEIU(yWv7VUKSiYh>GPMk9omKg?|O&I7&45SwIcr7@m z6cOjup&~CWFF^AGT4Z(>3IZAEDU7Vzn?W{9v`&k;N7wb@H-VTA8eBJ#fy{X!xK#UT z;7o99XGmIhZ@>$DbqX&3dYl|M4`qtqw9AU%<%%P#a-lDJ6ru>IQYl`hpv1}KP>d- zaGp0emF4l(bEhZvTp&W@R@od2CMKBt+TJ!^J9p&#qkRD}Uh&5AnZFSK_wj4RsA)$i zy?!u@Ig=2Id>Cy(>d^cmsCj}X%^S}i;q&K>NuEHQs` zeFPBQJ6j_WKWg@_blOTVImkOQoqa*gAE9ZmV9#hd2uz+;sE?v4Xb)lyqVN zXt&^T{Jp>mEx)n^3s5WnO23niN1TgTl-0Ncd_!Ixh>6aHBPLLuOD9^1)Lsqab1)iD zmopc6asEU$o>%0@yYhqj%RnF7Zmz~_kroe0IF1Pd;t?Zm%zJ~z=%Dd7ykWdEXzYp( z4A~-$BZ9^jX>3twC6waSr2}{MC6p;Aoq5#P+IwUbD!a6Z!m-4N=RVdVIr!%JR}j z*OWZSol8d5R4!>VxvEa+dNn+{n|1vhWcVk#-U-Rh=z2J){suV?^3{JLDag@Z>iTNP zEX=}A$h#n`AV*<;G(m2~iK0Q?i_;;TE&#|B$TM_IL!QPdv>GywUS1|8L|Jy7|FCQV z>*V7L$1*ElS~xVpf>?5C^&3At{*)5@UE}42NqN8hOxMLX4f{aL4%58ou#kU*Mcomu z5b6;AmbB>l(~wH9-L#p^!hRa+xA=v^B({&Uq9pbLA61kzYAJGfkT!a+M@V5vFC%^4 z*u@_$N*Z|=PAS|hK@^(F_^SZoVU6!88qId_BcLlr3B<>h0No68FI^YFZqDvWVz1YX zy60zRzG-=`NhzqQTfRSx?A+@SgC1oHlJEtzz*@v#m}-2 zYa$+Zv4j^hF*bf8aLDUOfWD>Nqo{;Y`L$IxQ%H8r=+#@9 z3146KuGz?5;t5a8WNkG|pI8-T${E4yHl{@?1!4>ZF +#include +#include #include #include #include #include -#include -#include -#include #define BUFFER_SIZE 4096 @@ -14,14 +15,14 @@ ssize_t readMessage(int sock, char *buffer, size_t maxSize) { uint32_t messageLen; // 先读取消息长度 if (read(sock, &messageLen, sizeof(messageLen)) != sizeof(messageLen)) { - return -1; + return -1; } - + // 检查buffer大小是否足够 if (messageLen >= maxSize) { return -1; } - + // 读取完整消息 size_t totalRead = 0; while (totalRead < messageLen) { @@ -44,7 +45,7 @@ int send_exec_params(const char *filename, char *const argv[], return -1; } - if (logPath[0] != '/') { // 相对路径 + if (logPath[0] != '/') { // 相对路径 size_t pwd_len = strlen(pwd); size_t log_len = strlen(logPath); if (pwd_len + log_len + 2 > PATH_MAX) { @@ -144,7 +145,7 @@ int send_exec_params(const char *filename, char *const argv[], close(sock); return -1; } - + if (strstr(buffer, "[sthttp]")) { started = 1; } @@ -161,19 +162,10 @@ int send_exec_params(const char *filename, char *const argv[], break; } - // 处理[res]...[wait]消息 - char *res_start = strstr(buffer, "[res]"); - char *wait_end = strstr(buffer, "[wait]"); - - if (res_start && wait_end) { - size_t content_len = wait_end - (res_start + strlen("[res]")); - if (content_len < BUFFER_SIZE) { - strncpy(display_buffer, res_start + strlen("[res]"), content_len); - display_buffer[content_len] = '\0'; - printf("%s\n", display_buffer); - fflush(stdout); - } - } + strncpy(display_buffer, buffer, BUFFER_SIZE - 1); + display_buffer[BUFFER_SIZE - 1] = '\0'; + printf("%s", display_buffer); + fflush(stdout); } close(sock);