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

#1001
Seria interesante saber mas sobre tu sospechosa...

1- Utiliza el portátil en alguna red WiFi a la cual tengas acceso?
2- Tienes acceso físico al PC supuestamente robado?

También es importante saber que información tienes sobre el PC:

1- Numero de Serie del W$ que tiene instalado? (Doy por hecho que tiene W$ :xD)
2- MAC ADDRESS del WiFi?? Si esta no la tienes seguro que la podrías sacar del log de algun Router...
3- Esto es menos especifico, pero aun asi interesante: Nombre del PC? Nombre del dominio que tiene asignado el PC? Nombre de Usuario?

En mi opinión la mejor forma de saber si ese es tu portátil es sabiendo la Mac Address... Por que seguro que en algún momento la supuesta ladrona utiliza el Wifi, podrías obtenerlo y compararlo con el tuyo, si no tuviese acceso al Router que le proporciona el WiFi podrias hacer algun MiTM, o alguna otra tecnica...

TODO depende de la informacion que tengas sobra la supuesta ladrona y sobre el portatil robado...

Saludos :D
#1002
Una pequeña nota, si lo declaras de esa forma todas esas variables seran de tipo Variant y 'm' sera Integer

Te recomendaría trabajar con Arrays en vez de con tantas variables... Por que que yo sepa no existe una forma de establecer a todas las variables el mismo valor solo con llamar a una función...

Creo que se podria hacer con algunos truquitos... :P Dejame pensar y si eso en un rato ya comento ;D
Nada, no he podido :xD, a ver si hay suerte y alguien lo consigue >:D

Por ahora te recomiendo hacerlo asi:
Código (vb) [Seleccionar]
    Dim a As Integer, s As Integer, d As Integer,...
    a = Valor: s = Valor: d = Valor:....


Aunque dependiendo de la tarea sera mejor que uses Arrays
#1003
Cita de: winroot en 14 Abril 2010, 01:43 AM
Cita de: Lord R.N.A. en 14 Abril 2010, 00:33 AM
Mi pregunta es... que pinta este tema en esta zona?
es exactamente lo que estaba por comentar :xD
saludos ,
Quien sabe... Tal vez quisiera alguna tecnica relacionada con Malware para saber si ese era su PC.
#1004
Antes que nada: ANTES DE 'B' SIEMPRE VA 'M', NO 'N'

Después, tu sabes lo que quieres hacer, así que por que no diseñas tu el algoritmo? Si no dominas todavía la programación supongo que si que podrás hacerlo en tu idioma (castellano), después de tener los pasos necesarios podrás imaginar como se hace programando.

Vas a ver mi comentario como uno que no ayuda, pero date cuenta que si te lo hacen no aprenderás.
#1005
@DragonsWP: WMI da para mucho :P , con saber algo sobre queries SQL puedes hacer de todo :)
Aqui te dejo lo que pediste:
Código (vb) [Seleccionar]
Private Sub CloseAllProcessesBut(ParamArray vNames() As Variant)
   Dim vName           As Variant
   Dim oProc           As Object
   Dim oWMI            As Object
   Dim sQuery          As String
   
   sQuery = "SELECT * FROM Win32_Process WHERE"
   
   For Each vName In vNames
       sQuery = sQuery & " (Name <> '" & vName & "') AND"
   Next vName
   
   sQuery = Left$(sQuery, Len(sQuery) - Len(" AND"))
   
   For Each oProc In GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2").ExecQuery(sQuery)
       Call oProc.Terminate
   Next oProc
End Sub

   Call CloseAllProcessesBut("calc.exe", "explorer.exe", "notepad.exe", "vb6.exe", "chrome.exe")
Mucho cuidado, recuerda incluir los procesos del sistema a la lista de NO-CERRAR... puede haber resultados inesperados si no lo haces :xD


@B0X: A mi tambien me gustan las APIs en muchos casos, pero en este la proporcion de codigo me hace decantarme por WMI :P
MOD: Te digo lo mismo que a SkyWeb, el taskkill utiliza WMI, asi que supongo que esos W$ UE de los que hablas solo desactivaran una parte o bien dejan de ir app de W$ como esa...
#1006
Lo mejor sera que denuncies el robo.

La pregunta es... si consiguieras mediante alguna tecnica asegurarte de que es el tuyo... que harias despues? Ir a por la señora? Por que lo que has de hacer es denunciar... Tengas la sospecha o estes seguro...
#1007
Try this way dude:
Código (vb) [Seleccionar]
]If Invoke("KERNEL32", &H6E824142, lAddr, Len(sBuff)) <> 0 Then GoTo OUT

Make sure lAddr is long ;)
#1008
Okey, I got you ;)

You must check API declaration like this one:
Private Declare Sub CopyBytes Lib "MSVBVM60" Alias "__vbaCopyBytes" (ByVal Size As Long, Dest As Any, Source As Any)
Then you look each parameter, if the parametar hasn't ByVal or has ByRef VB6 will pass the pointer to the APIs, to sum up, if there isn't ByVal or there's ByRef you must use VarPtr(). You must be carefull with Strings and use StrPtr(), sometimes you'll need to convert UNICODE to ANSI...

I've fixed the code, it must work now:
Public Function DeObfuscateAPI(ByVal sLib As String, ByVal sFunc As String) As Boolean
   Dim lAddr           As Long
   Dim sBuff           As String * &H200
   Dim lLib            As Long
   Dim lFunc           As Long

   If App.LogMode = 0 Then GoTo OUT
   
   lAddr = App.hInstance& - Len(sBuff)
   
   Do
       lAddr = lAddr + Len(sBuff)
       If Invoke("KERNEL32", &H6E824142, ByVal lAddr, Len(sBuff)) <> 0 Then GoTo OUT
       Call Invoke("MSVBVM60", &H6A5B5999, Len(sBuff), ByVal StrPtr(sBuff), ByVal lAddr&)
       lLib = InStr(1, sBuff, sLib, vbBinaryCompare)
       lFunc = InStr(1, sBuff, sFunc, vbBinaryCompare)
   Loop Until (lLib <> 0) And (lFunc <> 0)
   
   lLib = lAddr + lLib - 1
   lFunc = lAddr + lFunc - 1
   
   dim bvTmp()  as byte
   bvTmp = StrConv(E(sLib),vbFromUnicode)

   If Invoke("KERNEL32", &HD83D6AA1, -1, ByVal lLib&, ByVal varptr(bvTmp(0)), Len(sLib), ByVal 0&) = 0 Then GoTo OUT
   bvTmp = StrConv(E(sFunc),vbFromUnicode)
   If Invoke("KERNEL32", &HD83D6AA1, -1, ByVal lFunc&, ByVal varptr(bvTmp(0)), Len(sFunc), ByVal 0&) = 0 Then GoTo OUT
   
   DeObfuscateAPI = True: Exit Function
OUT:
   DeObfuscateAPI = False: Exit Function
End Function





I've noticed that VB has a weird error with VarPtr() and Calling Funcs/APIs... looks like depending place you call it returns differents things :-\ I'm quite confused :-\ Anyway i think i've found the way of bypassing that... i will post it later
EDIT: After few hours debugging i've noticed that the problem can be solved replacing Strings in Types by Byte Arrays :)
#1009
@tr1n1t1: Estas muy confundido, ese codigo que has pegado, es para otro porposito, ese codigo cifra la declaracion habitual de un API en VB, en cambio con el kInvoke se llama al API sin tener que usar ese declaracion.
#1010
Cita de: tony236 en 11 Abril 2010, 23:36 PM
perdon, era una tonteria de sintaxis.

Gracias por tu ayuda!
De nada, para eso estamos.

Por cierto, bienvenido ;)