Rev 3043 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3043 | Rev 3045 | ||
---|---|---|---|
1 | //CODED by Veliant, Leency 2008-2012. GNU GPL licence. |
1 | //CODED by Veliant, Leency 2008-2012. GNU GPL licence. |
2 | 2 | ||
3 | struct f70{ |
3 | struct f70{ |
4 | dword func; |
4 | dword func; |
5 | dword param1; |
5 | dword param1; |
6 | dword param2; |
6 | dword param2; |
7 | dword param3; |
7 | dword param3; |
8 | dword param4; |
8 | dword param4; |
9 | char rezerv; |
9 | char rezerv; |
10 | dword name; |
10 | dword name; |
11 | }; |
11 | }; |
12 | 12 | ||
13 | struct BDVK{ |
13 | struct BDVK{ |
14 | dword attr; |
14 | dword attr; |
15 | byte type_name; |
15 | byte type_name; |
16 | byte rez1, rez2, rez3; |
16 | byte rez1, rez2, rez3; |
17 | dword timecreate; |
17 | dword timecreate; |
18 | dword datecreate; |
18 | dword datecreate; |
19 | dword timelastaccess; |
19 | dword timelastaccess; |
20 | dword datelastaccess; |
20 | dword datelastaccess; |
21 | dword timelastedit; |
21 | dword timelastedit; |
22 | dword datelastedit; |
22 | dword datelastedit; |
23 | dword sizelo; |
23 | dword sizelo; |
24 | dword sizehi; |
24 | dword sizehi; |
25 | char name[518]; |
25 | char name[518]; |
26 | }; |
26 | }; |
27 | 27 | ||
28 | //////////////////////////// |
28 | //////////////////////////// |
29 | // Ñîçäàòü ôàéë // |
29 | // Ñîçäàòü ôàéë // |
30 | //////////////////////////// |
30 | //////////////////////////// |
31 | f70 create_file_70; |
31 | f70 create_file_70; |
32 | int CreateFile(dword file_size, read_buffer, file_path) |
32 | int CreateFile(dword file_size, read_buffer, file_path) |
33 | { |
33 | { |
34 | create_file_70.func = 2; |
34 | create_file_70.func = 2; |
35 | create_file_70.param1 = 0; |
35 | create_file_70.param1 = 0; |
36 | create_file_70.param2 = 0; |
36 | create_file_70.param2 = 0; |
37 | create_file_70.param3 = file_size; |
37 | create_file_70.param3 = file_size; |
38 | create_file_70.param4 = read_buffer; |
38 | create_file_70.param4 = read_buffer; |
39 | create_file_70.rezerv = 0; |
39 | create_file_70.rezerv = 0; |
40 | create_file_70.name = file_path; |
40 | create_file_70.name = file_path; |
41 | $mov eax,70 |
41 | $mov eax,70 |
42 | $mov ebx,#create_file_70.func |
42 | $mov ebx,#create_file_70.func |
43 | $int 0x40 |
43 | $int 0x40 |
44 | } |
44 | } |
45 | 45 | ||
46 | //////////////////////////// |
46 | //////////////////////////// |
47 | // Ïðî÷èòàòü ôàéë // |
47 | // Ïðî÷èòàòü ôàéë // |
48 | //////////////////////////// |
48 | //////////////////////////// |
49 | f70 read_file_70; |
49 | f70 read_file_70; |
50 | int ReadFile(dword pos, file_size, read_buffer, file_path) |
50 | int ReadFile(dword pos, file_size, read_buffer, file_path) |
51 | { |
51 | { |
52 | read_file_70.func = 0; |
52 | read_file_70.func = 0; |
53 | read_file_70.param1 = pos; |
53 | read_file_70.param1 = pos; |
54 | read_file_70.param2 = 0; |
54 | read_file_70.param2 = 0; |
55 | read_file_70.param3 = file_size; |
55 | read_file_70.param3 = file_size; |
56 | read_file_70.param4 = read_buffer; |
56 | read_file_70.param4 = read_buffer; |
57 | read_file_70.rezerv = 0; |
57 | read_file_70.rezerv = 0; |
58 | read_file_70.name = file_path; |
58 | read_file_70.name = file_path; |
59 | $mov eax,70 |
59 | $mov eax,70 |
60 | $mov ebx,#read_file_70.func |
60 | $mov ebx,#read_file_70.func |
61 | $int 0x40 |
61 | $int 0x40 |
62 | } |
62 | } |
63 | 63 | ||
64 | /////////////////////////// |
64 | /////////////////////////// |
65 | // Ïðî÷èòàòü ïàïêó // |
65 | // Ïðî÷èòàòü ïàïêó // |
66 | /////////////////////////// |
66 | /////////////////////////// |
67 | f70 read_dir_70; |
67 | f70 read_dir_70; |
68 | int ReadDir(dword file_count, read_buffer, read_dir_path) |
68 | int ReadDir(dword file_count, read_buffer, read_dir_path) |
69 | { |
69 | { |
70 | read_dir_70.func = 1; |
70 | read_dir_70.func = 1; |
71 | read_dir_70.param1 = 0; |
71 | read_dir_70.param1 = 0; |
72 | read_dir_70.param2 = 0; |
72 | read_dir_70.param2 = 0; |
73 | read_dir_70.param3 = file_count; |
73 | read_dir_70.param3 = file_count; |
74 | read_dir_70.param4 = read_buffer; |
74 | read_dir_70.param4 = read_buffer; |
75 | read_dir_70.rezerv = 0; |
75 | read_dir_70.rezerv = 0; |
76 | read_dir_70.name = read_dir_path; |
76 | read_dir_70.name = read_dir_path; |
77 | $mov eax,70 |
77 | $mov eax,70 |
78 | $mov ebx,#read_dir_70.func |
78 | $mov ebx,#read_dir_70.func |
79 | $int 0x40 |
79 | $int 0x40 |
80 | } |
80 | } |
81 | 81 | ||
82 | /////////////////////////// |
82 | /////////////////////////// |
83 | // Çàïóñê ïðîãðàììv // |
83 | // Çàïóñê ïðîãðàììv // |
84 | /////////////////////////// |
84 | /////////////////////////// |
85 | f70 run_file_70; |
85 | f70 run_file_70; |
86 | int RunProgram(dword run_path, run_param) |
86 | int RunProgram(dword run_path, run_param) |
87 | { |
87 | { |
88 | run_file_70.func = 7; |
88 | run_file_70.func = 7; |
89 | run_file_70.param1 = |
89 | run_file_70.param1 = |
90 | run_file_70.param3 = |
90 | run_file_70.param3 = |
91 | run_file_70.param4 = |
91 | run_file_70.param4 = |
92 | run_file_70.rezerv = 0; |
92 | run_file_70.rezerv = 0; |
93 | run_file_70.param2 = run_param; |
93 | run_file_70.param2 = run_param; |
94 | run_file_70.name = run_path; |
94 | run_file_70.name = run_path; |
95 | $mov eax,70 |
95 | $mov eax,70 |
96 | $mov ebx,#run_file_70.func |
96 | $mov ebx,#run_file_70.func |
97 | $int 0x40 |
97 | $int 0x40 |
98 | } |
98 | } |
99 | 99 | ||
100 | /////////////////////////// |
100 | /////////////////////////// |
101 | // Ñîçäàíèå ïàïêè // |
101 | // Ñîçäàíèå ïàïêè // |
102 | /////////////////////////// |
102 | /////////////////////////// |
103 | f70 create_dir_70; |
103 | f70 create_dir_70; |
104 | int CreateFolder(dword new_folder_path) |
104 | int CreateFolder(dword new_folder_path) |
105 | { |
105 | { |
106 | create_dir_70.func = 9; |
106 | create_dir_70.func = 9; |
107 | create_dir_70.param1 = |
107 | create_dir_70.param1 = |
108 | create_dir_70.param2 = |
108 | create_dir_70.param2 = |
109 | create_dir_70.param3 = |
109 | create_dir_70.param3 = |
110 | create_dir_70.param4 = |
110 | create_dir_70.param4 = |
111 | create_dir_70.rezerv = 0; |
111 | create_dir_70.rezerv = 0; |
112 | create_dir_70.name = new_folder_path; |
112 | create_dir_70.name = new_folder_path; |
113 | $mov eax,70 |
113 | $mov eax,70 |
114 | $mov ebx,#create_dir_70.func |
114 | $mov ebx,#create_dir_70.func |
115 | $int 0x40 |
115 | $int 0x40 |
116 | } |
116 | } |
117 | 117 | ||
118 | //////////////////////////// |
118 | //////////////////////////// |
119 | // Óäàëåíèå ôàéëà/ïàïêè // |
119 | // Óäàëåíèå ôàéëà/ïàïêè // |
120 | //////////////////////////// |
120 | //////////////////////////// |
121 | f70 del_file_70; |
121 | f70 del_file_70; |
122 | int DeleleFile(dword del_file_path) |
122 | int DeleleFile(dword del_file_path) |
123 | { |
123 | { |
124 | del_file_70.func = 8; |
124 | del_file_70.func = 8; |
125 | del_file_70.param1 = |
125 | del_file_70.param1 = |
126 | del_file_70.param2 = |
126 | del_file_70.param2 = |
127 | del_file_70.param3 = |
127 | del_file_70.param3 = |
128 | del_file_70.param4 = |
128 | del_file_70.param4 = |
129 | del_file_70.rezerv = 0; |
129 | del_file_70.rezerv = 0; |
130 | del_file_70.name = del_file_path; |
130 | del_file_70.name = del_file_path; |
131 | $mov eax,70 |
131 | $mov eax,70 |
132 | $mov ebx,#del_file_70.func |
132 | $mov ebx,#del_file_70.func |
133 | $int 0x40 |
133 | $int 0x40 |
134 | } |
134 | } |
135 | 135 | ||
136 | /////////////////////////// |
136 | /////////////////////////// |
137 | // Ñêîïèðîâàòü ôàéë // |
137 | // Ñêîïèðîâàòü ôàéë // |
138 | /////////////////////////// |
138 | /////////////////////////// |
139 | f70 CopyFile_f; |
139 | f70 CopyFile_f; |
140 | inline fastcall int CopyFile(dword EBX,ECX) |
140 | inline fastcall int CopyFile(dword EBX,ECX) |
141 | { |
141 | { |
142 | BDVK CopyFile_atr; |
142 | BDVK CopyFile_atr; |
143 | dword s=EBX, d=ECX, cBufer=0; |
143 | dword s=EBX, d=ECX, cBufer=0; |
144 | CopyFile_f.func = 5; |
144 | CopyFile_f.func = 5; |
145 | CopyFile_f.param1 = 0; |
145 | CopyFile_f.param1 = 0; |
146 | CopyFile_f.param2 = 0; |
146 | CopyFile_f.param2 = 0; |
147 | CopyFile_f.param3 = 0; |
147 | CopyFile_f.param3 = 0; |
148 | CopyFile_f.param4 = #CopyFile_atr; |
148 | CopyFile_f.param4 = #CopyFile_atr; |
149 | CopyFile_f.rezerv = 0; |
149 | CopyFile_f.rezerv = 0; |
150 | CopyFile_f.name = s; |
150 | CopyFile_f.name = s; |
151 | $mov eax, 70 |
151 | $mov eax, 70 |
152 | $mov ebx, #CopyFile_f |
152 | $mov ebx, #CopyFile_f |
153 | $int 0x40 |
153 | $int 0x40 |
154 | 154 | ||
155 | if (!EAX) |
155 | if (!EAX) |
156 | { |
156 | { |
157 | cBufer = malloc(2*CopyFile_atr.sizelo); |
157 | cBufer = malloc(2*CopyFile_atr.sizelo); |
158 | ReadFile(dword 0, CopyFile_atr.sizelo, cBufer, s); |
158 | ReadFile(dword 0, CopyFile_atr.sizelo, cBufer, s); |
159 | 159 | ||
160 | IF (!EAX) |
160 | IF (!EAX) |
161 | { |
161 | { |
162 | CopyFile_f.func = 2; |
162 | CopyFile_f.func = 2; |
163 | CopyFile_f.param1 = 0; |
163 | CopyFile_f.param1 = 0; |
164 | CopyFile_f.param2 = 0; |
164 | CopyFile_f.param2 = 0; |
165 | CopyFile_f.param3 = CopyFile_atr.sizelo; |
165 | CopyFile_f.param3 = CopyFile_atr.sizelo; |
166 | CopyFile_f.param4 = cBufer; |
166 | CopyFile_f.param4 = cBufer; |
167 | CopyFile_f.rezerv = 0; |
167 | CopyFile_f.rezerv = 0; |
168 | CopyFile_f.name = d; |
168 | CopyFile_f.name = d; |
169 | $mov eax, 70 |
169 | $mov eax, 70 |
170 | $mov ebx, #CopyFile_f |
170 | $mov ebx, #CopyFile_f |
171 | $int 0x40 |
171 | $int 0x40 |
172 | } |
172 | } |
173 | } |
173 | } |
174 | return EAX; |
174 | return EAX; |
175 | 175 | ||
176 | } |
176 | } |
- | 177 | ||
- | 178 | void notify(dword notify_param) |
|
- | 179 | { |
|
177 | 180 | RunProgram("@notify", notify_param); |
|
178 | 181 | } |