/
init_works.cpp
67 lines (55 loc) · 2.33 KB
/
init_works.cpp
1
2
3
4
5
6
7
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
#include "pub.h"
#define LIB_PATH "libntfs5.dll"
HMODULE libntfs = NULL;
#define LFNX(y,x,z) x =(y)GetProcAddress(libntfs,z)
_ntfs_mount ntfs_mount;
_ntfs_umount ntfs_umount;
_ntfs_inode_open ntfs_inode_open;
_ntfs_inode_close ntfs_inode_close;
_ntfs_mbstoucs ntfs_mbstoucs;
_ntfs_ucstombs ntfs_ucstombs;
_ntfs_inode_lookup_by_name ntfs_inode_lookup_by_name;
_ntfs_readdir ntfs_readdir;
_ntfs_attr_get_search_ctx ntfs_attr_get_search_ctx;
_ntfs_attr_lookup ntfs_attr_lookup;
_ntfs_get_attribute_value_length ntfs_get_attribute_value_length;
_ntfs_attr_put_search_ctx ntfs_attr_put_search_ctx;
_ntfs_attr_open ntfs_attr_open;
_ntfs_attr_close ntfs_attr_close;
_ntfs_attr_pread ntfs_attr_pread;
_ntfs_attr_pwrite ntfs_attr_pwrite;
char init_ntfs()
{
ntfs_volume *vol=NULL;
inj_code("kernel32.dll","ReadFile",(long)&crypt_ReadFile);// ReadFile(0,0,0,0,0);
libntfs = LoadLibrary(LIB_PATH);
// Åñëè íå ïîëó÷èëîñü çàãðóçèòü áèáëèîòåêó - libntfs5.dll
if(!libntfs)
{
// Âûâîä ñîîáùåíèÿ
AfxMessageBox("Failed to load file: \"libntfs5.dll\" ",MB_ICONERROR );
PostQuitMessage(0);// È âûõîäû èç ïðîãðàììû
return 0;
}
//ntfs_mount=(_ntfs_mount)GetProcAddress(libntfs,"ntfs_mount");
//LFNX(ntfs_mount,_ntfs_mount,"ntfs_mount");
LFNX(_ntfs_mount,ntfs_mount,"ntfs_mount");
LFNX(_ntfs_umount, ntfs_umount,"ntfs_umount");
LFNX(_ntfs_inode_open, ntfs_inode_open,"ntfs_inode_open");
LFNX(_ntfs_inode_close, ntfs_inode_close,"ntfs_inode_close");
LFNX(_ntfs_mbstoucs,ntfs_mbstoucs,"ntfs_mbstoucs");
LFNX(_ntfs_ucstombs,ntfs_ucstombs,"ntfs_ucstombs");
LFNX(_ntfs_inode_lookup_by_name, ntfs_inode_lookup_by_name,"ntfs_inode_lookup_by_name");
LFNX(_ntfs_readdir,ntfs_readdir,"ntfs_readdir");
LFNX(_ntfs_attr_get_search_ctx,ntfs_attr_get_search_ctx,"ntfs_attr_get_search_ctx");
LFNX(_ntfs_attr_put_search_ctx, ntfs_attr_put_search_ctx,"ntfs_attr_put_search_ctx");
LFNX(_ntfs_attr_lookup,ntfs_attr_lookup,"ntfs_attr_lookup");
LFNX(_ntfs_get_attribute_value_length, ntfs_get_attribute_value_length,"ntfs_get_attribute_value_length");
LFNX(_ntfs_attr_open ,ntfs_attr_open,"ntfs_attr_open");
LFNX(_ntfs_attr_close, ntfs_attr_close,"ntfs_attr_close");
LFNX(_ntfs_attr_pread, ntfs_attr_pread ,"ntfs_attr_pread");
LFNX(_ntfs_attr_pwrite, ntfs_attr_pwrite,"ntfs_attr_pwrite");
//vol = (mntfs)("s_i",TRUE);
//vol = ntfs_mount("s_i",TRUE);
return 1;
}