Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: code liệt kê các process của icesword Xin File isdrv120.sys của nó

  1. #1
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    Red face code liệt kê các process của icesword Xin File isdrv120.sys của nó

    anh em nào tóm được File isdrv120.sys cho mình xin nhé,làm thế nào mà tóm được nó đây nhỉ , đây là code của ice dùng để liệt kê các process ( bạn muốn chạy nó thì phải chạy icesword trước để nó load cái driver lên ,còn nếu bạn tóm được cái driver của nó thì coi như xong,không cần load icesword lên làm gì )



    liệt kê process


    Visual C++ Code:
    1. #include <windows.h>
    2. #include <stdio.h>
    3. #include "Cooperator.h"
    4.  
    5. int main()
    6. {
    7.     DWORD i,j;
    8.     if (!IsConnectServer())
    9.         ConnectAndCall();
    10.     if (!IsConnectServer())
    11.     {
    12.         printf("Error to connect server\n");
    13.         return -1;
    14.     }
    15.     DWORD pid[1000], ret;
    16.     IsdGetVersion(&ret);
    17.     printf("Icesword version : %x\n", ret);
    18.     if (IsdEnumProcesses(pid, 1000*sizeof(DWORD), &ret))
    19.     {
    20.         for (i=0; i<ret/sizeof(DWORD); i++)
    21.             printf("%d\n", pid[i]);
    22.         printf("Total:%d \n", i);
    23.     }
    24.  
    25.     HMODULE mod[1000];
    26.     if (IsdEnumProcessModules(pid[3], mod, 1000*sizeof(HMODULE), &ret))
    27.     {
    28.         for (j=0; j<ret/sizeof(HMODULE); j++)
    29.             printf("%x\n", mod[j]);
    30.         printf("Total:%d\n", j);
    31.     }
    32.     char name[2000];
    33.     if (IsdQueryProcessFileName(pid[3], name, 4000))
    34.         printf("%s\n", name);
    35.  
    36.     return 0;
    37. }

    "Cooperator.h"
    Visual C++ Code:
    1. ///////////////////////////////////////////////////////////////////
    2. //-----------------------------------------------------------------
    3. //                 Copyright (c) 2004 jfpan20000@sina.com
    4. //
    5. //                         IceSwordЭ¼þ¿â 1.06
    6. //
    7. //                           pjf    USTC
    8. //------------------------------------------------------------------
    9. ////////////////////////////////////////////////////////////////////
    10. #ifndef __ICE_COOPERATOR_
    11. #define __ICE_COOPERATOR_
    12.  
    13. #pragma comment(lib, "IceSword110.lib")
    14.  
    15. typedef LONG NTSTATUS;
    16.  
    17. //
    18. ////ָʾIsdOpenKeyµÄRootDirectoryΪ¿Õ
    19. //
    20. #define NULL_ROOT_DIR_HANDLE     ((HANDLE)0xF000000F)
    21. //
    22. ////ÀúÊ·Ô­Òò£¬½«Æ䶨ÒåΪ2000£¬ÆäʵֻÓõ½255×Ö½Ú
    23. //
    24. #define DATA_BUF_LEN                    2000
    25.  
    26. //
    27. ////IsdCreateFile¿ÉÒÔ´´½¨Óë´ò¿ªÄ¿Â¼£¬µ«±ØÐëΪdwFlagsAndAttributesÖ¸¶¨FILE_FLAG_DIRECTORY±êÖ¾
    28. //
    29. #define FILE_FLAG_DIRECTORY             0x00400000
    30.  
    31. //
    32. ////ÓÃÓÚIsdFindFile£¬¶ÔÓ¦ÓÚWIN32_FIND_DATA£¬ÓÐÒ»µãÇø±ð
    33. //
    34. typedef struct _ISD_WIN32_FIND_DATA {
    35.     DWORD         dwFileAttributes;
    36.     FILETIME      ftCreationTime;
    37.     FILETIME      ftLastAccessTime;
    38.     FILETIME      ftLastWriteTime;
    39.     LARGE_INTEGER nFileSize;
    40.     LARGE_INTEGER AllocationSize;
    41.     TCHAR         cAlternateFileName[ 14 ];
    42.     TCHAR         cFileName[ DATA_BUF_LEN ];
    43. } ISD_WIN32_FIND_DATA, *PISD_WIN32_FIND_DATA;
    44.  
    45. //
    46. ////ÓÃÓÚIsdSetInformationFile/IsdQueryInformationFile
    47. //
    48. typedef enum _FILE_INFORMATION_CLASS {
    49.     FileDirectoryInformation         = 1,
    50.     FileFullDirectoryInformation,   // 2
    51.     FileBothDirectoryInformation,   // 3
    52.     FileBasicInformation,           // 4  wdm
    53.     FileStandardInformation,        // 5  wdm
    54.     FileInternalInformation,        // 6
    55.     FileEaInformation,              // 7
    56.     FileAccessInformation,          // 8
    57.     FileNameInformation,            // 9
    58.     FileRenameInformation,          // 10
    59.     FileLinkInformation,            // 11
    60.     FileNamesInformation,           // 12
    61.     FileDispositionInformation,     // 13
    62.     FilePositionInformation,        // 14 wdm
    63.     FileFullEaInformation,          // 15
    64.     FileModeInformation,            // 16
    65.     FileAlignmentInformation,       // 17
    66.     FileAllInformation,             // 18
    67.     FileAllocationInformation,      // 19
    68.     FileEndOfFileInformation,       // 20 wdm
    69.     FileAlternateNameInformation,   // 21
    70.     FileStreamInformation,          // 22
    71.     FilePipeInformation,            // 23
    72.     FilePipeLocalInformation,       // 24
    73.     FilePipeRemoteInformation,      // 25
    74.     FileMailslotQueryInformation,   // 26
    75.     FileMailslotSetInformation,     // 27
    76.     FileCompressionInformation,     // 28
    77.     FileObjectIdInformation,        // 29
    78.     FileCompletionInformation,      // 30
    79.     FileMoveClusterInformation,     // 31
    80.     FileQuotaInformation,           // 32
    81.     FileReparsePointInformation,    // 33
    82.     FileNetworkOpenInformation,     // 34
    83.     FileAttributeTagInformation,    // 35
    84.     FileTrackingInformation,        // 36
    85.     FileIdBothDirectoryInformation, // 37
    86.     FileIdFullDirectoryInformation, // 38
    87.     FileValidDataLengthInformation, // 39
    88.     FileShortNameInformation,       // 40
    89.     FileMaximumInformation
    90. } FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;
    91.  
    92. //
    93. ////×¢²á±í²éѯ²Ù×÷½á¹¹
    94. //
    95. typedef enum _KEY_INFORMATION_CLASS {
    96.     KeyBasicInformation,
    97.     KeyNodeInformation,
    98.     KeyFullInformation,
    99.     KeyNameInformation,
    100.     KeyCachedInformation,
    101.     KeyFlagsInformation
    102. } KEY_INFORMATION_CLASS;
    103.  
    104. typedef struct _KEY_BASIC_INFORMATION {
    105.   LARGE_INTEGER LastWriteTime;
    106.   ULONG  TitleIndex;
    107.   ULONG  NameLength;
    108.   WCHAR  Name[1];  //  Variable-length string
    109. } KEY_BASIC_INFORMATION, *PKEY_BASIC_INFORMATION;
    110.  
    111. typedef enum _KEY_VALUE_INFORMATION_CLASS {
    112.     KeyValueBasicInformation,
    113.     KeyValueFullInformation,
    114.     KeyValuePartialInformation,
    115.     KeyValueFullInformationAlign64,
    116.     KeyValuePartialInformationAlign64
    117. } KEY_VALUE_INFORMATION_CLASS;
    118.  
    119. typedef struct _KEY_VALUE_BASIC_INFORMATION {
    120.     ULONG   TitleIndex;
    121.     ULONG   Type;
    122.     ULONG   NameLength;
    123.     WCHAR   Name[1];            // Variable size
    124. } KEY_VALUE_BASIC_INFORMATION, *PKEY_VALUE_BASIC_INFORMATION;
    125.  
    126. typedef struct _KEY_VALUE_PARTIAL_INFORMATION {
    127.     ULONG  TitleIndex;
    128.     ULONG  Type;
    129.     ULONG  DataLength;
    130.     UCHAR  Data[1];  //  Variable size
    131. } KEY_VALUE_PARTIAL_INFORMATION, *PKEY_VALUE_PARTIAL_INFORMATION;
    132.  
    133. typedef struct _KEY_FULL_INFORMATION {
    134.     LARGE_INTEGER  LastWriteTime;
    135.     ULONG  TitleIndex;
    136.     ULONG  ClassOffset;
    137.     ULONG  ClassLength;
    138.     ULONG  SubKeys;
    139.     ULONG  MaxNameLen;
    140.     ULONG  MaxClassLen;
    141.     ULONG  Values;
    142.     ULONG  MaxValueNameLen;
    143.     ULONG  MaxValueDataLen;
    144.     WCHAR  Class[1];
    145. } KEY_FULL_INFORMATION, *PKEY_FULL_INFORMATION;
    146.  
    147. typedef struct _KEY_VALUE_FULL_INFORMATION {
    148.     ULONG  TitleIndex;
    149.     ULONG  Type;
    150.     ULONG  DataOffset;
    151.     ULONG  DataLength;
    152.     ULONG  NameLength;
    153.     WCHAR  Name[1];  //  Variable size
    154. } KEY_VALUE_FULL_INFORMATION, *PKEY_VALUE_FULL_INFORMATION;
    155.  
    156. //
    157. ////µ¼³öº¯Êý
    158. //
    159.  
    160. /////////////////////////////////////////////////////////////////////
    161. ////IsdGetVersion
    162. //
    163. //Ä¿µÄ£º»ñÈ¡ÔËÐÐÖеÄIcesword³ÌÐò°æ±¾
    164. //
    165. //²ÎÊý£º
    166. //  Version
    167. //    [out] ³É¹¦ºó·µ»Ø°æ±¾ºÅ£¬Èç1.06°æ¾Í·µ»Ø0x106.
    168. //
    169. //·µ»ØÖµ£º³É¹¦Ôò·µ»ØTRUE.
    170. /////////////////////////////////////////////////////////////////////
    171. extern "C" __declspec(dllimport) BOOL IsdGetVersion(DWORD *Version);
    172.  
    173. /////////////////////////////////////////////////////////////////////
    174. ////IsdGetIceProcId
    175. //
    176. //Ä¿µÄ£º»ñÈ¡ÔËÐÐÖеÄIcesword½ø³ÌPID
    177. //
    178. //²ÎÊý£ºÎÞ
    179. //
    180. //·µ»ØÖµ£º³É¹¦Ôò·µ»ØPID.
    181. /////////////////////////////////////////////////////////////////////
    182. extern "C" __declspec(dllimport) DWORD IsdGetIceProcId();
    183.  
    184. /////////////////////////////////////////////////////////////////////
    185. ////IsConnectServer
    186. //
    187. //Ä¿µÄ£ºÊÇ·ñÒѾ­Á¬½Óµ½IceSword½ø³Ì
    188. //
    189. //²ÎÊý£ºÎÞ
    190. //
    191. //·µ»ØÖµ£ºÒÑÁ¬½ÓÔò·µ»ØTRUE.
    192. /////////////////////////////////////////////////////////////////////
    193. extern "C" __declspec(dllimport) BOOL IsConnectServer();
    194.  
    195. /////////////////////////////////////////////////////////////////////
    196. ////ConnectAndCall
    197. //
    198. //Ä¿µÄ£ºÁ¬½ÓIceSword½ø³Ì²¢»ñÈ¡³õʼ²ÎÊý
    199. //
    200. //²ÎÊý£ºÎÞ
    201. //
    202. //·µ»ØÖµ£º³É¹¦Ôò·µ»ØTRUE.
    203. /////////////////////////////////////////////////////////////////////
    204. extern "C" __declspec(dllimport) BOOL ConnectAndCall();
    205.  
    206. /////////////////////////////////////////////////////////////////////
    207. ////IsdEnumProcesses
    208. //
    209. //Ä¿µÄ£ºÃ¶¾Ù½ø³Ì
    210. //
    211. //²ÎÊý£º
    212. //  lpidProcess
    213. //    [out] ÓÃÓÚ±£´æ·µ»ØÖµµÄ»º³å.
    214. //  cb
    215. //    [in] »º³å´óС.
    216. //  cbNeeded
    217. //    [out] ʵ¼Ê·µ»Ø»º³å´óС.
    218. //
    219. //·µ»ØÖµ£º³É¹¦Ôò·µ»ØTRUE.
    220. //
    221. //±¸×¢£º1¡¢ËüÓëϵͳPSAPIµÄEnumProcesses¼¸ºõÒ»ÑùʹÓ㬾Ͳ»¶à˵ÁË.
    222. //      ×¢ÒâÒòΪ0ºÅIdle½ø³ÌʼÖÕ²»±ä£¬·µ»ØÖµ¾ÍÊ¡ÂÔÁË£¬ËùÒÔ½ø³Ì×ÜÊý
    223. //      Ó¦¸Ã¼ÓÒ».
    224. //      2¡¢Ëü·µ»ØµÄPID°üº¬×´Ì¬DeletingµÄ½ø³Ì£¬ÇëÓÃIsProcessDeleting
    225. //      ÅжÏÊDz»ÊǸÃ״̬£¨·µ»ØTRUEÔòÊÇ£©.
    226. /////////////////////////////////////////////////////////////////////
    227. extern "C" __declspec(dllimport) BOOL IsdEnumProcesses(
    228.                                             DWORD *lpidProcess,
    229.                                             DWORD cb,
    230.                                             DWORD *cbNeeded);
    231.  
    232. /////////////////////////////////////////////////////////////////////
    233. ////IsProcessDeleting
    234. //
    235. //Ä¿µÄ£ºÅжϽø³Ì״̬ÊÇ·ñΪDeleting
    236. //
    237. //²ÎÊý£º
    238. //  Pid
    239. //    [in] ÓÃÓÚ±£´æ·µ»ØÖµµÄ»º³å.
    240. //
    241. //·µ»ØÖµ£ºÊÇDeleting״̬½ø³ÌÔò·µ»ØTRUE.
    242. //
    243. /////////////////////////////////////////////////////////////////////
    244. extern "C" __declspec(dllimport) BOOL IsProcessDeleting(DWORD Pid);
    245.  
    246. /////////////////////////////////////////////////////////////////////
    247. ////IsdEnumProcessModules
    248. //
    249. //Ä¿µÄ£ºÃ¶¾Ù½ø³ÌÄ£¿é
    250. //
    251. //²ÎÊý£º
    252. //  Pid
    253. //    [in] ½ø³ÌPID
    254. //  lphModule
    255. //    [out] ÓÃÓÚ±£´æ·µ»ØÖµµÄ»º³å.
    256. //  cb
    257. //    [in] »º³å´óС.
    258. //  lpcbNeeded
    259. //    [out] ʵ¼Ê·µ»Ø»º³å´óС.
    260. //
    261. //·µ»ØÖµ£º³É¹¦Ôò·µ»ØTRUE.
    262. //
    263. //±¸×¢£ºËüÓëϵͳPSAPIµÄEnumProcessModules¼¸ºõÒ»ÑùʹÓã¬×¢ÒâµÚÒ»¸ö²Î
    264. //      Êý²»Í¬£¬ÕâÀïÊÇPid.
    265. /////////////////////////////////////////////////////////////////////
    266. extern "C" __declspec(dllimport) BOOL IsdEnumProcessModules(
    267.                                             DWORD Pid,
    268.                                             HMODULE *lphModule,
    269.                                             DWORD cb,
    270.                                             LPDWORD lpcbNeeded);
    271.  
    272. /////////////////////////////////////////////////////////////////////
    273. ////IsdQueryProcessFileName
    274. //
    275. //Ä¿µÄ£ºÓɽø³ÌPID»ñÈ¡½ø³ÌÎļþ·¾¶Ãû
    276. //
    277. //²ÎÊý£º
    278. //  Pid
    279. //    [in] ½ø³ÌPID
    280. //  FileName
    281. //    [out] ÓÃÓÚ±£´æ·µ»ØÖµµÄ»º³å£¬¿í×Ö·û´®.
    282. //  len
    283. //    [in] »º³å´óС.
    284. //
    285. //·µ»ØÖµ£º³É¹¦Ôò·µ»ØTRUE.
    286. //
    287. //±¸×¢£º
    288. /////////////////////////////////////////////////////////////////////
    289. extern "C" __declspec(dllimport) BOOL IsdQueryProcessFileName(
    290.                                             DWORD Pid,
    291.                                             char *FileName,
    292.                                             int len);
    293.  
    294. /////////////////////////////////////////////////////////////////////
    295. ////IsdGetModuleFileName
    296. //
    297. //Ä¿µÄ£º»ñÈ¡Ö¸¶¨½ø³ÌµÄÖ¸¶¨Ä£¿éµÄÎļþ·¾¶Ãû
    298. //
    299. //²ÎÊý£º
    300. //  Pid
    301. //    [in] ½ø³ÌPID
    302. //  hModule
    303. //    [in] Ä£¿é¾ä±ú
    304. //  lpFilename
    305. //    [out] ÓÃÓÚ±£´æ·µ»ØÖµµÄ»º³å£¬¿í×Ö·û´®.
    306. //  nSize
    307. //    [in] »º³å´óС.
    308. //
    309. //·µ»ØÖµ£º³É¹¦Ôò·µ»ØTRUE.
    310. //
    311. //±¸×¢£º
    312. /////////////////////////////////////////////////////////////////////
    313. extern "C" __declspec(dllimport) BOOL IsdGetModuleFileName(
    314.                                             DWORD Pid,
    315.                                             HMODULE hModule,
    316.                                             LPTSTR lpFilename,
    317.                                             DWORD nSize);
    318.  
    319. /////////////////////////////////////////////////////////////////////
    320. ////IsdCreateFile
    321. //
    322. //Ä¿µÄ£º´´½¨»ò´ò¿ªÎļþ(Ŀ¼ҲÊÇÌØÊâµÄÎļþ)
    323. //
    324. //²ÎÊý£º
    325. //  lpFileName
    326. //    [in] Îļþ·¾¶È«Ãû.
    327. //  dwDesiredAccess
    328. //    [in] Îļþ·ÃÎÊȨÏÞ.
    329. //  dwShareMode
    330. //    [in] ¹²Ïíģʽ.
    331. //  lpSecurityAttributes
    332. //    [in] ʼÖÕΪNULL.
    333. //  dwCreationDisposition
    334. //    [in] ´´½¨´ò¿ª²¿Êð.
    335. //  dwFlagsAndAttributes
    336. //    [in] ±êÖ¾ÊôÐÔ.
    337. //  hTemplateFile
    338. //    [in] ʼÖÕΪNULL.
    339. //
    340. //·µ»ØÖµ£º³É¹¦Ôò·µ»Ø´ò¿ª¾ä±ú£¬·ñÔò·µ»ØINVALID_HANDLE_VALUE.
    341. //
    342. //±¸×¢£ºËüÊÇϵͳAPI CreateFileµÄ×Ó¼¯£¬Ê¹ÓÃÉϲ¶à£¬ÐèҪעÒâµÄÊÇ£º
    343. //    1¡¢lpSecurityAttributes¡¢hTemplateFile²»Ö§³Ö£¬Ó¦´«ÈëNULL.
    344. //    2¡¢Ö»ÄÜÓÃËüÀ´´´½¨»ò´ò¿ªÓ²ÅÌÎļþ.
    345. //    3¡¢¶ÔËüÀ´ËµÎļþ·ÃÎÊȨÏÞdwDesiredAccessÆäʵûÓÐʲôÒâÒ壬ĬÈÏ
    346. //       ¾ÍÓÐËùÓеÄȨÏÞ£¬Ò»°ã´«Èë0¾ÍºÃ.
    347. //    4¡¢´«»ØµÄ¾ä±úÊÇÓÉIceSwordά»¤µÄ£¬²¢²»ÊÇwindowsÄں˾ä±ú£¬²»ÄÜ
    348. //       ÓÃËüÀ´Ê¹ÓÃϵͳapi.
    349. //    6¡¢IceSwordÏÞÖÆÁËÿ¸öЭ¼þ½ø³ÌµÄ¾ä±ú±í´óС£¬Îļþ¡¢×¢²á±í½ö¿É´ò
    350. //       ¿ª1000¸ö¾ä±ú.
    351. //    5¡¢Ò»¶¨Òª´«ÈëÎļþ·¾¶È«Ãû.
    352. /////////////////////////////////////////////////////////////////////
    353. extern "C" __declspec(dllimport) HANDLE IsdCreateFile(
    354.                                             LPCSTR lpFileName,
    355.                                             ULONG dwDesiredAccess,
    356.                                             ULONG dwShareMode,
    357.                                             PVOID lpSecurityAttributes,
    358.                                             ULONG dwCreationDisposition,
    359.                                             ULONG dwFlagsAndAttributes,
    360.                                             HANDLE hTemplateFile);
    361.  
    362. /////////////////////////////////////////////////////////////////////
    363. ////IsdFindFile
    364. //
    365. //Ä¿µÄ£ºÃ¶¾ÙĿ¼
    366. //
    367. //²ÎÊý£º
    368. //  hFile
    369. //    [in] Ŀ¼¾ä±ú£¬ÓÉIsdCreateFile·µ»Ø.
    370. //  lpFindFileData
    371. //    [out] ISD_WIN32_FIND_DATA½á¹¹Ö¸Õë.
    372. //  ReSet
    373. //    [in] ÖØÖÃ.
    374. //
    375. //·µ»ØÖµ£º³É¹¦Ôò·µ»ØTRUE.
    376. //
    377. //±¸×¢£ºËü½«ÏµÍ³API FindFirstFile¡¢FindNextFile¹¦Äܼ¯ºÏÔÚÒ»Æð£º
    378. //    1¡¢ReSetΪTRUEÔò´ÓµÚÒ»¸öÎļþ´Óͷö¾Ù.
    379. //    2¡¢ÖÃReSetΪFALSEÖظ´µ÷ÓÃIsdFindFileÔò¿Éö¾ÙhFileËùָĿ¼µÄËù
    380. //       ÓÐÎļþ£¬Ç뿴ʾÀý.
    381. /////////////////////////////////////////////////////////////////////
    382. extern "C" __declspec(dllimport) BOOL IsdFindFile(
    383.                                             HANDLE hFile,
    384.                                             PISD_WIN32_FIND_DATA lpFindFileData,
    385.                                             BOOL ReSet);
    386.  
    387. /////////////////////////////////////////////////////////////////////
    388. ////IsdCloseHandle
    389. //
    390. //Ä¿µÄ£º¹Ø±Õ¾ä±ú
    391. //
    392. //²ÎÊý£º
    393. //  hFile
    394. //    [in] Îļþ»òĿ¼¾ä±ú.
    395. //
    396. //·µ»ØÖµ£º³É¹¦Ôò·µ»ØTRUE.
    397. /////////////////////////////////////////////////////////////////////
    398. extern "C" __declspec(dllimport) BOOL IsdCloseHandle(HANDLE hFile);
    399.  
    400. /////////////////////////////////////////////////////////////////////
    401. ////IsdReadFile
    402. //
    403. //Ä¿µÄ£º¶ÁÎļþ
    404. //
    405. //²ÎÊý£º
    406. //  hFile
    407. //    [in] Îļþ¾ä±ú.
    408. //  lpBuffer
    409. //    [out] ¶Á»º³å.
    410. //  nNumberOfBytesToRead
    411. //    [in] ÐèÒª¶ÁÈ¡µÄ´óС.
    412. //  lpNumberOfBytesRead
    413. //    [out] ³É¹¦ºó·µ»Øʵ¼Ê¶ÁÈ¡´óС.
    414. //  lpOverlapped
    415. //    [in] ʼÖÕΪNULL.
    416. //
    417. //·µ»ØÖµ£º³É¹¦Ôò·µ»ØTRUE.
    418. //
    419. //±¸×¢£ºËüÊÇϵͳAPI ReadFileµÄ×Ó¼¯£¬Ê¹ÓÃÉϲ¶à£¬ÐèҪעÒâµÄÊÇ£º
    420. //    1¡¢lpOverlapped²»Ö§³Ö£¬Ó¦´«ÈëNULL.
    421. /////////////////////////////////////////////////////////////////////
    422. extern "C" __declspec(dllimport) BOOL IsdReadFile(
    423.                                             HANDLE hFile,
    424.                                             PVOID lpBuffer,
    425.                                             ULONG nNumberOfBytesToRead,
    426.                                             PULONG lpNumberOfBytesRead,
    427.                                             LPOVERLAPPED lpOverlapped);
    428.  
    429. /////////////////////////////////////////////////////////////////////
    430. ////IsdWriteFile
    431. //
    432. //Ä¿µÄ£º¶ÁÎļþ
    433. //
    434. //²ÎÊý£º
    435. //  hFile
    436. //    [in] Îļþ¾ä±ú.
    437. //  lpBuffer
    438. //    [out] д»º³å.
    439. //  nNumberOfBytesToWrite
    440. //    [in] ÐèҪдÈëµÄ´óС.
    441. //  lpNumberOfBytesWritten
    442. //    [out] ³É¹¦ºó·µ»Øʵ¼ÊдÈë´óС.
    443. //  lpOverlapped
    444. //    [in] ʼÖÕΪNULL.
    445. //
    446. //·µ»ØÖµ£º³É¹¦Ôò·µ»ØTRUE.
    447. //
    448. //±¸×¢£ºËüÊÇϵͳAPI WriteFileµÄ×Ó¼¯£¬Ê¹ÓÃÉϲ¶à£¬ÐèҪעÒâµÄÊÇ£º
    449. //    1¡¢lpOverlapped²»Ö§³Ö£¬Ó¦´«ÈëNULL.
    450. /////////////////////////////////////////////////////////////////////
    451. extern "C" __declspec(dllimport) BOOL IsdWriteFile(
    452.                                             HANDLE hFile,
    453.                                             PVOID lpBuffer,
    454.                                             ULONG nNumberOfBytesToWrite,
    455.                                             PULONG lpNumberOfBytesWritten,
    456.                                             LPOVERLAPPED lpOverlapped);
    457.  
    458. /////////////////////////////////////////////////////////////////////
    459. ////IsdSetFilePointerEx
    460. //
    461. //Ä¿µÄ£ºÉèÖôò¿ªÎļþµÄÖ¸ÕëλÖÃ
    462. //
    463. //±¸×¢£ºËüÓëϵͳAPI SetFilePointerExÓ÷¨Ïàͬ£¬²»×¸Êö.
    464. /////////////////////////////////////////////////////////////////////
    465. extern "C" __declspec(dllimport) BOOL IsdSetFilePointerEx(
    466.                                             HANDLE hFile,
    467.                                             LARGE_INTEGER liDistanceToMove,
    468.                                             PLARGE_INTEGER lpNewFilePointer,
    469.                                             ULONG dwMoveMethod);
    470.  
    471. /////////////////////////////////////////////////////////////////////
    472. ////IsdGetFileSizeEx
    473. //
    474. //Ä¿µÄ£ºÉèÖôò¿ªÎļþµÄÖ¸ÕëλÖÃ
    475. //
    476. //±¸×¢£ºËüÓëϵͳAPI GetFileSizeExÓ÷¨Ïàͬ£¬²»×¸Êö.
    477. /////////////////////////////////////////////////////////////////////
    478. extern "C" __declspec(dllimport) BOOL IsdGetFileSizeEx(
    479.                                             HANDLE hFile,
    480.                                             PLARGE_INTEGER lpFileSize);
    481.  
    482. /////////////////////////////////////////////////////////////////////
    483. ////IsdGetFileTime
    484. //
    485. //Ä¿µÄ£ºÉèÖôò¿ªÎļþµÄÖ¸ÕëλÖÃ
    486. //
    487. //±¸×¢£ºËüÓëϵͳAPI GetFileTimeÓ÷¨Ïàͬ£¬²»×¸Êö.
    488. /////////////////////////////////////////////////////////////////////
    489. extern "C" __declspec(dllimport) BOOL IsdGetFileTime(
    490.                                             HANDLE hFile,
    491.                                             LPFILETIME lpCreationTime,
    492.                                             LPFILETIME lpLastAccessTime,
    493.                                             LPFILETIME lpLastWriteTime);
    494.  
    495. /////////////////////////////////////////////////////////////////////
    496. ////IsdSetFileTime
    497. //
    498. //Ä¿µÄ£ºÉèÖôò¿ªÎļþµÄÖ¸ÕëλÖÃ
    499. //
    500. //±¸×¢£ºËüÓëϵͳAPI SetFileTimeÓ÷¨Ïàͬ£¬²»×¸Êö£¬µ«×¢ÒâÕâ¸öº¯Êý3¸öÖ¸
    501. //      Õ붼²»ÄÜΪ¿Õ.
    502. /////////////////////////////////////////////////////////////////////
    503. extern "C" __declspec(dllimport) BOOL IsdSetFileTime(
    504.                                             HANDLE hFile,
    505.                                             const FILETIME *lpCreationTime,
    506.                                             const FILETIME *lpLastAccessTime,
    507.                                             const FILETIME *lpLastWriteTime);
    508.  
    509. extern "C" __declspec(dllimport) LONG IsdSetInformationFile(
    510.                                             HANDLE hFile,
    511.                                             PVOID  FileInformation,
    512.                                             ULONG  Length,
    513.                                             FILE_INFORMATION_CLASS  FileInformationClass);
    514.  
    515. extern "C" __declspec(dllimport) LONG IsdQueryInformationFile(
    516.                                             HANDLE hFile,
    517.                                             PVOID  FileInformation,
    518.                                             ULONG  Length,
    519.                                             FILE_INFORMATION_CLASS  FileInformationClass);
    520.  
    521. extern "C" __declspec(dllimport) INT IsdReadProcessMemory(
    522.                                             DWORD pid,
    523.                                             PVOID BaseAddress,
    524.                                             PVOID Buf,
    525.                                             UINT Len);
    526.  
    527. extern "C" __declspec(dllimport) INT IsdWriteProcessMemory(
    528.                                             DWORD pid,
    529.                                             PVOID BaseAddress,
    530.                                             PVOID Buf,
    531.                                             UINT Len);
    532.  
    533. //
    534. ////ʹÓÃIsdOpenKey´ò¿ªµÄ¾ä±úҲӦʹÓÃIsdCloseHandle¹Ø±Õ¡£¶Ô×¢²á±í Э¼þdllÖÐÔÝʱֻµ¼³öÕ⼸¸ö£¬¼ûÁÂ:)
    535. ////ʹÓÃÉϱȽÏÂé·³£¬²Î¿¼Àý×Ó
    536. //
    537. extern "C" __declspec(dllimport) BOOL IsdOpenKey(
    538.                                             OUT PHANDLE KeyHandle,
    539.                                             IN ACCESS_MASK DesiredAccess,
    540.                                             IN HANDLE RootDirectory,
    541.                                             IN PWCHAR KeyName);
    542.  
    543. extern "C" __declspec(dllimport) NTSTATUS IsdEnumerateKey(
    544.                                             IN HANDLE KeyHandle,
    545.                                             IN ULONG Index,
    546.                                             IN KEY_INFORMATION_CLASS KeyInformationClass,
    547.                                             OUT PVOID KeyInformation,
    548.                                             IN ULONG Length,
    549.                                             IN PULONG ResultLength);
    550.  
    551. extern "C" __declspec(dllimport) NTSTATUS IsdEnumerateValueKey(
    552.                                             IN HANDLE KeyHandle,
    553.                                             IN ULONG Index,
    554.                                             IN KEY_VALUE_INFORMATION_CLASS KeyInformationClass,
    555.                                             OUT PVOID KeyInformation,
    556.                                             IN ULONG Length,
    557.                                             IN PULONG ResultLength);
    558.  
    559. #endif



    source đây
    Attached Files Attached Files
    Đã được chỉnh sửa lần cuối bởi AlexF : 14-05-2009 lúc 08:07 PM.

  2. #2
    Ngày gia nhập
    02 2009
    Bài viết
    20

    Không có IsDrv120.sys mà có IsDrv122.sys thì được không nhỉ ? Nếu ổ cứng NTFS thì deny delete cho thư mục windows\system32\drivers là chôm được ngay.
    Attached Files Attached Files
    Đang viết truyện

Các đề tài tương tự

  1. Lập trình C Code xuất thông tin về Priority Class của Process?
    Gửi bởi blue_rosevnn trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 30-11-2011, 04:17 AM
  2. API ReaddirectoryChangeW Lấy Process tạo ra sự thay đổi của fILE
    Gửi bởi honey trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 0
    Bài viết cuối: 02-09-2009, 12:10 AM
  3. Source Kill Icesword từ UserMode
    Gửi bởi Cpro trong diễn đàn Windows API, Hooking, xử lý Windows Message
    Trả lời: 4
    Bài viết cuối: 17-04-2009, 04:19 PM
  4. Source Kill Icesword từ UserMode
    Gửi bởi Cpro trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 4
    Bài viết cuối: 17-04-2009, 04:19 PM
  5. Icesword Kill Process bằng cách nào vậy
    Gửi bởi trần trân trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 2
    Bài viết cuối: 12-04-2009, 05:02 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn