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 - Eleкtro

#7401
Scripting / Re: Zona de retos Scripting
20 Enero 2014, 15:12 PM
Reto Nº 1 PERL

Nombre:          [RETO-EJERCICIO] Perl (mDrinky)
Discusión:       http://foro.elhacker.net/scripting/retoejercicio_perl-t406522.0.html
Dificultad:       N/A
Objetivo:        Sumar las filas y las columnas de una matriz (5x5) que será introducida por el usuario
#7402
Este tema ha sido añadido al Recopliatorio de Posts importantes sobre Scripting

Gracias por compartir.
#7403
Cita de: .:Weeds:. en 20 Enero 2014, 05:13 AMSe me ha ocurrido otro metodo chapuzas que es iniciar el form 'Invisible' al cargar el programa forzando a cargarse pero me gustaria hacer las cosas bien.

Vaya, pues eso es lo que te iba a decir yo xD.

Teniendo en cuenta que en cada inicio la aplicación debes instanciar ese form una primera vez para que todos los controles se dibujen y tal ...yo creo que lo que llamas método chapuzas en realidad es la única manera de aumentar la velocidad de carga. aunque, bueno, mi especialidad no es el rendimiento de memoria, sólamente hablo por lógica ya que lo innecesario no se carga en memoria a menos que sea bajo demanda.

Esto es una de esas cosas que deberían hacerse al cargar la aplicación, es decir en el evento Startup.

Y si tienes varios forms que deseas mantener "cargados" entonces podrías valerte de un Stack de forms para ir precargándolos cuando sea necesario.

Código (vbnet) [Seleccionar]
Public Class Form1

   Public Shared PreloadForms As New Stack(Of Form)

    Private Shadows Sub Shown() Handles MyBase.Shown
        ShowForm()
    End Sub

    Private Sub ShowForm()
        ' Muestro el Formulario y lo elimino del stack.
        PreloadForms.Pop.Show()
    End Sub

End Class


Código (vbnet) [Seleccionar]

Imports WindowsApplication... .Form1

Namespace My

   Friend Class MyApplication

       Private Shadows Sub Startup() Handles MyBase.Startup

           ' Añado el form al stack, es decir, lo precargo.
           PreloadForms.Push(My.Forms.Form2)

           ' Información adicional.
           Debug.WriteLine(String.Format("{0} is preloaded", Form1.PreloadForms.Peek.Name))

       End Sub

   End Class

End Namespace


Y aparte de eso puedes precompilar tu aplicación usando NGEN.

Saludos
#7404
Desarrollo Web / Re: Duda con xquery
20 Enero 2014, 04:19 AM
Muevo el tema, y paciencia ...segúramente en esta sección tengas más suerte.

Saludos.
#7406
Cita de: .:Weeds:. en 20 Enero 2014, 02:19 AMNo hay alguna manera mejor de llevar a cabo esto?

¿Porque utilizas reflection para instanciar un form que ya es accesible desde el propio ensamblado para modificar una propiedad?.

...a menos que existan otros aspectos del problema que no hayas detallado o que yo no haya entedido y te obliguen a usar Reflection, no es necesario más que esto:

Código (VBNET) [Seleccionar]
Chat.Text = contacto
Chat.Show()


Aparte, como alternativa (aunque innecesaria dado el caso), quizás podrías valerte del constructor del form:

Código (vbnet) [Seleccionar]
Public Class ChatForm

   Public Sub New(ByVal Contact As String)

       InitializeComponent()
       MyBase.Text = Contact

   End Sub

   Private Shadows Sub Load(sender As Object, e As EventArgs) Handles MyBase.Load

       MsgBox(MyBase.Text)

   End Sub

End Class


Código (vbnet) [Seleccionar]
Public Class Form1

   Private WithEvents ChatForm As Form = Nothing

   Private Sub ShowForm()

       ChatForm = New ChatForm("Mi contacto")
       ChatForm.Show()

   End Sub

End Class


PD: No se si es eso lo que andas buscando.

Saludos
#7407
Foro Libre / Re: bromas dirigidas a lammers
19 Enero 2014, 21:31 PM
Creo que comportarse de manera Troll con un Lammer es ponerse al mismo nivel (de incompetencia).

A mi no me haría gracia ver como se trata así a la gente, ¿y encima en un subforo dedicado a Lammers? ...me parece algo ridículo y digno de ban a cualquiera que comentase en ese subforo para trollear, pues bastante pena da ya la ignorancia de algunas personas (más conocidas como lammers), pero más pena daría que la gente que tiene más sabiduria los tratase con bromas lammers, joder, un poco de ética.

Recordemos que aquí y en el mundo entero, quien más y quien menos, todos hemos tenido momentos de ignorancia, pues no se puede saber todo sobre todos los temas ...así que todos hemos sido Lammers, y siempre lo seguiremos siendo en un sentido u otro.

Ser lammer y creerse el mejor, yo lo veo dos cosas distintas aunque para muchos un Lammer solo son aquellas personas que son ignorantes en el mundo del Hacking pero se creen las mejores,
y no sé ...pienso que lo mejor que pueden hacer por un lammer es explicarle porque es ignorante para que deje de serlo (siempre que valga la pena explicarselo, claro, porque hay cada Lammer que es mejor dejarlo feliz en su ignorancia).

Me parece muy mal esta iniciativa @CrazyKenny.

Saludos!
#7408
Scripting / Re: Variables en BATCH
19 Enero 2014, 19:39 PM
Cita de: crazykenny en 19 Enero 2014, 19:26 PM
Por ultimo, y, si no es mucho pedir y/o mucha molestia, claro esta, ¿podría utilizar los datos que has expuesto y/o los comandos del administrador de tareas que hay indicados en el enlace del otro mensaje que has puesto?.

No se exáctamente a que otro mensaje te refieres, pero si, sea como sea ...claro que puedes.

Si, claro que puedes usar lo que te haya interesado del script del Virulator.


Cita de: crazykenny en 19 Enero 2014, 19:26 PM¿Qué métodos hay para que un virus se ejecute automáticamente al entrar el pendrive donde esta almacenado en un ordenador? (aparte del autorun.ini claro esta).

La cuestión es que (en Windows 7 y 8, supongo que te refieres a eso) no existe ningún método por software, la característica AutoRun está complétamente deshabilitada en Windows, no existe, por ende no hay nada que puedas lograr.

EDITO: Y el único modo en WinXP es usar el Autorun.ini, que además hay que tener en cuenta que el servicio de AutoPlay debe estar activado en el sistema donde se ejecute ese Pendrive, cosa que depende únicamente del usuario de ese PC y puede desactivar en cualquier momento o cambiar los parámetros para no ejecutar los autoruns en dispositivos extraibles.

Encontré un USB camaleónico por si te interesa (aunque el método es bastante distinto a lo que comenté de hacerse pasar por un CDROM):
~> Custom USB sticks bypassing Windows 7/8′s AutoRun protection

Saludos!
#7409
Scripting / Re: Variables en BATCH
19 Enero 2014, 19:10 PM
Bien, vamos por partes

Lo primero de todo, el método de autoejecutar un archivo desde un pendrive es algo prehistórico ya que a partir de Windows vista (o fue desde windows 7, no recuerdo bien) quedó totálmente obsoleto, Microsoft eliminó por completo la capacidad de poder ejecutar un autorun desde un dispositivo extraible por los motivos de seguridad que ya te puedes imaginar, así que en estos tiempos que corren solo puedes escribir un autorun para dispositivos de CD-ROM.

...Aunque, por otro lado, habian (no se si aún existen) dispositivos USB que su hardware se hacia pasar por un dispositivo de CDROM, pudiendo así engañar al sistema Windows para iniciar un autorun desde ese pendrive "camaleónico". para que te hagas una idea, como esos USB de los chinos de eBay que dicen tener más capacidad de almacenamiento de la que reálmente tienen.

En resumen, el autorun solo te va a servir para los que usen Windows XP o inferior, no vale la pena experimentar con métodos antiguos.




Bien, sobre autoejecutar un archivo desde el registro, debes saber dos cosas importantes:

1. Es un método facil y efectivo, lo que implica que a su vez sea igual de facil de detectar como mirar en la lista de procesos que se ejecutan al inicio de Windows, e igual de facil es de eliminar.

2. La mayoría de gente que usa esa técnica no saben que tiene sus limitaciones, la limitación más grande es que este archivo no se podrá ejecutar si el usuario inicia sesión en modo seguro, claro ...eso es lo que pasa si se juega a hacer "virus" sin nisiquiera conocer apenas como funciona un sistema operativo. aunque esto se puede llegar a conseguir de forma facil.


A continuación te detallaré (no mucho) los dos puntos improtantes que acabo de mencionar:

1.
El registro de windows proporciona una clave para indicar ciertos archivos que se deben ejecutar al inicio del sistema,
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

La raíz HKEY_LOCAL_MACHINE (también conocida como HKLM) hace referencia a todos los usuarios del sistema, es decir, si añades la subclave para iniciar tu programa en esa clave, tu programa se iniciará en la sesión de todos los usuarios.

La raíz HKEY_CURRENT_USER (también conocida como HKCU) hace referencia a la sesión del usuario actual, es decir, si añades tu programa ahí se iniciará solamente en la sesión del usuario actual.

Aquí puedes ver varios ejemplos de como añadir un programa a esta clave, usando Batch:

Código (dos) [Seleccionar]

:: Converted with REG2BAT v2.1 by Elektro

@Echo OFF

REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /V "Hot Corners" /T "REG_SZ" /D "Wscript.exe \"C:\Program Files (x86)\Hot Corners\RUN.vbs"" /F
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /V "MiniBin" /T "REG_SZ" /D "C:\Program Files (x86)\MiniBin\minibin.exe" /F
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /V "Rocket Dock" /T "REG_SZ" /D "C:\Program Files (x86)\RocketDock\RocketDock.exe" /F
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /V "Sidebar" /T "REG_SZ" /D "C:\Program Files\Windows Sidebar\sidebar.exe /autoRun" /F
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /V "Sizer" /T "REG_SZ" /D "C:\Program Files (x86)\Sizer\Sizer.exe" /F
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /V "Automatic wallpaper Changer" /T "REG_SZ" /D "C:\Program Files\Automatic Wallpaper Changer\Automatic wallpaper Changer.exe" /F


Examinemos una orden cualquiera del script que he msotrado:
Cita de: Elektro
Código (dos) [Seleccionar]
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /V "MiniBin" /T "REG_SZ" /D "C:\Program Files (x86)\MiniBin\minibin.exe" /F

El valor del parámetro ADD del comando REG es HKCU\Software\Microsoft\Windows\CurrentVersion\Run, esto indica la subclave donde agregar el nuevo valor.

El valor del parámetro /V (o Value) indica el nomrbe del nuevo valor, en este caso MiniBin

El valor del parámetro /T (o Type) indica el tipo de datos del valor (pues puede ser un valor de tipo String, o binario, etc) en este caso es REG_SZ que hace referencia a tipo String (texto) y es el valor por defecto (es decir, no es necesario especiicar el parámetro /T si los datos son de tipo texto).

Y por último, el valor del parámetro /D (o Data) indica los datos del valor, en este caso es la ubicación del programa que queremos ejecutar C:\Program Files (x86)\MiniBin\minibin.exe

Como nota adicional, puedes usar variables de entorno ( %WINDIR%,  %APPDATA%, etc) si estableces el tipo de subclave a REG_EXPAND_SZ, si el valor es de tipo REG_SZ no te va a funcionar la variable de entorno que escribas (adentro de los datos del valor me refiero, no en el script Batch).




2.
Ya sabes como añadir tu programa al inicio de Windows, ahora, ¿Como evitar que el programa no se inicie en modo seguro?

Bueno, por pura lógica si Windows tiene un modo de inicio que se denomina "Modo seguro", es por una buena razón, ya que sólamente se cargan los drivers y otros elementos esenciales del sistema operativo, omitiendo así cualquier programa innecesario al cargar windows, como por ejemplo, los programas que agreguemos al registro para que se ejecuten al inicio de sesión.

Pero esto es algo tan sencillo de evitar como añadir el símbolo * al nombre del valor, por ejemplo:

Código (dos) [Seleccionar]
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /V "*Programa" /T "REG_SZ" /D "C:\MiPrograma.exe" /F

El prefijo * se denomina WildCard, en casi todos los comandos de Batch se suele utilizar para indicar un conjunto de varios elementos (por ejemplo, si tenemos un archivo que se llama Archivo1.txt y otro archivo que se llama Archivo2.txt, podemos recopilar todos los archivos utilizando la expresión Archivo*.txt), y en este caso indica que el programa debe seguir ejecutandose incluso en modo seguro en todos los modos de inicio del sistema.

Y creo que con esto, ya queda todo dicho.

Si tienes dudas pregunta.

Saludos
#7410
Scripting / Re: Variables en BATCH
19 Enero 2014, 17:19 PM
Cita de: crazykenny en 19 Enero 2014, 17:03 PM¿os parecería bien si aporto dicho código en la sección de análisis y diseño de malware, ya que estamos?.

Eres libre de decidir donde postear dicho aporte, pero si quieres mi opinión (y consejo), no lo postees en la sección de análisis de Malware, pues aunque tu todavía no te des cuenta de ello Batch no se puede considerar un lenguaje de programación, mucho menos una herramienta de Malwara o de virus, postear códigos Batch en la sección de Malwarw sería algo que suelen hacer los más noobs (no te insulto ni tampoco intento ofender, sólamente te intento explicar los motivos), si tienes un código escrito en Batch, lo más correcto sería que lo posteases aquí, pero como ya digo, eres libre de tomar esa decisión.

PD: Quizás este aporte te ayude a conocer otras formas de hacer bombas lógicas en Batch como el copiado masivo de archivos ~> by Elektro - Virulator 1.0c

Saludos!