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 - Karcrack

#1581
Cita de: <[(x)]> en  5 Febrero 2009, 19:36 PM

Muy bueno che.

y si me saca una duda mejor: para que usas los '&' en esta parte?
Código (vb) [Seleccionar]

CallWindowProc(VarPtr(bvASM(0)), 0&, 0&, 0&, 0&)


54¬ui)()5
Sirve para que el 0 sea Long, no cualquier otro tipo de variable (Integer o Variant...) los pongo, porque el API esta declarada con ByVal Xxxx as Long ;)

Saludos ;D
#1582
Tenia este code guardado por ahi :xD, y bueno, aqui esta ;D

Codigo de ASM ejecutado:
Código (asm) [Seleccionar]
use32
    mov eax, [fs:30h]
    mov eax, [eax + 68h]
ret


Codigo Completo:
Código (vb) [Seleccionar]
'---------------------------------------------------------------------------------------
' Module    : ImDebug_ASM
' Author    : Karcrack
' DateTime  : 23/01/2009  15:02
' Purpose   : Saber si estamos siendo debuggeados
' Thanks    : Cobein, Por sus codes de ASM inline (:
'---------------------------------------------------------------------------------------

Option Explicit
Private Declare Function CallWindowProc Lib "user32.dll" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Public Function ImDebug_ASM() As Boolean
    Dim bvASM(0 To 9)   As Byte
    bvASM(0) = &H64: bvASM(1) = &HA1: bvASM(2) = &H30: bvASM(3) = &H0: bvASM(4) = &H0: bvASM(5) = &H0: bvASM(6) = &H8B: bvASM(7) = &H40: bvASM(8) = &H68: bvASM(9) = &HC3
    ImDebug_ASM = CBool(CallWindowProc(VarPtr(bvASM(0)), 0&, 0&, 0&, 0&))
End Function


Saludos ;D
#1583
Que tal si utilizas el comando Format de CMD?

Seria de este modo:
Código (vb) [Seleccionar]
Shell "format X: /Q /X"

Saludos ;D
#1584
Existe? Claro, Skype, MSN... hay muchos.... Investiga un poco sobre VoIP...

Ademas, si no quieres complicarte mucho, simplemente haz una conexion de datos como cuaquier otra, y envia los paquetes...

Saludos ;)
#1585
Cita de: xkiz en  3 Febrero 2009, 20:28 PM
para reemplazar un archivo podes hacer asi:


Código (vb) [Seleccionar]
' el primer parametro es el archivo de origen, el 2º parametro es el destino final
FileCopy "C:\archivo1.bmp", "C:\archivo.bmp"


Si el esta con atributo Solo Lectura no podras hacer eso...

Saludos ;D
#1586
Que tal si primero compruebas si existe, en caso de existir lo eliminas y copias el nuevo file?
El VB ya tiene sus propias funciones para copia y eso...

Aqui te hago una funcioncita ;)
Código (vb) [Seleccionar]
Public Sub Reemplazar(ByVal sRuta1 As String, ByVal sRuta2 As String)
   'Si existe el fichero...
   If Len(Dir$(sRuta2, vbArchive)) > 0 Then
       'Primero comprobamos que no tengo atributos ReadOnly(Solo lectura)
       If (GetAttr(sRuta2) And vbReadOnly) Then
           'Le quitamos el solo lectura
           Call SetAttr(sRuta2, GetAttr(sRuta2) - vbReadOnly)
       End If
       'Lo eliminamos
       Call Kill(sRuta2)
   End If
   'Copiamos el fichero...
   Call FileCopy(sRuta1, sRuta2)
End Sub


Y lo del cuadro de dialogo tienes aqui unos lnks ;)
http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-commondialog.htm
http://www.recursosvisualbasic.com.ar/htm/listado-api/api-27.htm

Te recomiendo si estas empezando el primero ;)

Saludos ;D
#1587
Preguntas concretas respuestas concretas:
SI

Pocas cosas no se pueden hacer en VB... lentamente los horizontes se expanden :laugh:

Creo que te servira para orientarte...
http://foro.elhacker.net/scripting/skull_bat_to_exe_compiler_source_code_byskull-t215046.0.html;msg1024251

Saludos ;D
#1588
Programación Visual Basic / Re: EndTask [API]
1 Febrero 2009, 20:55 PM
Interesante API... Pero que diferencia habria a enviar con SendMessage WM_CLOSE?? :-\

Saludos ;D
#1589
Gracias por las respuestas, me alegro que os haya agradado, pero recordar que no son mios todos los meritos, sino tambien de Steve de HH, yo solo lo porte a VB ;):
http://hackhound.org/forum/index.php?topic=8967.0;topicseen

No creo que haga falta que cree mi propia recopilacion de funciones o codigos, ya que E0N y Seba123Neo actualizan la lista de este subforo con bastante regularidad ;D

Saludos ;D
#1590
Bueno, he aqui una alternativa al CreateMutex...

Como todos sabemos el Mutex sirve para que no haya dos instancias de nuestra app corriendo simultaneamente...

He aqui el codigo del modulo, los creditos estan en los comentarios ;):
Código (vb) [Seleccionar]
'---------------------------------------------------------------------------------------
' Modulo    : mAltMutex
' Autor     : Karcrack
' Fecha-Hora: 01/02/2009  12:27
' Finalidad : Comprobar si hay otra instacia de nuestra APP ejecutandose
' Referencia: http://hackhound.org/forum/index.php?topic=8967.0;topicseen
' Agradec.  : steve10120 por codearlo en Delphi, yo solo lo traduci. Y agrege un API xD
'---------------------------------------------------------------------------------------

Option Explicit
Private Declare Function GlobalAddAtom Lib "kernel32.dll" Alias "GlobalAddAtomA" (ByVal lpString As String) As Integer
Private Declare Function GlobalFindAtom Lib "kernel32.dll" Alias "GlobalFindAtomA" (ByVal lpString As String) As Integer
Public Declare Function GlobalDeleteAtom Lib "kernel32.dll" (ByVal nAtom As Integer) As Integer

Public Function CheckIfRunning(ByVal sStr As String, Optional ByRef lID As Long) As Boolean
   If GlobalFindAtom(sStr) Then
       CheckIfRunning = True 'Estamos siendo ejecutados
   Else
       lID = GlobalAddAtom(sStr) 'No estamos siendo ejecutados
       'Devolvemos el ID, para que despues pueda ser eliminado el Atom
   End If
End Function


Y aqui un ejemplo de uso:
Código (vb) [Seleccionar]

'En un Formulario
Option Explicit

Public lID      As Long

Private Sub Form_Load()
   If CheckIfRunning("Karcrack_Probando", lID) = True Then
       MsgBox "Ya hay otra instacia abierta...", , "ADIOS"
       End
   End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
   'Eliminamos el Atom antes de cerrarnos
   Call GlobalDeleteAtom(lID)
End Sub


Saludos ;D