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

2022-04-08 02:58:57 字數 2326 閱讀 7409

這種技術常用在遠端控制軟體中,我們已有遠端控制軟體的伺服器端。我們利用遠端控制軟體的客戶端配置生成我們自己的服務端軟體,實現伺服器端的埠及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

27 28

29 30

31 32

33 34

35 36

37 38

39 40

41 42

43 44

45 46

47 48

49 50

51 52

53 54

55 56

57 58

59 60

61 62

63 64

65 66

67 68

69 70

71 72

73 74

75 76

77 78

79 80

81 82

83 84

85 86

87 88

89 90

91 92

93 94

95 96

97 98

99 100

101102

103104

105106

107108

109110

111112

113114

115116

117118

119120

121122

123124

125126

127128

129130

131132

133134

135136

#include

#include

intfindstr(char*deststr,char*srcstr,intdeststrlen,intsrcstrlen);

voidreplacestr(char*deststr,char* srcstr,intbeginpoint);

intmain()

//我們要生成的源程式

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

fseek(preadfile, 0l, seek_end);

intfilelen =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";

intbeginpoint;

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

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)

return0;

}intfindstr(char*deststr,char*srcstr,intdeststrlen,intsrcstrlen)

else

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

}if(j == findstrlen)

}return-1;

}voidreplacestr(char*deststr,char*srcstr,intbeginpoint)

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

}

修改可執行檔案中的資源

修改可執行檔案中的資源 使用過軟體的讀者都知道,軟體一般都有很多種語言,對於一些英文軟體需要將其漢化後才能夠使用,這個漢化的過程就是修改可執行檔案中的資源的過程。對於乙個可執行檔案來說,可以利用visual c 以資源的方式開啟,開啟以後使用者可以修改可執行檔案的各種資源,使用這種方法可以非常方便地...

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

這樣的技術經常使用在遠端控制軟體中。我們已有遠端控制軟體的server端。我們利用遠端控制軟體的client配置生成我們自己的服務端軟體,實現server端的port及ip位址更新的功能。下邊看原始碼 include include int findstr char deststr,char src...

Mysql修改服務中可執行檔案路徑

mysql服務中的可執行檔案路徑和mysql安裝目錄不一致,導致mysql服務啟動失敗,此時需要修改可執行路徑。1,cmd regedit,開啟登錄檔編輯器 2,根據路徑找到mysql登錄檔,hkey local machine system currentcontrolset services m...