elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Mensajes
Páginas: 1 ... 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 [706] 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 ... 1236
7051  Programación / .NET (C#, VB.NET, ASP) / Re: [SOURCE] MP3 Tag Remover en: 28 Junio 2014, 23:41 pm
NUEVA VERSIÓN 1.1

Citar
Notas de la versión 1.1

· Añadido:
  Un log con (solamente) reporte de errores.
  El progreso ahora también se muestra en la barra de tareas de Windows.

· Corregido:
  La lista de archivos no se actualizaba correctamente al detener y reanudar el procedimiento, este bug causaba un "crash" o un "freeze" en el programa.
7052  Programación / .NET (C#, VB.NET, ASP) / Re: [APORTE] Ejemplo de un LL-Hook para el Mouse. en: 28 Junio 2014, 21:31 pm
El código puede subscribirse a los eventos del mouse, eso significa que si, puedes grabar cada acontecimiento y el orden de ellos, pero claro, eso requieriría hacer unas modificaciones para que el código se adapten a tus necesidades que "graben" los eventos en un objeto o archivo que contenga ese "set" de eventos, y lo mismo que para reproducir esas acciones.

Hace tiempo escribí un código para automatizar ambas tareas, la de grabar y la de reproducir, pero es un código que no reviso desde hace mucho tiempo, lo escribí cuando me estuve iniciando en .NET y usé técnicas inapropiadas (un timer) para grabar los eventos así que puede tener sus fallos, de todas formas te dejo el código por si te sirve:

Código
  1. #Region " Record Mouse Class "
  2.  
  3. ' [ Record Mouse Functions ]
  4. '
  5. ' // By Elektro H@cker
  6. '
  7. ' Examples :
  8. ' Record_Mouse.Start_Record()
  9. ' Record_Mouse.Stop_Record()
  10. ' Record_Mouse.Play() : While Not Record_Mouse.Play_Is_Completed : Application.DoEvents() : End While
  11. ' Record_Mouse.Mouse_Speed = 50
  12.  
  13. Public Class Record_Mouse
  14.  
  15.    ''' <summary>
  16.    ''' Sets the speed of recording/playing the mouse actions.
  17.    ''' Default value is 25.
  18.    ''' </summary>
  19.    Public Shared Mouse_Speed As Long = 30L
  20.  
  21.    ''' <summary>
  22.    ''' Gets the status pf the current mouse play.
  23.    ''' False = Mouse task is still playing.
  24.    ''' True = Mouse task play is done.
  25.    ''' </summary>
  26.    Public Shared Play_Is_Completed As Boolean
  27.  
  28.    ' Where the mouse coordenates will be stored:
  29.    Private Shared Coordenates_List As New List(Of Point)
  30.  
  31.    ' Where the mouse clicks will be stored:
  32.    Private Shared Clicks_Dictionary As New Dictionary(Of Long, MouseButton)
  33.  
  34.    ' Timer to record the mouse:
  35.    Private Shared WithEvents Record_Timer As New Timer
  36.  
  37.    ' Button click count to rec/play clicks:
  38.    Private Shared Click_Count As Int32 = 0
  39.  
  40.    ' Thread to reproduce the mouse actions:
  41.    Private Shared Thread_MousePlay_Var As System.Threading.Thread = New Threading.Thread(AddressOf Thread_MousePlay)
  42.  
  43.    ' API to record the current mouse button state:
  44.    Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
  45.  
  46.    ' API to reproduce a mouse button click:
  47.    Private Declare Sub Mouse_Event Lib "User32" Alias "mouse_event" (ByVal dwFlags As MouseButton, ByVal dx As Integer, ByVal dy As Integer, ByVal dwData As Integer, ByVal dwExtraInfo As Integer)
  48.  
  49.    ' GetAsyncKeyState buttons status
  50.    Private Shared Last_ClickState_Left As Long = -1L
  51.    Private Shared Last_ClickState_Right As Long = -1L
  52.    Private Shared Last_ClickState_Middle As Long = -1L
  53.  
  54.    Enum MouseButton
  55.  
  56.        Left_Down = &H2    ' Left button (hold)
  57.        Left_Up = &H4      ' Left button (release)
  58.  
  59.        Right_Down = &H8   ' Right button (hold)
  60.        Right_Up = &H10    ' Right button (release)
  61.  
  62.        Middle_Down = &H20 ' Middle button (hold)
  63.        Middle_Up = &H40   ' Middle button (release)
  64.  
  65.        Left               ' Left   button (press)
  66.        Right              ' Right  button (press)
  67.        Middle             ' Middle button (press)
  68.  
  69.    End Enum
  70.  
  71.    ''' <summary>
  72.    ''' Starts recording the mouse actions over the screen.
  73.    ''' It records the position of the mouse and left/right button clicks.
  74.    ''' </summary>
  75.    Public Shared Sub Start_Record()
  76.  
  77.        ' Reset vars:
  78.        Play_Is_Completed = False
  79.        Coordenates_List.Clear() : Clicks_Dictionary.Clear()
  80.        Last_ClickState_Left = -1 : Last_ClickState_Right = -1 : Last_ClickState_Middle = -1
  81.        Click_Count = 0
  82.  
  83.        ' Set Mouse Speed
  84.        Record_Timer.Interval = Mouse_Speed
  85.  
  86.        ' Start Recording:
  87.        Record_Timer.Start()
  88.  
  89.    End Sub
  90.  
  91.    ''' <summary>
  92.    ''' Stop recording the mouse actions.
  93.    ''' </summary>
  94.    Public Shared Sub Stop_Record()
  95.        Record_Timer.Stop()
  96.    End Sub
  97.  
  98.    ''' <summary>
  99.    ''' Reproduce the mouse actions.
  100.    ''' </summary>
  101.    Public Shared Sub Play()
  102.        Thread_MousePlay_Var = New Threading.Thread(AddressOf Thread_MousePlay)
  103.        Thread_MousePlay_Var.IsBackground = True
  104.        Thread_MousePlay_Var.Start()
  105.    End Sub
  106.  
  107.    ' Procedure used to store the mouse actions
  108.    Private Shared Sub Record_Timer_Tick(sender As Object, e As EventArgs) Handles Record_Timer.Tick
  109.  
  110.        Coordenates_List.Add(Control.MousePosition)
  111.  
  112.        ' Record Left click
  113.        If Not Last_ClickState_Left = GetAsyncKeyState(1) Then
  114.            Last_ClickState_Left = GetAsyncKeyState(1)
  115.            If GetAsyncKeyState(1) = 32768 Then
  116.                Click_Count += 1
  117.                Coordenates_List.Add(Nothing)
  118.                Clicks_Dictionary.Add(Click_Count, MouseButton.Left_Down)
  119.            ElseIf GetAsyncKeyState(1) = 0 Then
  120.                Click_Count += 1
  121.                Coordenates_List.Add(Nothing)
  122.                Clicks_Dictionary.Add(Click_Count, MouseButton.Left_Up)
  123.            End If
  124.        End If
  125.  
  126.        ' Record Right click
  127.        If Not Last_ClickState_Right = GetAsyncKeyState(2) Then
  128.            Last_ClickState_Right = GetAsyncKeyState(2)
  129.            If GetAsyncKeyState(2) = 32768 Then
  130.                Click_Count += 1
  131.                Coordenates_List.Add(Nothing)
  132.                Clicks_Dictionary.Add(Click_Count, MouseButton.Right_Down)
  133.            ElseIf GetAsyncKeyState(2) = 0 Then
  134.                Click_Count += 1
  135.                Coordenates_List.Add(Nothing)
  136.                Clicks_Dictionary.Add(Click_Count, MouseButton.Right_Up)
  137.            End If
  138.        End If
  139.  
  140.        ' Record Middle click
  141.        If Not Last_ClickState_Middle = GetAsyncKeyState(4) Then
  142.            Last_ClickState_Middle = GetAsyncKeyState(4)
  143.            If GetAsyncKeyState(4) = 32768 Then
  144.                Click_Count += 1
  145.                Coordenates_List.Add(Nothing)
  146.                Clicks_Dictionary.Add(Click_Count, MouseButton.Middle_Down)
  147.            ElseIf GetAsyncKeyState(4) = 0 Then
  148.                Click_Count += 1
  149.                Coordenates_List.Add(Nothing)
  150.                Clicks_Dictionary.Add(Click_Count, MouseButton.Middle_Up)
  151.            End If
  152.        End If
  153.  
  154.    End Sub
  155.  
  156.    ' Procedure to play a mouse button (click)
  157.    Private Shared Sub Mouse_Click(ByVal MouseButton As MouseButton)
  158.        Select Case MouseButton
  159.            Case MouseButton.Left : Mouse_Event(MouseButton.Left_Down, 0, 0, 0, 0) : Mouse_Event(MouseButton.Left_Up, 0, 0, 0, 0)
  160.            Case MouseButton.Right : Mouse_Event(MouseButton.Right_Down, 0, 0, 0, 0) : Mouse_Event(MouseButton.Right_Up, 0, 0, 0, 0)
  161.            Case MouseButton.Middle : Mouse_Event(MouseButton.Middle_Down, 0, 0, 0, 0) : Mouse_Event(MouseButton.Middle_Up, 0, 0, 0, 0)
  162.            Case Else : Mouse_Event(MouseButton, 0, 0, 0, 0)
  163.        End Select
  164.    End Sub
  165.  
  166.    ' Thread used for reproduce the mouse actions
  167.    Private Shared Sub Thread_MousePlay()
  168.  
  169.        Click_Count = 0
  170.        Clicks_Dictionary.Item(0) = Nothing
  171.  
  172.        For Each Coordenate In Coordenates_List
  173.  
  174.            Threading.Thread.Sleep(Mouse_Speed)
  175.  
  176.            If Coordenate = Nothing Then
  177.                Click_Count += 1
  178.                If Click_Count > 1 Then
  179.                    Mouse_Click(Clicks_Dictionary.Item(Click_Count))
  180.                End If
  181.            Else
  182.                Cursor.Position = Coordenate
  183.            End If
  184.  
  185.        Next
  186.  
  187.        Mouse_Click(MouseButton.Left_Up)
  188.        Mouse_Click(MouseButton.Right_Up)
  189.        Mouse_Click(MouseButton.Middle_Up)
  190.  
  191.        Play_Is_Completed = True
  192.  
  193.    End Sub
  194.  
  195. End Class
  196.  
  197. #End Region



7053  Programación / .NET (C#, VB.NET, ASP) / Re: [SOURCE] Imgur Uploader.NET en: 28 Junio 2014, 21:23 pm
Buen aporte EleKtro, estaría bien que añadieses las siguientes cosas:

no lo hice porque me parecía de mala educación decir que agregara cosas XD

Las sugerencias o criticas, mientras sean constructivas, siempre son bien recibidas.

· El Auto-inicio con Windows es algo que lo añadiré como una opción del instalador.
· El icono y menú en el systray lo tomo más en cuenta y estará añadido en una próxima (y seguramente última) version.

Citar
• Menú contextual "subir imagen" al hacer click derecho sobre un archivo.
Esto ya es algo implementado (en el instalador).

EDITO: pensandolo mejor, añadiré el auto-inicio también al systray, así como la posibilidad de asociar/desasociar los archivos de imagenes soportados.

Gracias por las sugerencias
Saludos!
7054  Programación / .NET (C#, VB.NET, ASP) / Re: [APORTE] (ImageMatching) buscar una imagen en la pantalla y devolver coordenadas en: 28 Junio 2014, 21:14 pm
No se me habia pasado por la cabeza usar CUDA, y porsupuesto debe resultar mucho más veloz que los otros métodos, me pondré a documentarme sobre ello y a ver si encuentro algo interesante para compartir :).

que es cuda?

CUDA es el motor GPU de nVidia, ATI tiene otro, pero no recuerdo su nombre. las aplicaciones pueden aprovechar la aceleración GPU para aumentar el rendimiento de una forma bastante increible.

CUDA is a parallel computing platform and programming model invented by NVIDIA. It enables dramatic increases in computing performance by harnessing the power of the graphics processing unit (GPU).

Saludos!
7055  Programación / Scripting / Re: Duda sobre aplicaciones stealer en: 28 Junio 2014, 21:05 pm
P.D Esto lo hago con el mero hecho de investigar y averiguar el funcionamiento y las acciones de este tipo de aplicaciones con mis propios ordenadores y redes.

Tener la intención de robar a una persona ajena no es el modo correcto para aprender, estos temas, además de ser ilegales están prohibidos en el foro.

El IceCrack lo publiqué con fines educativos, más que nada es un recopilatorio de herramientas commandline con una (simple) interfaz de usuario en Batch para mostrar los datos que se pueden obtener de un PC sin requerir apenas conocimientos de cualquier tipo, ya que esas aplicaciones hacen todo el trabajo sucio.

Tema cerrado.

Saludos!
7056  Sistemas Operativos / Windows / Re: duda net framework en: 28 Junio 2014, 09:24 am
Si ya tienes instalado FW 3.0 e instalas FW 4.0, o lo que viene siendo lo mismo ...si tienes instalada una versión anterior y te instalas una versión reciente, entonces podrás seguir ejecutando tu aplicación con totla normalidad, ya que el anterior FW no se elimina,
por lo contrario, si NO tienes instalado FW 3.0 (por el motivo que sea), e instalas FW 4.0, entonces debes saber lo siguiente:

.Net Framework 4.X tiene capacidad limitada para poder ejecutar ensamblados que requieran versiones anteriores de .Net Framework, esto quiere decir que quizás puedas, o quizás no, pero lo más probable es que debas instalar la versión requerida por esa aplicación (no lo aseguro a ciencia cierta, solo por experiencia en el uso e instalación de software de terceros).

Saludos
7057  Foros Generales / Dudas Generales / Re: ¿Que lenguaje de programacion y Framework no te gusta y por que? en: 28 Junio 2014, 09:12 am
phyton... la identacion, la forma en que hace los programas... no se! D:!!!!!!!

IDEM, no soporto que un lenguaje sea tan restrictivo hasta el punto de tener que amoldarte a la cantidad de tabulaciones que debes usar en cada linea, es un verdadero estorbo cuando necesitas hacer un test rápido sobre el lenguaje ...ya que el lenguaje te impide ahorrar tiempo escribiendo "mal",
y aparte, en resumen, cualquier lenguaje que no use keywords del tipo Start, End, Begin etc y en su lugar use símbolos para empezar/terminar un bloque (Ej: C#) no me agrada mucho ya que me resulta menos productiva ese tipo de sintaxis.

Saludos.
7058  Foros Generales / Dudas Generales / Re: [duda] leng. Interpretado o compilado ? en: 28 Junio 2014, 09:04 am
Hola

Aparte de lo que te han explicado, un lenguaje interpretado necesita de un archivo al que llamamos "intérprete", y que como su nombre indica se encarga de interpretar las instrucciones (el contenido escrito) del script, por ejemplo, Batch necesita a la CMD para traducirse, Python necesita a py.exe/pyw.exe, Ruby necesita a rb.exe/rbw.exe, etc... mientras que un lenguaje compilado es traducido a instrucciones nativas que solo requieren la ejecución del hardware/OS.

Otra cosa que hay que tener en cuenta es que, un lenguaje compilable es un lenguaje compilado, y un lenguaje que no es compilable es un lenguaje interpretado,
pero a esto añadiria que, no se debe confundir a un empaquetador/conversor de exe con lo que es un compilador, porque es algo que se suele hacer mucho.

Saludos
7059  Programación / .NET (C#, VB.NET, ASP) / Re: [SOURCE] Imgur Uploader.NET en: 28 Junio 2014, 08:42 am
wow! pero que bonito ;)

No se si es sarcasmo ...porque el diseño es un poco feo, pero gracias por comentar xD

PD: Cuando hago un programa personal, es decir, para mi ...pero con intención de compartirlo, siempre me cuesta encontrar un set de colores que no sea desagradable tanto para los usuarios que usan los estilos visuales de Windows, como para mi con el theme de terceros que yo uso, intento compensar el gran cambio visual que supone de un theme a otro ...y ahí está el problema xD.

Saludos
7060  Programación / .NET (C#, VB.NET, ASP) / [APORTE] (ImageMatching) buscar una imagen en la pantalla y devolver coordenadas en: 28 Junio 2014, 08:36 am
Hace un tiempo estuve indagando acerca de como narices implementar un (decente) algoritmo de ImageMatching, esto significa, identificar la existencia de una imagen en la pantalla, y de paso obtener las coordenadas para futuros usos.

Pues bien, despues de mucho investigar y mucha documentación leida, está claro que un algoritmo casero no puede llegar a compararse en eficacia y rendimiento a un producto (una librería) de renombre que tenga la suficiente experiencia en el ámbito, pues esto no es un simple PixelSearch, es algo mucho más laborioso.

Después de probar en profundidad distintos productos/librerías, encontré Aforge.NET, el cual es muy bueno tanto en su capacidad efectiva como en su velocidad de procesamiento de imagen, aunque no resulta tan rápido como a mi me gustaria y como he visto en algún que otro Software.

Nota: Si alguien conoce alguna librería eficiente y más rápida que Aforge, le agradecería que lo comentase.

Este código necesita la utilización de dicha librería, AForge, y sirve para identificar una imagen en la pantalla y obtener sus coordenadas, algo imprescindible si tienes pensado desarrollar un Bot por reconocimiento de imagen... así que espero que le sirva a alguien de ayuda.

Unos consejos antes de utilizar:
1. Si la imagen es demasiado grande, redimensionala al 40-60% (cuidado, cuando más difuso estén los pixeles puede ser menos efectivo).
2. Si la velocidad no es la esperada, prueba también a convertir la imagen a una escala de grises.

Código
  1.    ' Find Image
  2.    ' ( By Elektro )
  3.    '
  4.    ' Usage Examples:
  5.    '
  6.    'Private Sub Test() Handles MyBase.Shown
  7.    '
  8.    '    ' A Desktop Screenshot, in 1920x1080 px. resolution.
  9.    '    Dim DesktopScreenshoot As New Bitmap("C:\Desktop.png")
  10.    '
  11.    '    ' A cutted piece of the screenshot, in 50x50 px. resolution.
  12.    '    Dim PartOfDesktopToFind As New Bitmap("C:\PartOfDesktop.png")
  13.    '
  14.    '    ' Find the part of the image in the desktop, with the specified similarity.
  15.    '    For Each matching As AForge.Imaging.TemplateMatch In
  16.    '        FindImage(BaseImage:=DesktopScreenshoot, ImageToFind:=PartOfDesktopToFind, Similarity:=80.5R) ' 80,5% Similarity.
  17.    '
  18.    '        Dim sb As New System.Text.StringBuilder
  19.    '
  20.    '        sb.AppendFormat("Top-Left Corner Coordinates: {0}", matching.Rectangle.Location.ToString())
  21.    '        sb.AppendLine()
  22.    '        sb.AppendFormat("Similarity Image Percentage: {0}%", (matching.Similarity * 100.0F).ToString("00.00"))
  23.    '
  24.    '        MessageBox.Show(sb.ToString)
  25.    '
  26.    '    Next matching
  27.    '
  28.    'End Sub
  29.    '
  30.    ''' <summary>
  31.    ''' Finds a part of an image inside other image and returns the top-left corner coordinates and it's similarity percent.
  32.    ''' </summary>
  33.    ''' <param name="BaseImage">
  34.    ''' Indicates the base image.
  35.    ''' </param>
  36.    ''' <param name="ImageToFind">
  37.    ''' Indicates the image to find in the base image.
  38.    ''' </param>
  39.    ''' <param name="Similarity">
  40.    ''' Indicates the similarity percentage to compare the images.
  41.    ''' A value of '100' means identical image.
  42.    ''' Note: High percentage values with big images could take several minutes to finish.
  43.    ''' </param>
  44.    ''' <returns>AForge.Imaging.TemplateMatch().</returns>
  45.    Private Function FindImage(ByVal BaseImage As Bitmap,
  46.                               ByVal ImageToFind As Bitmap,
  47.                               ByVal Similarity As Double) As AForge.Imaging.TemplateMatch()
  48.  
  49.        Dim SingleSimilarity As Single
  50.  
  51.        ' Translate the readable similarity percent value to Single value.
  52.        Select Case Similarity
  53.  
  54.            Case Is < 0.1R, Is > 100.0R ' Value is out of range.
  55.                Throw New Exception(String.Format("Similarity value of '{0}' is out of range, range is from '0.1' to '100.0'",
  56.                                                  CStr(Similarity)))
  57.  
  58.            Case Is = 100.0R ' Identical image comparission.
  59.                SingleSimilarity = 1.0F
  60.  
  61.            Case Else ' Image comparission with specific similarity.
  62.                SingleSimilarity = Convert.ToSingle(Similarity) / 100.0F
  63.  
  64.        End Select
  65.  
  66.        ' Set the similarity threshold to find all matching images with specified similarity.
  67.        Dim tm As New AForge.Imaging.ExhaustiveTemplateMatching(SingleSimilarity)
  68.  
  69.        ' Return all the found matching images,
  70.        ' it contains the top-left corner coordinates of each one
  71.        ' and matchings are sortered by it's similarity percent.
  72.        Return tm.ProcessImage(BaseImage, ImageToFind)
  73.  
  74.    End Function
Páginas: 1 ... 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 [706] 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 ... 1236
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines