這樣的技術經常使用在遠端控制軟體中。我們已有遠端控制軟體的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...