Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Tughack

#91
No estoy de acuerdo Mad.

Primero, es mejor usar APIs k objectos.

Segundo, %HOMEDRIVE% no es el desktop...

Saludos
#92
Cita de: ►Freeze en  2 Febrero 2008, 00:52 AM
Según entiendo--- Usa la funcion Environ ;)

No se puede con el Environ xD

Aki el ejemplo de API-Guide:

Const CSIDL_DESKTOP = &H0
Const CSIDL_PROGRAMS = &H2
Const CSIDL_CONTROLS = &H3
Const CSIDL_PRINTERS = &H4
Const CSIDL_PERSONAL = &H5
Const CSIDL_FAVORITES = &H6
Const CSIDL_STARTUP = &H7
Const CSIDL_RECENT = &H8
Const CSIDL_SENDTO = &H9
Const CSIDL_BITBUCKET = &HA
Const CSIDL_STARTMENU = &HB
Const CSIDL_DESKTOPDIRECTORY = &H10
Const CSIDL_DRIVES = &H11
Const CSIDL_NETWORK = &H12
Const CSIDL_NETHOOD = &H13
Const CSIDL_FONTS = &H14
Const CSIDL_TEMPLATES = &H15
Const MAX_PATH = 260
Private Type SHITEMID
    cb As Long
    abID As Byte
End Type
Private Type ITEMIDLIST
    mkid As SHITEMID
End Type
Private Declare Function ShellAbout Lib "shell32.dll" Alias "ShellAboutA" (ByVal hWnd As Long, ByVal szApp As String, ByVal szOtherStuff As String, ByVal hIcon As Long) As Long
Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Private Sub Form_Load()
    'KPD-Team 1998
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    'Show an about window
    ShellAbout Me.hWnd, App.Title, "Created by the KPD-Team 1999", ByVal 0&
    'Set the graphical mode to persistent
    Me.AutoRedraw = True
    'Print the folders to the form
    Me.Print "Start menu folder: " + GetSpecialfolder(CSIDL_STARTMENU)
    Me.Print "Favorites folder: " + GetSpecialfolder(CSIDL_FAVORITES)
    Me.Print "Programs folder: " + GetSpecialfolder(CSIDL_PROGRAMS)
    Me.Print "Desktop folder: " + GetSpecialfolder(CSIDL_DESKTOP)
End Sub
Private Function GetSpecialfolder(CSIDL As Long) As String
    Dim r As Long
    Dim IDL As ITEMIDLIST
    'Get the special folder
    r = SHGetSpecialFolderLocation(100, CSIDL, IDL)
    If r = NOERROR Then
        'Create a buffer
        Path$ = Space$(512)
        'Get the path from the IDList
        r = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal Path$)
        'Remove the unnecessary chr$(0)'s
        GetSpecialfolder = Left$(Path, InStr(Path, Chr$(0)) - 1)
        Exit Function
    End If
    GetSpecialfolder = ""
End Function


Obvio k solo necesitas una pekena parte de ese codigo ^^

Saludos
#93
SetParent  :rolleyes:

Saludos
#94
Programación Visual Basic / Re: Melt
1 Febrero 2008, 16:37 PM
Cita de: E0N en  1 Febrero 2008, 16:27 PM
Pero lo has provado?? si lo haces tal cual el av lo sigue detectando, lo digo por q me volvi loco asta dejarlo indetectable, hay q hacer un par de apaños mas...

Hay q usar LoadLibrary + GetProcAddress? pues si xD pero no solo eso ;)

No lo he probado, pero me imagino k tendras k cifrar la llamada xD

Saludos
#95
Programación Visual Basic / Re: Melt
1 Febrero 2008, 16:22 PM
Cita de: E0N en  1 Febrero 2008, 16:20 PM
Lo q detectan los av's es la llamada a CreateRemoteThead, no hablo de LoadLybrary, aunke lo llames asi lo detectan, es un pokillo mas complicado ;)

Aver eso solo se hace de una forma.. LoadLibrary + GetProcAddress jeje
#96
Programación Visual Basic / Re: Melt
1 Febrero 2008, 16:15 PM
Cita de: E0N en  1 Febrero 2008, 16:11 PM
Las mejores ideas son, o la del bat, ya q un bat si puede borrarse a si mismo si no recuerdo mal, o inyectando codigo en otro proceso, para q los AV's no detecten CreteRemoteThread llamad a la api desde la mitad en vez desde el principio, y no doy mas pistas  :P :P :P

LoadLibrary xD
#97
Programación Visual Basic / Re: Melt
1 Febrero 2008, 14:40 PM
Cita de: ||MadAntrax|| en  1 Febrero 2008, 14:35 PM
Ese método del cmd es un royo. Si finalizo el proceso con Ctrl+Alt+Supr i si el proceso se finaliza por un error de programaci´no, el Form_Terminate() no se ejecuta nunca.

Claro... inyecta codigo en un thread del explorer y ya podras esperar hasta k el proceso se finalize sea de k forma...

Saludos
#98
Programación Visual Basic / Re: Melt
1 Febrero 2008, 13:20 PM
Bueno lo del tiempo es facil...

Shell "cmd /c ping 127.0.0.1 -n 5 && del " & Chr(34) & App.Path & "\" & App.EXEName & ".exe" & Chr(34), vbHide

Osea mientras haces 5 pings al localhost, no te ejecuta el del. Pero aver esto es muy newbie... Pero seguramente mejor k crear un .bat.

Ya k estamos, Leando, para el bat borrarse a si mismo puedes hacer solo con esto:

del %0

Saludos
#99
Programación Visual Basic / Re: Melt
1 Febrero 2008, 02:23 AM
Con el del tambien funciona...

Probalo asi:

Private Sub Form_Terminate()
    Shell "cmd /c del " & Chr(34) & App.Path & "\" & App.EXEName & ".exe" & Chr(34), vbHide
End Sub

El problema es se el CPU esta mas cargado, puede k falle, se lo vas hacer con el cmd talvez sea buena idea anadir unos segundos de retraso.

Saludos
#100
Programación Visual Basic / Re: Melt
1 Febrero 2008, 02:07 AM
CitarQue os parece?

Me parece obvio y ademas ya lo havia dicho en el post anterior ^^

De todas formas con eso aclaras a todos (para los k no entendrian lo k keria decir con usar el cmd xD)

Salu2