00402146
|. AA stos byte ptr es
:
[edi] ; 再创建inf文件
00402147
|. FF
95
48
FFFFFF call [
local
.
46
]
0040214
D |.
8
B
3
D
30304000
mov edi
,
dword ptr ds
:
[
<
&
KERNEL
32.
ls
>
; kernel
32.
lstrlenA
00402153
|.
8
BF
0
mov esi
,
eax
00402155
|.
8
D
45
F
4
lea eax
,
[
local
.
3
]
00402158
|.
6
A
00
push
0
x
0
0040215
A |.
8
D
8
D E
0
FCFFFF lea ecx
,
[
local
.
200
]
00402160
|.
50
push eax
00402161
|.
51
push ecx ;
/
String
00402162
|. FFD
7
call edi ; \lstrlenA
00402164
|.
40
inc eax
00402165
|.
8
D
95
E
0
FCFFFF lea edx
,
[
local
.
200
]
0040216
B |.
50
push eax
0040216
C |.
52
push edx
0040216
D |.
56
push esi
0040216
E |. E
8
1
DF
0
FFFF call Server.
00401190
; 写inf文件内容
00402173
|.
83
C
4
14
add
esp
,
0
x
14
00402176
|.
6
A
01
push
0
x
1
00402178
|.
6
A
00
push
0
x
0
0040217
A |.
6
A FF push
-0
x
1
0040217
C |.
56
push esi
0040217
D |. FF
95
40
FFFFFF call [
local
.
48
]
00402183
|.
8
D
45
F
4
lea eax
,
[
local
.
3
]
00402186
|.
6
A
00
push
0
x
0
00402188
|.
8
D
8
D D
8
F
9
FFFF lea ecx
,
[
local
.
394
]
0040218
E |.
50
push eax
0040218
F |.
51
push ecx
00402190
|. FFD
7
call edi
00402192
|.
40
inc eax
00402193
|.
8
D
95
D
8
F
9
FFFF lea edx
,
[
local
.
394
]
00402199
|.
50
push eax
0040219
A |.
52
push edx
0040219
B |.
56
push esi
0040219
C |. E
8
EFEFFFFF call Server.
00401190
004021
A
1
|.
83
C
4
14
add
esp
,
0
x
14
004021
A
4
|.
56
push esi ;
/
hObject
004021
A
5
|. FF
15
10304000
call dword ptr ds
:
[
<
&
KERNEL
32.
Close
>
; \CloseHandle
004021
AB |.
8
B
45
08
mov eax
,
[arg.
1
]
004021
AE |.
68
54464000
push Server.
00404654
; My_AddService_Name
004021
B
3
|.
50
push eax
004021
B
4
|.
8
D
8
D CCF
6
FFFF lea ecx
,
[
local
.
589
]
004021
BA |.
68
4
C
464000
push Server.
0040464
C ; %s
,
,
%s
004021
BF |.
51
push ecx
004021
C
0
|. FF
15
54474000
call dword ptr ds
:
[
0
x
404754
] ; user
32.
wsprintfA
004021
C
6
|.
8
B
35
40304000
mov esi
,
dword ptr ds
:
[
<
&
KERNEL
32.
Wr
>
; kernel
32.
WritePrivateProfileStringA
004021
CC |.
83
C
4
10
add
esp
,
0
x
10
004021
CF |.
8
D
95
E
4
FDFFFF lea edx
,
[
local
.
135
]
004021
D
5
|.
8
D
85
CCF
6
FFFF lea eax
,
[
local
.
589
] ; 以下为写inf文件内容
004021
DB |.
52
push edx ;
/
FileName
004021
DC |.
50
push eax ; |String
004021
DD |.
68
40464000
push Server.
00404640
; |AddService
004021
E
2
|.
68
28464000
push Server.
00404628
; |DefaultInstall.Services
004021
E
7
|. FFD
6
call esi ; \WritePrivateProfileStringA
004021
E
9
|.
8
B
55
0
C mov edx
,
[arg.
2
]
004021
EC |.
8
D
8
D E
4
FDFFFF lea ecx
,
[
local
.
135
]
004021
F
2
|.
51
push ecx ;
/
FileName
004021
F
3
|.
52
push edx ; |String
004021
F
4
|.
68
1
C
464000
push Server.
0040461
C ; |DisplayName
004021
F
9
|.
68
54464000
push Server.
00404654
; |My_AddService_Name
004021
FE |. FFD
6
call esi ; \WritePrivateProfileStringA
00402200
|.
8
B
4
D
10
mov ecx
,
[arg.
3
]
00402203
|.
8
D
85
E
4
FDFFFF lea eax
,
[
local
.
135
]
00402209
|.
50
push eax ;
/
FileName
0040220
A |.
51
push ecx ; |String
0040220
B |.
68
10464000
push Server.
00404610
; |Description
00402210
|.
68
54464000
push Server.
00404654
; |My_AddService_Name
00402215
|. FFD
6
call esi ; \WritePrivateProfileStringA
00402217
|.
8
D
95
E
4
FDFFFF lea edx
,
[
local
.
135
]
0040221
D |.
52
push edx ;
/
FileName
0040221
E |.
68
08464000
push Server.
00404608
; |
0
x
10
00402223
|.
68
FC
454000
push Server.
004045
FC ; |ServiceType
00402228
|.
68
54464000
push Server.
00404654
; |My_AddService_Name
0040222
D |. FFD
6
call esi ; \WritePrivateProfileStringA
0040222
F |.
8
D
85
E
4
FDFFFF lea eax
,
[
local
.
135
]
00402235
|.
50
push eax ;
/
FileName
00402236
|.
68
F
8454000
push Server.
004045
F
8
; |
2
0040223
B |.
68
EC
454000
push Server.
004045
EC ; |StartType
00402240
|.
68
54464000
push Server.
00404654
; |My_AddService_Name
00402245
|. FFD
6
call esi ; \WritePrivateProfileStringA
00402247
|.
8
D
8
D E
4
FDFFFF lea ecx
,
[
local
.
135
]
0040224
D |.
51
push ecx ;
/
FileName
0040224
E |.
68
E
8454000
push Server.
004045
E
8
; |
0
00402253
|.
68
D
8454000
push Server.
004045
D
8
; |ErrorControl
00402258
|.
68
54464000
push Server.
00404654
; |My_AddService_Name
0040225
D |. FFD
6
call esi ; \WritePrivateProfileStringA
0040225
F |.
8
B
45
14
mov eax
,
[arg.
4
]
00402262
|.
8
D
95
E
4
FDFFFF lea edx
,
[
local
.
135
]
00402268
|.
52
push edx ;
/
FileName
00402269
|.
8
D
4
D CC lea ecx
,
[
local
.
13
] ; |
0040226
C |.
50
push eax ; |String
0040226
D |.
51
push ecx ; |Key
0040226
E |.
68
54464000
push Server.
00404654
; |My_AddService_Name
00402273
|. C
645
CC
53
mov byte ptr ss
:
[ebp
-0
x
34
]
,
0
x
53
; |
00402277
|.
885
D CD mov byte ptr ss
:
[ebp
-0
x
33
]
,
bl ; |
0040227
A |. C
645
CE
72
mov byte ptr ss
:
[ebp
-0
x
32
]
,
0
x
72
; |
0040227
E |. C
645
CF
76
mov byte ptr ss
:
[ebp
-0
x
31
]
,
0
x
76
; |
00402282
|. C
645
D
0
69
mov byte ptr ss
:
[ebp
-0
x
30
]
,
0
x
69
; |
00402286
|. C
645
D
1
63
mov byte ptr ss
:
[ebp
-0
x
2
F]
,
0
x
63
; |
0040228
A |.
885
D D
2
mov byte ptr ss
:
[ebp
-0
x
2
E]
,
bl ; |
0040228
D |. C
645
D
3
42
mov byte ptr ss
:
[ebp
-0
x
2
D]
,
0
x
42
; |
00402291
|. C
645
D
4
69
mov byte ptr ss
:
[ebp
-0
x
2
C]
,
0
x
69
; |
00402295
|. C
645
D
5
6
E mov byte ptr ss
:
[ebp
-0
x
2
B]
,
0
x
6
E ; |
00402299
|. C
645
D
6
61
mov byte ptr ss
:
[ebp
-0
x
2
A]
,
0
x
61
; |
0040229
D |. C
645
D
7
72
mov byte ptr ss
:
[ebp
-0
x
29
]
,
0
x
72
; |
004022
A
1
|. C
645
D
8
79
mov byte ptr ss
:
[ebp
-0
x
28
]
,
0
x
79
; |
004022
A
5
|. C
645
D
9
00
mov byte ptr ss
:
[ebp
-0
x
27
]
,
0
x
0
; |
"My_AddService_Name"
004022
A
9
|. FFD
6
call esi ; \WritePrivateProfileStringA
004022
AB |. B
1
70
mov cl
,
0
x
70
; 以上这些都还是在写inf文件内容
004022
AD |. B
0
20
mov al
,
0
x
20