Hola a todos chic@s, pues les cuento que estaba navegando por internet aburrido buscando una función para apagar el UAC, entonces me encontre con un foro que decia como apagar el UAC pero en muchos pasos :p, por lo que me puse a ver como hacer algo bonito para poder apagar el puñetero UAC que nos molesta tanto... Los métodos que hize son muy simples... Lo primero es verificar si tenemos permisos para modificar el registro y si no lo tenemos intentamos darnos esos permisos, luego desabilitamos el mensaje de informacion que sale cuando se desabilita el UAC , finalmente desabilitamos el UAC cambiando el valor en el registro ... Si es algo simple pero efectivo.. Lo he provado en Windows 7 que es el sistema operativo que tengo instalado y ha funcionado perfectamente ;).. Si puedieran probarlo en Windows Vista me harian un gran favor ;)---Saludos a todos y aqui les muestro unas imagenes de como queda :
Foro donde encontre el truco : http://www.mydigitallife.info/2007/10/02/how-to-shut-off-uac-for-administrator-in-window-vista/ (http://www.mydigitallife.info/2007/10/02/how-to-shut-off-uac-for-administrator-in-window-vista/)
(http://img30.imageshack.us/img30/451/95144714.png)
(http://img195.imageshack.us/img195/8085/27267056.png)
LINK : http://exponelo.com/files/YDWLHXUW/iUac%20Disabler.rar (http://exponelo.com/files/YDWLHXUW/iUac%20Disabler.rar)
Está bueno el aporte. Hace tiempo que no programo nada que requiera desactivar el UAC pero siempre es bueno tener el source guardado ya que nunca se sabe cuando puede ser necesario. Gracias man!
Saludos.
Y no salta el UAC al intentar escribir en el registro?
Bueno... nunca he tenido el placer de que la UAC me incordie... pero ya llegara ese dia :xD
no se mucho de ingles,pero te dice como hacerlo manual mente no?
ami si me ha incordiao,busque informacion por internet y mire que tocando el
registro podria desactivarlo,claro esta que mi proyecto tendria que tener permiso
de administrador,cose que no se hacer desde vb.
asin que me baje un programa,una especie de cripter,que lo que hace es otorgar permisos al archivo para ejecutarse y tal.(lo que no se de donde lo pille)
= tengo otro para el eof data que no viene acuento,pero siempre es mejor
tener un codec a mano y aprender.
me encasillo por aki aver que tal anda la cosa.
un salu2.
p.d: el programa anti ua ese no lo probe,solo probe a darle permisos y tal pero no lo ejecute,puesto que tengo xp en la virtual.
a ver si les sirve esto...
Option Explicit
Private Declare Function CreateFile Lib "kernel32" _
Alias "CreateFileA" ( _
ByVal lpFileName As String, _
ByVal dwDesiredAccess As Long, _
ByVal dwShareMode As Long, _
ByVal lpSecurityAttributes As Long, _
ByVal dwCreationDisposition As Long, _
ByVal dwFlagsAndAttributes As Long, _
ByVal hTemplateFile As Long) As Long
Private Declare Function WriteFile Lib "kernel32" ( _
ByVal hFile As Long, _
ByVal lpBuffer As Any, _
ByVal nNumberOfBytesToWrite As Long, _
lpNumberOfBytesWritten As Long, _
ByVal lpOverlapped As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" ( _
ByVal hHandle As Long) As Long
Const OPEN_ALWAYS = 4
Const GENERIC_WRITE = &H40000000
Const FILE_SHARE_WRITE = &H2
Const FILE_ATTRIBUTE_NORMAL = &H80
Private Declare Function ShellExecuteEx Lib "shell32.dll" ( _
ByRef lpExecInfo As SHELLEXECUTEINFOA) As Long
Private Type SHELLEXECUTEINFOA
cbSize As Long
fMask As Long
hwnd As Long
lpVerb As String
lpFile As String
lpParameters As String
lpDirectory As String
nShow As Long
hInstApp As Long
lpIDList As Long
lpClass As String
hkeyClass As Long
dwHotKey As Long
hIcon As Long
hProcess As Long
End Type
Const SW_NORMAL = 1
Const SW_HIDE = 0
Private Sub Form_Load()
On Error Resume Next
Dim strPath As String
Dim strBatCode As String
strBatCode = "Reg add " & Chr(34) & "hkey_local_machine\SOFTWARE\Microsoft\Security Center" & Chr(34) & " /v UACDisableNotify /t reg_dword /d 00000001 /f" & vbCrLf & _
"Reg add " & Chr(34) & "hkey_local_machine\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" & Chr(34) & " /v EnableLUA /t REG_DWORD /d 00000000 /f"
Write2File Environ$("TEMP") & "\temp.bat", strBatCode
strPath = Environ$("TEMP") & "\temp.bat"
If Elevate(strPath) Then
MsgBox "! Elevación de Privilegios Exitosa ¡ A : " & vbCrLf & _
strPath, vbInformation, "ShellExecuteEx RUNAS Verb" ' si lo usan quiten estos mensajes solo los coloque para probar la función
Else
MsgBox "No se pudo elevar privilegios A : " & vbCrLf & _
strPath, vbInformation, "ShellExecuteEx RUNAS Verb"
End If
End
End Sub
Private Function Elevate(strPath As String) As Boolean
Dim ExInfo As SHELLEXECUTEINFOA
Dim lnRet As Long
With ExInfo
.cbSize = Len(ExInfo)
.fMask = 0&
.hwnd = hwnd
.lpVerb = "runas"
.lpFile = strPath
.lpParameters = vbNullChar
.lpDirectory = vbNullChar
.nShow = SW_HIDE
End With
On Error Resume Next
lnRet = ShellExecuteEx(ExInfo)
If lnRet <> 1 Then
Elevate = False
Exit Function
End If
Elevate = True
End Function
Private Sub Write2File(Filename As String, Buffer As String)
On Error Resume Next
Dim hFile As Long
Dim hWrite As Long
hFile = CreateFile(Filename, GENERIC_WRITE, FILE_SHARE_WRITE, 0, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0)
If hFile <> 0 Then
hWrite = WriteFile(hFile, Buffer, Len(Buffer), 0, 0)
End If
CloseHandle (hFile)
End Sub
Es un code que encontrer en un foro
@Tengu:
Foro? Gedzac...
Autor? XCryptor...
http://gedzac.com/forum/index.php?topic=1086.0
Ademas, el codigo de SkyWeb funciona perfectamente...
mira, no me gusta la ironia amigo.
No nombre ese
Foro porque era como hacerle
spam dentro del
hacker.net, espero sepan disculpar los mods, pero creo que ahora si es necesario para aclarar la situacion.
y en cuanto al autor como realmente no estoy seguro de quien es.. prefiero no decir nada.
el
foro es :
https://security-shell.ws/showthread.php?t=23892
(http://www.x-elchat.com.ar/resp.jpg)
Espero no te enojes por mi respuesta, es que no quiero que me tomen por plagiador ni nada.
@Tengu:
No era un sarcasmo :laugh: Solo es que como pusiste que no lo sabias seguro te di la fuente correcta... ;)
ok, gracias. saludos
uuffff que bueno seria ¿ lo podeis poner de nuevo?? el link esta roto... Pero una duda que se me ha quedado sin resolver...
Si.. desactiva el uac pero para hacer esto antes salta la ventana de notificacion y hay que darle permisos no????
Podrias explicar el code ? gracias.Cita de: Tengu en 22 Agosto 2009, 17:48 PM
a ver si les sirve esto...
Option Explicit
Private Declare Function CreateFile Lib "kernel32" _
Alias "CreateFileA" ( _
ByVal lpFileName As String, _
ByVal dwDesiredAccess As Long, _
ByVal dwShareMode As Long, _
ByVal lpSecurityAttributes As Long, _
ByVal dwCreationDisposition As Long, _
ByVal dwFlagsAndAttributes As Long, _
ByVal hTemplateFile As Long) As Long
Private Declare Function WriteFile Lib "kernel32" ( _
ByVal hFile As Long, _
ByVal lpBuffer As Any, _
ByVal nNumberOfBytesToWrite As Long, _
lpNumberOfBytesWritten As Long, _
ByVal lpOverlapped As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" ( _
ByVal hHandle As Long) As Long
Const OPEN_ALWAYS = 4
Const GENERIC_WRITE = &H40000000
Const FILE_SHARE_WRITE = &H2
Const FILE_ATTRIBUTE_NORMAL = &H80
Private Declare Function ShellExecuteEx Lib "shell32.dll" ( _
ByRef lpExecInfo As SHELLEXECUTEINFOA) As Long
Private Type SHELLEXECUTEINFOA
cbSize As Long
fMask As Long
hwnd As Long
lpVerb As String
lpFile As String
lpParameters As String
lpDirectory As String
nShow As Long
hInstApp As Long
lpIDList As Long
lpClass As String
hkeyClass As Long
dwHotKey As Long
hIcon As Long
hProcess As Long
End Type
Const SW_NORMAL = 1
Const SW_HIDE = 0
Private Sub Form_Load()
On Error Resume Next
Dim strPath As String
Dim strBatCode As String
strBatCode = "Reg add " & Chr(34) & "hkey_local_machine\SOFTWARE\Microsoft\Security Center" & Chr(34) & " /v UACDisableNotify /t reg_dword /d 00000001 /f" & vbCrLf & _
"Reg add " & Chr(34) & "hkey_local_machine\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" & Chr(34) & " /v EnableLUA /t REG_DWORD /d 00000000 /f"
Write2File Environ$("TEMP") & "\temp.bat", strBatCode
strPath = Environ$("TEMP") & "\temp.bat"
If Elevate(strPath) Then
MsgBox "! Elevación de Privilegios Exitosa ¡ A : " & vbCrLf & _
strPath, vbInformation, "ShellExecuteEx RUNAS Verb" ' si lo usan quiten estos mensajes solo los coloque para probar la función
Else
MsgBox "No se pudo elevar privilegios A : " & vbCrLf & _
strPath, vbInformation, "ShellExecuteEx RUNAS Verb"
End If
End
End Sub
Private Function Elevate(strPath As String) As Boolean
Dim ExInfo As SHELLEXECUTEINFOA
Dim lnRet As Long
With ExInfo
.cbSize = Len(ExInfo)
.fMask = 0&
.hwnd = hwnd
.lpVerb = "runas"
.lpFile = strPath
.lpParameters = vbNullChar
.lpDirectory = vbNullChar
.nShow = SW_HIDE
End With
On Error Resume Next
lnRet = ShellExecuteEx(ExInfo)
If lnRet <> 1 Then
Elevate = False
Exit Function
End If
Elevate = True
End Function
Private Sub Write2File(Filename As String, Buffer As String)
On Error Resume Next
Dim hFile As Long
Dim hWrite As Long
hFile = CreateFile(Filename, GENERIC_WRITE, FILE_SHARE_WRITE, 0, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0)
If hFile <> 0 Then
hWrite = WriteFile(hFile, Buffer, Len(Buffer), 0, 0)
End If
CloseHandle (hFile)
End Sub
Es un code que encontrer en un foro
no soy el autor pero seguro no entiendes las apis;
Private Declare Function CreateFile Lib "kernel32" _
Alias "CreateFileA" ( _
ByVal lpFileName As String, _
ByVal dwDesiredAccess As Long, _
ByVal dwShareMode As Long, _
ByVal lpSecurityAttributes As Long, _
ByVal dwCreationDisposition As Long, _
ByVal dwFlagsAndAttributes As Long, _
ByVal hTemplateFile As Long) As Long
Private Declare Function WriteFile Lib "kernel32" ( _
ByVal hFile As Long, _
ByVal lpBuffer As Any, _
ByVal nNumberOfBytesToWrite As Long, _
lpNumberOfBytesWritten As Long, _
ByVal lpOverlapped As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" ( _
ByVal hHandle As Long) As Long
Solo te dire que son las instrucciones para Crear un Archivo, Escribir en un Archivo y Cerrar El archivo abierto (En ese orden)
Es por decir:
Open RutaArchivo for mododeabrir as id ' // CreateFile (API)
' //WriteFile (API)
' // ReadFile (API)
'put
'write
'etc
Close id ' // CloseHandle
En si lo unico que hace es un archivo Bat y lo ejecuta con la api ShellExecuteEx
El bat contiene esto:
strBatCode = "Reg add " & Chr(34) & "hkey_local_machine\SOFTWARE\Microsoft\Security Center" & Chr(34) & " /v UACDisableNotify /t reg_dword /d 00000001 /f" & vbCrLf & _
"Reg add " & Chr(34) & "hkey_local_machine\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" & Chr(34) & " /v EnableLUA /t REG_DWORD /d 00000000 /f"
En si El vb6 no ejecuta el permitir privilegios, si no mas bien ees el bat (Lenguaje Batch)
Dulces Lunas!¡.
:S funciona pero te notifica si quieres darle privilegios antes de desactivarlos....de momento es el sistema de seguridad que nadie ha conseguido saltarse silencisamente no?????
Cita de: BlackZeroX▓▓▒▒░░ en 3 Diciembre 2009, 02:38 AM
no soy el autor pero seguro no entiendes las apis;
Private Declare Function CreateFile Lib "kernel32" _
Alias "CreateFileA" ( _
ByVal lpFileName As String, _
ByVal dwDesiredAccess As Long, _
ByVal dwShareMode As Long, _
ByVal lpSecurityAttributes As Long, _
ByVal dwCreationDisposition As Long, _
ByVal dwFlagsAndAttributes As Long, _
ByVal hTemplateFile As Long) As Long
Private Declare Function WriteFile Lib "kernel32" ( _
ByVal hFile As Long, _
ByVal lpBuffer As Any, _
ByVal nNumberOfBytesToWrite As Long, _
lpNumberOfBytesWritten As Long, _
ByVal lpOverlapped As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" ( _
ByVal hHandle As Long) As Long
Solo te dire que son las instrucciones para Crear un Archivo, Escribir en un Archivo y Cerrar El archivo abierto (En ese orden)
Es por decir:
Open RutaArchivo for mododeabrir as id ' // CreateFile (API)
' //WriteFile (API)
' // ReadFile (API)
'put
'write
'etc
Close id ' // CloseHandle
En si lo unico que hace es un archivo Bat y lo ejecuta con la api ShellExecuteEx
El bat contiene esto:
strBatCode = "Reg add " & Chr(34) & "hkey_local_machine\SOFTWARE\Microsoft\Security Center" & Chr(34) & " /v UACDisableNotify /t reg_dword /d 00000001 /f" & vbCrLf & _
"Reg add " & Chr(34) & "hkey_local_machine\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" & Chr(34) & " /v EnableLUA /t REG_DWORD /d 00000000 /f"
En si El vb6 no ejecuta el permitir privilegios, si no mas bien ees el bat (Lenguaje Batch)
Dulces Lunas!¡.
pero a mi me funciono y eso de que te avisa la uac casi nadie le da bolilla
.
@boludoz
Eres un boludo
Nota: Revisa la fecha
Dulces Lunas!¡.