C實現改動可執行檔案裡的字串,生成新的可執行檔案

2022-09-01 10:12:13 字數 1506 閱讀 5874

這樣的技術經常使用在遠端控制軟體中。我們已有遠端控制軟體的server端。我們利用遠端控制軟體的client配置生成我們自己的服務端軟體,實現server端的port及ip位址更新的功能。

下邊看原始碼

#include

#include

int findstr(char *deststr, char *srcstr, int deststrlen, int srcstrlen);

void replacestr(char *deststr, char * srcstr, int beginpoint);

int main()

//我們要生成的源程式

if ((poutfile = fopen("../custom/testpe1.exe", "wb")) == null)

fseek(preadfile, 0l, seek_end);

int filelen = ftell(preadfile);

pfilebuf = (char *)malloc(filelen + 1);

if (pfilebuf == null)

fseek(preadfile,0l,seek_set);

fread(pfilebuf, filelen, sizeof(char), preadfile);

pfilebuf[filelen] = '\0';

//我們要改動成的字串

char *modifystr = "bbbbbbbbb";

//源程式中的字串

char *findstr = "aaaaaaaaaaaaaaa";

int beginpoint;

//我們在讀取的源程式陣列中查詢我們要查詢的字串的起始位置

beginpoint = findstr(pfilebuf, findstr, filelen, 0);

if (beginpoint == -1)

//替換我們的字串

replacestr(pfilebuf, modifystr, beginpoint);

//生成我們改動後的源程式

fwrite(pfilebuf, filelen, sizeof(char), poutfile);

fclose(preadfile);

fclose(poutfile);

if (pfilebuf != null)

return 0;

}int findstr(char *deststr, char *srcstr, int deststrlen, int srcstrlen)

else

for (i = 0; i < deststrlen; i++)

}if (j == findstrlen)

}return -1;

}void replacestr(char *deststr, char *srcstr, int beginpoint)

deststr[beginpoint + srcstrlen] = '\0';

}

C實現修改可執行檔案中的字串,生成新的可執行檔案

這種技術常用在遠端控制軟體中,我們已有遠端控制軟體的伺服器端。我們利用遠端控制軟體的客戶端配置生成我們自己的服務端軟體,實現伺服器端的埠及ip位址更新的功能。下邊看源 1 23 4 5 67 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26...

用來將字串轉為可執行文字並執行

1 2 本類用來將字串轉為可執行文字並執行 3 做了一部分修改,修改原來的錯誤,修改,增加了部分邏輯。測試通過,請勿隨意修改 zhangqc 4 5public class evaluator618 19 可執行串的建構函式 20 21 返回值型別 22 執行表示式 23 執行字串名稱 24publ...

Pycharm生成可執行檔案 exe的實現方法

乙個專案開發完畢後總有一種想法www.cppcns.com,就是生成可執行檔案,總不能一直用python 執行吧。以下操作同時適用於windows和linux下的pycharm 我在ubuntu下試驗過,生成的是在ubuntu下的可執行檔案 1 開啟pycharm。在pycharm中安裝外掛程式py...