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 ... 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 [595] 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 ... 1236
5941  Programación / .NET (C#, VB.NET, ASP) / Re: [C# Duda] Como interactuar con una página web en: 19 Enero 2015, 07:30 am
Gracias por la respuesta!! Después de leer lo que comentas, lo cierto es que parece verdaderamente complicado para simplemente automatizar un par de cosas, así que si que sale a cuenta crear un webBrowser con WebKit, por ejemplo.

Quizás simplemente cueste demasiado por falta de información o herramientas para esa tarea específica en este lenguaje, por poner un ejemplo comparativo, en Ruby con la gema/librería Watir WebDriver (que se basa en Selenium) es cuestión de escribir un par de lineas para conseguir abrir un navegador y navegar a "X" página de forma "interactiva" (visualmente quiero decir), en python lo mismo con Mechanize (aunque si nor ecuerdo mal no era "interactivo"), pero en .Net, y por lo poco que sé de este tema de automatizar una aplicación externa, Windows Automation parece ser la opción más viable, aunque resulta algo complejo de utilizar.


Citar
AWindows.Automation, y si no me equivoco tras haber leído algunos artículos en este foro puede ser utilizada esa misma librería para automatizar algo en un videojuego por ejemplo, no?
Por ejemplo, algo bastante básico, automatizar la compra de x armas en Counter Strike, asociado a diferentes atajos de teclado. O igual me estoy liando y no se usa esa librería para ese tipo de fines

No, Windows Automation no está orientado en ese aspecto ni se utiliza para esos fines (ni sabría decirte cómo hacerlo), una cosa es automatizar las funcionalidades de un Soft, y otra es leer/escribir los offsets de un proceso/juego.

De todas formas en el foro de MSDN puedes plantear y resolver dudas al respecto de UI Automation:
https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/home?forum=windowsaccessibilityandautomation

Si la idea es simular atajos del teclado entonces puedes hacer simplemente eso, registrar hotkeys globales en el sistema y utilizarlas, es una tarea mucho más sencilla.
(o en el caso del Counter-Strike, simplemente puedes editar el archivo de configuración para añadir combinaciones de teclas para una compra automática, eso ya sería lo más sencillo de todo)

Otra alternativa de automatización de software sería crear Macros (Grabar y reproducir movimientos del mouse y pulsaciones del teclado, entre otras cosas), para ello puedes utilizar aplicaciones de terceros (ej: JitBit Macro Recorder) o hacerlo tu mismo utilizando las funciones de la API de Windows ( FindWindowEx + EnumWindows + OtrasFunciones + SendInput (o MouseSend + Keybd_Event) ).
http://msdn.microsoft.com/en-us/library/windows/desktop/ms646310%28v=vs.85%29.aspx

Aquí un ejemplo básico:
http://msdn.microsoft.com/en-us/library/ms171548%28v=vs.110%29.aspx

Saludos
5942  Programación / .NET (C#, VB.NET, ASP) / Re: [C# Duda] Como interactuar con una página web en: 18 Enero 2015, 22:58 pm
Se puede hacer creando tu mismo un navegador en C#, pero eso no me interesa... porque no me interesa crear un navegador entero, me gustaría que a poder ser utilizase Chrome por ejemplo.

Quizás haya herramientas que te ahorrarían el 90% de todo ese esfuerzo de elaboración manual para automatizar de forma "interactiva" un navegador externo, como por ejemplo Selenium, pero nunca lo he usado en .Net, y por los ejemplos que he visto PARECE ser que con Selenium habría que hookear/inyectar el proceso de Chrome, no estoy seguro, algo leí sobre el tema hace tiempo, pero parece requerir tela de elaboración también.

Para este tipo de tareas yo he utilizado las classes de Windows Automation (con Firefox), obviamente primero se requiere hacerle bastantes análisis (Spy/Ing. Inversa) al poceso para descubrir el nombre de las classes, el nombre de sus funciones, los handles de las ventanas y los controles ...identificar las barras de navegaciónd le navegador y el resto de sus componentes, y etc, todo lo que sea necesario para automatizarlo, puedes valerte de Winspy++, SpyStudio, o las herramientas de Microsoft UI Automation de la SDK de Windows para conocer los detalles necesarios del exe.
http://msdn.microsoft.com/en-us/library/System.Windows.Automation(v=vs.110).aspx
En resumen, deberías leer sobre técnicas de IPC (InterProcess comunication) para conocer otras alternativas también.

Creo que deberías plantearte de nuevo la pregunta y no complicarte de esa manera, puedes implementar un navegador con funcionalidades básicas de forma sencilla y obtener mayor control, puedes utilizar un WebBrowser Control (IE), o usar la libreria de GeckoFX (Firefox), la librería de WebKit (Chrome), o la librería de pago de EO WebBrowser (Chrome), al menos esos son los que caben a destacar en mi opinión, y entre los 4 yo prefiero el navegador de EO por ser el más completo y compatible (flash, scripts, etc), sin duda el mejor de los 4 para evitar quebraderos de cabeza.

De todas formas te muestro ejemplos aleatorios de la utilización de Windows Automation para Chrome, en C#:
http://stackoverflow.com/questions/26381515/get-url-from-chrome-to-c-sharp-not-working
http://stackoverflow.com/questions/18897070/getting-the-current-tabs-url-from-google-chrome-using-c-sharp

Saludos
5943  Programación / .NET (C#, VB.NET, ASP) / Re: [SOURCE] HostsMan v1.0 en: 18 Enero 2015, 20:40 pm
La cantidad de trabajo que debe llevar una aplicación así no?

No creas, empecé y terminé en el mismo día, hoy.
El mayor trabajo es diseñar la GUI e implementar sus características, el 50% del trabajo solo es leer y parsear un archivo de texto.

TL-DR:
Me ha costado unas pocas horas (con descansos), pero todo es gracias a que el core de la aplicación y otras "herramientas" secundarías ya las había desarrollado (solo necesitaban unos pequeños cambios y adaptaciones), cuando hago una aplicación siempre intento hacerlo todo para rehusarlo de forma genérica y me lo guardo para cuando lo vuelva a necesitar (vease mi colección de snippets), eso me ayuda a trabajar muy rápido como ves (rápido, pero eficiente), de lo contrario me hubiera costado varios días o semanas llevarlo a cabo de forma bien elaborada.

PD: Gracias por comentar

Saludos!
5944  Programación / .NET (C#, VB.NET, ASP) / [SOURCE] HostsMan v1.0 en: 18 Enero 2015, 19:29 pm

      HostsMan



      By Elektro





      Descripción


      HostsMan es la herramienta simple pero definitiva para administrar los mapeos del archivo Hosts de Windows.





      Características


      • Añadir, Elminar, o Editar mapeos.
      • Bloquear, o Desbloquear mapeos.
      • Soporte para usar comentarios en los mapeos.
      • Buscar mapeos según el criterio de búsqueda.
      • Copiar directamente al portapapeles, o navegar al host.
      • Otras funcionalidades básicas.





      Especificaciones Técnicas


      Project......: HostsMan
      Author.......: Elektro ( Contact me: ElektroStudios@ElHacker.net )
      Descirption..: Hosts File Manager.
      Version......: 1.0
      Dev. Language: VB.Net
      Technology...: Windows Forms
      Interface    : Graphical User Interface
      Framework....: 4.0
      Architecture.: Neutral x86/x64
      Dependencies.: None
      Language.....: English
      Date Release.: 18-January-2015






      Imágenes


       

       

       

       





      Descarga


      http://www.mediafire.com/download/ofjjtunmx110app/HostsMan.rar





      Saludos![/list][/list]
      5945  Sistemas Operativos / Windows / Re: assceso denegado en el CLI, procesador de comandos de windows, en: 18 Enero 2015, 05:14 am
      que quiero crear un directorio en c:\
      En la imagen estás intentando crear la carpeta en el directorio del sistema, no en el directorio raíz del disco (C:\).

      Hazlo así:
      Código
      1. PUSHD "%SystemDrive%"
      2. MKDIR ".\Directorio"

      i me denega el assceso, no se eso del administrador, como me doy permiso
      Es claramente una denegación de permisos de usuario.
      Ya te explicaron como intentar resolverlo.
      También puedes tomar privilegios de Admin combinando el comando TakeOwn + Icacls, si lo necesitas te muestro un ejemplo.

      Saludos
      5946  Programación / .NET (C#, VB.NET, ASP) / Re: WebBrowser en C# como rellenar campos automaticamente en: 18 Enero 2015, 05:06 am
      @dany22_

      Porfavor, lee la fecha del post, y la fecha de última conexión del usuario "mguala".

      Está prohibido revivir temas antiguos.

      Tema cerrado.

      Saludos!
      5947  Programación / Ingeniería Inversa / Re: Encontrar el método que instancia un Form en: 17 Enero 2015, 12:21 pm
      Sorry si lo que dije te enreda.

      Si, un poco :P

      Pero todo es cuestión de intentarlo y acostumbrarme a usar ollyDbg, ahora al menos se que se puede configurar el tipo de fuente de letra, y todo lo demás que me han dicho me ayudará.

      Ustedes me dicen que vaya unas lineas más atrás, el problema es que no se desde que instrucción debo ir hacia atrás para buscar xD, supongo que debuggeándo el exe y con unos cuantos breakpoints no me debería costar mucho encontrar la instrucción exacta ( demasiado optimismo :-/ ).

      Gracias a todos.

      Saludos
      5948  Programación / .NET (C#, VB.NET, ASP) / Re: [Ayuda] Listbox , identificado y guardado de datos en C# en: 17 Enero 2015, 10:14 am
      Alguno que otro va a saltar diciendo que lo haga a mano por codigo pero mi idea es que sea dinamico y que se almacene en el listbox.

      No me ha quedado muy claro lo que quieres hacer, ¿ambos datos, preguntas y respuestas, quieres mostrarlos en un ListBox?, ¿o solo quieres mostrar las preguntas y ligar las respuestas a cada pregunta?.

      En el primer caso, un ListBox no está diseñado para almacenar/mostrar parejas de items, así que si pretendes mostrar ambos datos eso significa que le estás dándole el enfoque erroneo a tu aplicación, en su lugar puedes crear tu propio control, o utilizar un ListView por ejemplo, con 2 columnas, una para mostrar preguntas y en la otra respuestas.

      En el segundo caso, una solución sería almacenar las preguntas y respuestas en una colección se strings, o por ejemplo un KeyValuePair o una Tupla (entre otras), o tambiénbien puedes crear tu propio Type, ejemplo:


      VB.Net:
      Código
      1.    ''' <summary>
      2.    ''' Implements a kind of Question/Answer KeyValuePair.
      3.    ''' This class cannot be inherited.
      4.    ''' </summary>
      5.    Public NotInheritable Class QA
      6.  
      7.        ''' <summary>
      8.        ''' Gets the question.
      9.        ''' </summary>
      10.        ''' <value>The question.</value>
      11.        ReadOnly Property Question As String
      12.            Get
      13.                Return Me.mQuestion
      14.            End Get
      15.        End Property
      16.        Private mQuestion As String
      17.  
      18.        ''' <summary>
      19.        ''' Gets the answer.
      20.        ''' </summary>
      21.        ''' <value>The answer.</value>
      22.        ReadOnly Property Answer As String
      23.            Get
      24.                Return Me.mAnswer
      25.            End Get
      26.        End Property
      27.        Private mAnswer As String
      28.  
      29.        ''' <summary>
      30.        ''' Initializes a new instance of the <see cref="QA"/> class.
      31.        ''' </summary>
      32.        ''' <param name="question">The question.</param>
      33.        ''' <param name="answer">The answer.</param>
      34.        ''' <exception cref="System.ArgumentNullException">
      35.        ''' question;value cannot be empty.
      36.        ''' or
      37.        ''' answer;value cannot be empty.
      38.        ''' </exception>
      39.        Public Sub New(ByVal question As String, ByVal answer As String)
      40.  
      41.            If String.IsNullOrEmpty(question) Then
      42.                Throw New ArgumentNullException("question", "value cannot be empty.")
      43.  
      44.            ElseIf String.IsNullOrEmpty(answer) Then
      45.                Throw New ArgumentNullException("answer", "value cannot be empty.")
      46.  
      47.            Else
      48.                Me.mQuestion = question
      49.                Me.mAnswer = answer
      50.  
      51.            End If
      52.  
      53.        End Sub
      54.  
      55.        ''' <summary>
      56.        ''' Prevents a default instance of the <see cref="QA"/> class from being created.
      57.        ''' </summary>
      58.        Private Sub New()
      59.        End Sub
      60.  
      61.    End Class
      +
      Código
      1. Public Class TestForm
      2.  
      3.    ''' <summary>
      4.    ''' The Question/Answer list.
      5.    ''' </summary>
      6.    Public ReadOnly QAlist As New List(Of QA) From {
      7.        New QA(question:="pregunta1", answer:="7"),
      8.        New QA(question:="pregunta2", answer:="9"),
      9.        New QA(question:="pregunta3", answer:="5")
      10.    }
      11.  
      12.    ''' <summary>
      13.    ''' Handles the Load event of the TestForm form.
      14.    ''' </summary>
      15.    Private Sub TestForm_Load(ByVal sender As Object, ByVal e As EventArgs) _
      16.    Handles MyBase.Load
      17.  
      18.        ' Add the questions into Listbox.
      19.        Me.ListBox1.Items.AddRange((From qa As QA In QAlist Select qa.Question).ToArray)
      20.  
      21.    End Sub
      22.  
      23.    ''' <summary>
      24.    ''' Handles the SelectedIndexChanged event of the ListBox1 control.
      25.    ''' </summary>
      26.    Private Sub ListBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) _
      27.    Handles ListBox1.SelectedIndexChanged
      28.  
      29.        Dim lb As ListBox = DirectCast(sender, ListBox)
      30.        If Not lb.SelectionMode = SelectionMode.One Then
      31.            Throw New NotImplementedException("SelectionMode is not implemented.")
      32.        End If
      33.  
      34.        Dim qa As QA = QAlist.Find(Function(x As QA) x.Question.Equals(lb.SelectedItem.ToString))
      35.  
      36.        Debug.WriteLine(String.Format("Q: {0}", qa.Question))
      37.        Debug.WriteLine(String.Format("A: {0}", qa.Answer))
      38.        Debug.WriteLine(String.Empty)
      39.  
      40.    End Sub
      41.  
      42. End Class

      CSharp:
      Código
      1. using Microsoft.VisualBasic;
      2. using System;
      3. using System.Collections;
      4. using System.Collections.Generic;
      5. using System.Data;
      6. using System.Diagnostics;
      7.  
      8. /// <summary>
      9. /// Implements a kind of Question/Answer KeyValuePair.
      10. /// This class cannot be inherited.
      11. /// </summary>
      12. public sealed class QA
      13. {
      14.  
      15. /// <summary>
      16. /// Gets the question.
      17. /// </summary>
      18. /// <value>The question.</value>
      19. public string Question {
      20. get { return this.mQuestion; }
      21. }
      22. private string mQuestion;
      23.  
      24. /// <summary>
      25. /// Gets the answer.
      26. /// </summary>
      27. /// <value>The answer.</value>
      28. public string Answer {
      29. get { return this.mAnswer; }
      30. }
      31. private string mAnswer;
      32.  
      33. /// <summary>
      34. /// Initializes a new instance of the <see cref="QA"/> class.
      35. /// </summary>
      36. /// <param name="question">The question.</param>
      37. /// <param name="answer">The answer.</param>
      38. /// <exception cref="System.ArgumentNullException">
      39. /// question;value cannot be empty.
      40. /// or
      41. /// answer;value cannot be empty.
      42. /// </exception>
      43. public QA(string question, string answer)
      44. {
      45. if (string.IsNullOrEmpty(question)) {
      46. throw new ArgumentNullException("question", "value cannot be empty.");
      47.  
      48. } else if (string.IsNullOrEmpty(answer)) {
      49. throw new ArgumentNullException("answer", "value cannot be empty.");
      50.  
      51. } else {
      52. this.mQuestion = question;
      53. this.mAnswer = answer;
      54.  
      55. }
      56.  
      57. }
      58.  
      59. /// <summary>
      60. /// Prevents a default instance of the <see cref="QA"/> class from being created.
      61. /// </summary>
      62. private QA()
      63. {
      64. }
      65.  
      66. }
      67.  
      68. //=======================================================
      69. //Service provided by Telerik (www.telerik.com)
      70. //=======================================================
      +
      Código
      1. using Microsoft.VisualBasic;
      2. using System;
      3. using System.Collections;
      4. using System.Collections.Generic;
      5. using System.Data;
      6. using System.Diagnostics;
      7.  
      8. public class TestForm
      9. {
      10.  
      11. /// <summary>
      12. /// The Question/Answer list.
      13. /// </summary>
      14. public readonly List<QA> QAlist = new List<QA> {
      15. new QA(question: "pregunta1", answer: "7"),
      16. new QA(question: "pregunta2", answer: "9"),
      17. new QA(question: "pregunta3", answer: "5")
      18.  
      19. };
      20.  
      21. /// <summary>
      22. /// Handles the Load event of the TestForm form.
      23. /// </summary>
      24. private void TestForm_Load(object sender, EventArgs e)
      25. {
      26. // Add the questions into Listbox.
      27. this.ListBox1.Items.AddRange((from qa in QAlistqa.Question).ToArray);
      28.  
      29. }
      30.  
      31. /// <summary>
      32. /// Handles the SelectedIndexChanged event of the ListBox1 control.
      33. /// </summary>
      34. private void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
      35. {
      36. ListBox lb = (ListBox)sender;
      37. if (!(lb.SelectionMode == SelectionMode.One)) {
      38. throw new NotImplementedException("SelectionMode is not implemented.");
      39. }
      40.  
      41. QA qa = QAlist.Find((QA x) => x.Question.Equals(lb.SelectedItem.ToString));
      42.  
      43. Debug.WriteLine(string.Format("Q: {0}", qa.Question));
      44. Debug.WriteLine(string.Format("A: {0}", qa.Answer));
      45. Debug.WriteLine(string.Empty);
      46.  
      47. }
      48. public TestForm()
      49. {
      50. Load += TestForm_Load;
      51. }
      52.  
      53. }
      54.  
      55. //=======================================================
      56. //Service provided by Telerik (www.telerik.com)
      57. //=======================================================



      Debug Output:
      Código:
      Q: pregunta1
      A: 7

      Q: pregunta2
      A: 9

      Q: pregunta3
      A: 5
      5949  Programación / Ingeniería Inversa / Re: [Tutorial]Unpack .NET Reactor + Crack en: 17 Enero 2015, 08:53 am
      Me quito el sombrero.





      ¡ Gracias por ilustrarnos con tus conocimientos !



       


      EDITO:
      Joder, ¡es que te lo has currado muchísimo!

      Señores, ahí tienen el mejor buscador de duplicados de todos los tiempos, un aplauso a la mágia del compañero .:: Under ::.

      PD: Sé que otra persona del foro intentó desempaquetar y craquear esa aplicación, ¡GRACIAS para esa persona flameante por intentarlo también! :)

      Saludos
      5950  Programación / Scripting / Re: Mover a otra carpeta y usar una archivo por orden de menor a mayor con BATCH en: 17 Enero 2015, 08:40 am
      buen el caso que cuando el capitulo seleccionado se añade a la lista de reproducción no muestra el tiempo del vídeo, puedo solo especular que:

      Esa información la extrae WinAmp de los archivos, puedes configurar en las opciones de WinAmp para que siempre obtenga los metadatos aunque los archivos aun no hayan sido procesados por el reproductor:



      Por otro lado, como bien has deducido winamp no puede reconocer la duración de ciertos archivos de video, creo que la única solución es que mejoren/actualicen el programa en general... creo que para ese problema de la duración del video solo puedes intentar buscar una solución en el foro de winamp.

      PD: Aunque en la opción de la imagen especifica que es para leer los títulos, lo cierto es que también es para leer la duración de los archivos.

      Saludos
      Páginas: 1 ... 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 [595] 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 ... 1236
      WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines