-
捆綁
(計算機術語)
鎖定
- 中文名
- 捆綁
- 外文名
- bind
捆綁文件末尾
這種原理很簡單,也是用的最多的方式,就是將B.EXE附加到A.EXE末尾,這樣當A.EXE被執行的時候而B.EXE也跟着執行了。這種捆綁器的代碼滿網絡都是,沒什麼技術含量。
捆綁資源捆綁
這是以資源的形式組合到一個EXE文件中的方式。資源是EXE中一個特殊區段,可以包含EXE需要不需要的用到的任何一切東西。這種方法是如何利用這一點的?只需要用的BeginUpdateResource、UpdateResource、EndUpdateResource這三個API函數就可以了,因為這三個函數是用於更新替換用的。只需要寫一個包裹文件的頭文件header.exe,頭文件中只需要一段釋放資源的代碼。而捆綁器用的時候先將頭釋放出來,然後根據上面三個函數將待捆綁的更新到這個頭文件幾完成捆綁。類似原理廣泛用於木馬生成器中。
捆綁編譯器捆綁
這種方法相當陰險,是將要捆綁的文件轉換成16進制保存到一個數組中。像這樣的語句:
muma:array[0..9128] of Byte=($4D,$5A.$50….$00); 需要的時候再用API 函數CreateFile和WriteFile便可將文件還原硬盤,這樣經過編譯器連接器一弄,檢測到可能性就很小了。
捆綁函數
bind函數用於將套接字綁定到一個已知的地址上。
捆綁頭文件
#include <sys/socket.h>
捆綁語法
int bind(SOCKET socket, const struct sockaddr *address,socklen_t address_len);
捆綁參數説明
socket:是一個套接字。
address_len:確定address緩衝區的長度。
捆綁返回值
如果函數執行成功,返回值為0,否則為SOCKET_ERROR。
下面的代碼創建一個套接字s,將其綁定到3010端口上。
int port = 3010;
SOCKET s = socket(AF_INET,SOCK_STREAM,IPPROTO_IP);
sockaddr_in addr;
addr.sin_family = AF_INET; //內部網絡協議TCP\UDP等
addr.sin_port = htons(port); //端口號
addr.sin_addr.s_addr = htonl(INADDR_ANY);
if (SOCKET_ERROR = bind(s,(LPSOCKADDR)&addr,sizeof(addr))==0)
{MessageBox("失敗!");}
Jquery中使用
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:16次歷史版本
- 最近更新: 遗失的螺丝