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

首頁 > 學院 > 編程設計 > 正文

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

2020-06-27 15:48:18
字體:
來源:轉載
供稿:網友
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中所調用的“運行”對話框:

API函數 

事實上調用這種函數的方法和前一種非常相似,唯一不同的只是把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
欧美日本国产在线| 隔壁老王国产在线精品| 麻豆国产va免费精品高清在线| 福利视频一区二区| www.欧美精品一二三区| 欧美日韩国产精品一区二区三区四区| 久久久91精品| 国产亚洲精品一区二区| 国产精品免费一区二区三区都可以| zzjj国产精品一区二区| 欧美日韩另类在线| 亚洲精品欧美一区二区三区| 成人免费在线视频网址| 亚洲网站在线观看| 亚洲老司机av| 中文字幕亚洲欧美在线| 久久久久www| 中文字幕久热精品在线视频| 综合激情国产一区| 欧美日韩在线视频首页| 奇米四色中文综合久久| 91po在线观看91精品国产性色| 欧美成人精品影院| 国产欧美 在线欧美| 国产精品久久久久久中文字| 久久精品色欧美aⅴ一区二区| 97超级碰碰人国产在线观看| 这里只有精品视频在线| 日韩av电影手机在线观看| 成人国产在线激情| 91免费精品国偷自产在线| 黄网站色欧美视频| xxav国产精品美女主播| 人九九综合九九宗合| 久久久久久久一区二区三区| 国产精品久久999| 日韩在线免费高清视频| 国产精品美女久久| 欧美在线视频a| 欧美有码在线观看| 国产丝袜一区视频在线观看| 欧美理论在线观看| 久久综合伊人77777蜜臀| 97在线精品国自产拍中文| 欧美性猛交xxxx富婆| 欧美另类交人妖| www.国产精品一二区| 欧美日韩中文字幕综合视频| 日韩精品日韩在线观看| 国产午夜精品全部视频在线播放| 国产精品高潮呻吟视频| 欧洲s码亚洲m码精品一区| 精品无码久久久久久国产| 国产香蕉97碰碰久久人人| 国产在线视频欧美| 色综合视频一区中文字幕| 欧美国产在线视频| 亚洲第一免费网站| 国产欧美在线播放| 97色在线观看免费视频| 欧美激情精品久久久久久免费印度| 亚洲成人精品视频| 亚洲性猛交xxxxwww| 久久这里有精品| xx视频.9999.com| 大量国产精品视频| 日本久久久久久久久| 日韩在线观看免费高清完整版| 精品亚洲国产成av人片传媒| 亚洲综合精品一区二区| 久久av资源网站| 亚洲欧美日本另类| 成人黄色午夜影院| 欧美日产国产成人免费图片| 性色av一区二区三区在线观看| 久久高清视频免费| 国产精品久久色| 色婷婷成人综合| 九九热这里只有精品免费看| 九九视频这里只有精品| 精品免费在线视频| 91在线播放国产| 欧美成人免费视频| 欧美孕妇毛茸茸xxxx| 亚洲奶大毛多的老太婆| 亚洲精品一区在线观看香蕉| 久久综合色影院| 亚洲va欧美va国产综合剧情| 中文字幕久久久av一区| 国自在线精品视频| 久久99久久99精品免观看粉嫩| 国产精品日韩在线一区| 欧美另类精品xxxx孕妇| 人人澡人人澡人人看欧美| 欧美最猛性xxxxx亚洲精品| 亚洲欧美成人网| 国产主播在线一区| 91香蕉嫩草神马影院在线观看| 国产精品久久久久不卡| 亚洲国产成人久久| 欧美一区二区.| 亚洲综合视频1区| 欧美色道久久88综合亚洲精品| 日韩欧美一区二区三区| 91欧美精品午夜性色福利在线| 欧美国产精品va在线观看| 91久久在线观看| 精品久久久在线观看| 日韩精品在线免费观看| 欧美一级高清免费播放| 久久这里有精品视频| 亚洲精品福利免费在线观看| 国产精品久久久久久久7电影| 日韩欧美国产视频| 欧美日韩国产黄| 国产精品久久久久久久一区探花| 欧美视频不卡中文| 国产精品一区二区三区久久久| 亚洲欧美日韩直播| 午夜精品理论片| 日韩欧美aⅴ综合网站发布| 国产99久久精品一区二区| 亚洲国产精品一区二区三区| 亚洲码在线观看| 亚洲欧美在线看| 粉嫩av一区二区三区免费野| 国产精品电影一区| 欧美精品久久久久| 亚洲欧美另类自拍| 亚洲综合在线中文字幕| 欧美日韩中国免费专区在线看| 成人免费网视频| 浅井舞香一区二区| 91精品国产综合久久香蕉的用户体验| 亚洲人成啪啪网站| 国产一区二区三区四区福利| 粉嫩av一区二区三区免费野| 中文字幕亚洲图片| 狠狠色香婷婷久久亚洲精品| 国产一区二区三区直播精品电影| 亚洲第一区第一页| 黄色一区二区三区| 美女黄色丝袜一区| 日本三级韩国三级久久| 色诱女教师一区二区三区| 26uuu另类亚洲欧美日本一| 精品国偷自产在线| 日韩av一区二区在线| 亚洲国产精品小视频| 欧美性生活大片免费观看网址| 亚洲视频一区二区三区| 日韩精品极品在线观看播放免费视频| 欧美黑人一级爽快片淫片高清| 亚洲一区美女视频在线观看免费| 日韩av在线网站| 色偷偷91综合久久噜噜| …久久精品99久久香蕉国产| 亚洲国产精品系列| 国产精品一区=区| 一区二区亚洲欧洲国产日韩| 亚洲国产精彩中文乱码av在线播放| 久久亚洲精品国产亚洲老地址| 日韩免费在线视频| 日韩精品在线观|