亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 應用 > 軟件技巧 > 正文

調用未公開的API函數的方法

2024-07-16 17:44:50
字體:
來源:轉載
供稿:網友
Windows SDK開發包中并未提供所有的API函數,在本文中我將討論如何調用這種未公開的API函數。

事實上所有未公開的API函數都和其它的API函數一樣包含在系統的動態鏈接庫中,調用這些函數的方法是取得它們的指針,然后通過指針來進行操作。而取得函數地址,是通過GetProcAddress這個API函數實現的:

FARPROC WINAPI GetProcAddress(
HMODULE hModule, // DLL模塊句柄
LPCSTR lpProcName // 函數名稱
);


當然,在取得地址之前,需要用LoadLibrary獲得模塊的句柄。還有,為了書寫方便,最好用typedef將函數指針定義為一種類型。

下面我將通過兩個例子來演示如何調用這些未公開的API函數。

一、有名稱的函數

這種函數在DLL中擁有自己的函數名稱,但是在SDK包中并沒有提供聲明,其中最有代表性的是RegisterServiceProcess函數:

DWORD WINAPI RegisterServiceProcess(
DWORD dwProcessId, // 進程ID
DWORD dwType // 注冊種類,1表示注冊
);


這個函數的功能是在Win98下將進程注冊為系統服務進程,很多木馬程序的隱藏就是用這個函數實現的。調用它的示例代碼如下:

typedef DWORD (WINAPI * REGISTER)( DWORD, DWORD );
HMODULE hModule;
REGISTER RegisterServiceProcess;
hModule = LoadLibrary( "kernel32.dll" );
if ( hModule != NULL )
{
RegisterServiceProcess = (REGISTER)GetProcAddress( hModule, "RegisterServiceProcess" );
RegisterServiceProcess( GetCurrentProcessId(), 1 );
FreeLibrary( hModule );
}


二、無名稱的函數

有的函數在DLL中并沒有函數名稱,這又如何調用呢?事實上所有的API函數無論有無名稱,都會有一個ID,來在DLL中標識自己。比如函數RunFileDlg,它的ID是61,功能是顯示系統“運行”對話框。下圖所列的是我開發的進程管理軟件July中所調用的“運行”對話框:

 

事實上調用這種函數的方法和前一種非常相似,唯一不同的只是把GetProcAddress的lpProcName參數使用MAKEINTRESOURCE宏將函數的ID轉換一下即可。示例代碼如下:

typedef void (WINAPI* RUN)( HWND, HICON, LPCSTR, LPCSTR, LPCSTR, UINT );
HMODULE hShell32;
RUN RunFileDlg;
hShell32 = LoadLibrary( "shell32.dll" );
RunFileDlg = (RUN)GetProcAddress( hShell32, MAKEINTRESOURCE( 61 ) );
RunFileDlg( hParent, hIcon, NULL, NULL, NULL, 0 );
FreeLibrary( hShell32 );


未公開的API函數的調用方法就介紹到這里了。事實上還有很多這樣的函數,關于這些函數的介紹及使用方法,請下載我的“未公開的Windows API函數”文檔。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩视频免费在线| 国产成人精品免费久久久久| 成人免费网站在线| 亚洲视频日韩精品| 欧美激情免费观看| 欧美日韩国内自拍| 中国人与牲禽动交精品| 亚洲深夜福利网站| 国产精品久久国产精品99gif| 亚洲国产黄色片| 在线日韩精品视频| 国产ts一区二区| 激情久久av一区av二区av三区| 黄色91在线观看| 国产精品久久久久久久美男| 97久久久免费福利网址| 亚洲国产精品久久久久久| 精品中文字幕乱| 久久乐国产精品| 成人免费淫片aa视频免费| 亚洲天堂av网| 日韩欧美大尺度| 日韩激情在线视频| 亚洲乱码一区av黑人高潮| 精品中文字幕久久久久久| 国产精品久久中文| 日韩在线视频二区| 日韩亚洲精品电影| 日韩成人中文字幕在线观看| 国产免费一区二区三区在线观看| 国产精品999999| 国产精品久久久亚洲| 精品国产自在精品国产浪潮| 国内外成人免费激情在线视频网站| 久久精品免费电影| 欧美视频在线看| 欧美性猛交xxxx黑人| 日韩有码视频在线| 国产亚洲精品久久久久动| 精品国产一区二区三区久久狼5月| 亚洲精品久久久一区二区三区| 亚洲小视频在线| 亚洲欧美日本伦理| 78m国产成人精品视频| 亚洲福利视频免费观看| 国产成人一区二区在线| 欧美性一区二区三区| 秋霞成人午夜鲁丝一区二区三区| 欧美重口另类videos人妖| 亚洲精品一区二区三区不| 奇米四色中文综合久久| 国产美女被下药99| 国产精品99久久久久久久久久久久| 国产视频精品免费播放| 亚洲国产成人精品电影| 久久久亚洲欧洲日产国码aⅴ| 91精品国产精品| 亚洲视频欧美视频| 人人爽久久涩噜噜噜网站| 自拍偷拍免费精品| 亚洲欧洲激情在线| 欧美体内谢she精2性欧美| 亚洲国产精彩中文乱码av在线播放| 97视频在线观看免费高清完整版在线观看| 国产日韩欧美黄色| 亚洲人成电影网站色…| 欧美亚洲国产精品| 亚洲美女av在线播放| 欧美性做爰毛片| 热99精品只有里视频精品| 国产精品视频色| 亚洲香蕉在线观看| 不卡av电影在线观看| 91成人免费观看网站| 亚洲第一中文字幕在线观看| 国产色婷婷国产综合在线理论片a| 亚洲天堂免费观看| 国产精品入口日韩视频大尺度| 91精品国产综合久久香蕉最新版| 最好看的2019年中文视频| 色妞在线综合亚洲欧美| 久久久久久成人| 欧美日韩免费看| 亚洲三级 欧美三级| 18久久久久久| 欧美电影免费观看| 日韩中文字幕国产| 国产亚洲a∨片在线观看| 国产精品视频精品视频| 久久99久国产精品黄毛片入口| 91久久久久久久久久久久久| 91美女高潮出水| 国产日韩欧美视频| 亚洲精品www久久久| 96sao精品视频在线观看| 国产成人精品在线| 一区二区三区视频在线| 欧美xxxx做受欧美| 亚洲精品二三区| 欧美国产日韩xxxxx| 亚洲精品国产综合区久久久久久久| 久久人91精品久久久久久不卡| 国产精品普通话| 久久久免费在线观看| 91精品国产高清| 日本不卡视频在线播放| 亚洲色图13p| 亚洲成人久久电影| 性欧美办公室18xxxxhd| 欧美中文字幕视频在线观看| 日韩欧美精品免费在线| 亚洲精品一区中文| 国外色69视频在线观看| 亚洲精品永久免费精品| 欧美激情一区二区三区高清视频| 国产97在线|亚洲| 精品亚洲aⅴ在线观看| 6080yy精品一区二区三区| 日韩成人激情影院| 夜夜嗨av一区二区三区四区| 91精品国产高清自在线| 亚洲人成电影在线播放| 高清亚洲成在人网站天堂| 亚洲国产精品专区久久| 91精品久久久久久久久中文字幕| 日韩免费av一区二区| 亚洲欧美在线看| 亚洲自拍偷拍第一页| 日产精品99久久久久久| 色久欧美在线视频观看| 97国产一区二区精品久久呦| 91精品国产电影| 精品国产成人在线| 欧美成人免费网| 国产精品免费一区二区三区都可以| 91在线免费看网站| 国产欧美日韩视频| 亚洲国产精品yw在线观看| 精品视频—区二区三区免费| 亚洲一区二区三区乱码aⅴ| 97视频在线观看成人| 91av在线播放| 亚洲性视频网址| 欧美在线一区二区视频| 91精品国产色综合| 中文精品99久久国产香蕉| 日本精品视频在线| 国产一区二区三区高清在线观看| 国内精久久久久久久久久人| 欧美老少做受xxxx高潮| 欧美性xxxxx极品娇小| 久久久久国产精品www| 日韩av在线网址| 国产精品专区一| 国产中文字幕91| 91夜夜未满十八勿入爽爽影院| 中文字幕久久亚洲| 亚洲免费高清视频| 国产99视频在线观看| 日韩黄色高清视频| 成人福利在线观看| 国自产精品手机在线观看视频| 久久影院免费观看| 精品成人乱色一区二区|