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

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: [1] 2
1  Programación / Programación General / Ayuda con ejercicio - Algoritmo en: 28 Mayo 2016, 19:51 pm
Buenas, me invitaron a unirme a un sitio web de busquedas laborales para programadores.
La cosa es que para poder ingresar te dan a resolver un ejercicio. el cual plantea lo siguiente:

Citar
El instituto geográfico nacional se encarga de, periódicamente, tomar fotografías aéreas para detectar cambios en el relieve terrestre. Para agilizar esta tarea desean tener una herramienta que, dada una imagen, pueda detectar los bordes de las montañas. Las imágenes son representadas con matrices de números enteros que representan la altura sobre el nivel del mar en metros en una posición determinada. Consideraremos a un estrato como a un conjunto conexo de posiciones de la matriz con misma altura. Para que una parte de la imágen se considere el borde de una montaña debe ser un estrato mínimo local. Esto quiere decir que es un estrato y que no posee ningún estrato vecino con altura menor. Diseñar un algoritmo que, dada una matriz, devuelva otra matriz con 0 en todas sus posiciones excepto en los bordes de las montañas que encuentre.

Mas abajo hay una consola para resolver el ejercicio:

Código
  1. <?php
  2. // Para testear tu código en nuestros servidores debes mantener la estructura expuesta abajo.
  3. // Eres libre de crear nuevas funciones/procedimientos.
  4. // Recuerda que el código que escribas podrá ser visto por las empresas a las que te postules.
  5. ?>
  6. <?php
  7. // $relieve = [[8, 9, 2, 2, 3, 5], [9, 8, 3, 2, 4, 5], [9, 7, 2, 2, 4, 3], [9, 9, 2, 4, 4, 3], [9, 2, 3, 4, 3, 5]];
  8. // Representación gráfica
  9. // 8 9 2 2 3 5  
  10. // 9 8 3 2 4 5  
  11. // 9 7 2 2 4 3  
  12. // 9 9 2 4 4 3  
  13. // 9 2 3 4 3 5
  14. function encontrar_bordes($relieve){
  15.  // return [[1, 0, 1, 1, 0, 0], [0, 0, 0, 1, 0, 0], [0, 0, 1, 1, 0, 1], [0, 0, 1, 0, 0, 1], [0, 1, 0, 0, 1, 0 ]];
  16. }
  17. ?>

Entiendo que existe un algoritmo llamado "de Floyd-warshall" segun wikipedia:
Citar
En informática, el algoritmo de Floyd-Warshall, descrito en 1959 por Bernard Roy, es un algoritmo de análisis sobre grafos para encontrar el camino mínimo en grafos dirigidos ponderados. El algoritmo encuentra el camino entre todos los pares de vértices en una única ejecución. El algoritmo de Floyd-Warshall es un ejemplo de programación dinámica.

Aclaro que para nada quiero que me den la respuesta o me resuelvan el ejercicio. Asi se pierde el chiste jaja, pero si me gustaria entender, la verdad estoy perdido. No entiendo como deberia recorrer la matriz para poder comparar esos puntos. Veo que es simple, entiendo que deberia poder resolverse con poco codigo, por eso es un algoritmo, pero me mato pensando y no se me ocurre nada

saludos
2  Programación / Ingeniería Inversa / Re: Overflow en 64bit en: 26 Mayo 2016, 19:05 pm
Hay que ver el tipo de proteccion que tiene el sistema alguna proteccion en la pila u otros.

Que tftp es? para depurar el codigo y ver como llego a sobreescribir el rbx y ver si es controlable otro registro.

Saludos

Dnsmasq v 2.45 - http://www.thekelleys.org.uk/dnsmasq/

Adicionalmente lo tenes que correr con parametro --enable-tftp --tftp-root=<directory>

Fijate que el fallo se da cuando el tftp-root es extenso, por ejemplo: /var/tftp/incoming/public/0/ como se detalla en: https://www.coresecurity.com/content/dnsmasq-vulnerabilities

Saludos !
3  Programación / Ingeniería Inversa / Overflow en 64bit en: 26 Mayo 2016, 18:01 pm
Buenas,
la cosa es asi, me tope con un problema que hace dias no puedo resolver y me puse a recordar con nostalgias las epocas de buscar ayuda en foros. A todo esto: sorpresa ! Pese a tener 8 años mi cuenta seguia abierta ! Alegria de estar publicando en este gran foro de nuevo !

Vamos a los bifes. testeando contra una aplicacion, un servidor TFTP de antaño, encontre un lindo Seg. Fault a la hora de ejecutar GET /<nombre de archivo>
Siguiendo la logica comun en estos casos levanto a mi buen gdb y me pongo a jugar con el fuzzer.

Citar
tftp> server 192.168.0.105
tftp> GET archivo_existente.txt // Lo recibo OK !
tftp> GET A x 1000 // Archivo inexistente, pero todo ok !
tftp> GET A x 1535 // Seg. Fault y crash

Hasta todo bien y es ahora donde comienza mi duda. Veamos el gdb.

Todas las pruebas que hice, despues de los 1535 caracteres sobreescriben el registro RBX.
Mi intencion con todo esto es sobreescribir el RIP para seguir adelante con la shellcode

Es la primera vez que intento explotar bajo 64bit. Veo que tienen sus diferencias con 32bit.

Bueno ahi dejo posteada la duda, si alguno quiere aportar alguna ayuda o critica, genial !
Saludos
4  Foros Generales / Noticias / Re: Ni “Gangnam Style” ni One Direction: para pulverizar récords en YouTube sólo ... en: 11 Septiembre 2013, 02:47 am
Lo vi en mute, solo para verla en bolas, e igual me pareció una porquería.

 :silbar: http://www.youtube.com/watch?v=4dl5l6KU9iA
5  Programación / PHP / Patrones :: SplObserver en: 8 Septiembre 2013, 19:42 pm
Código
  1. <?php
  2. /**
  3. * SplObserver Pattern
  4. * @author Rebolini Pablo <rebolini.pablo@gmail.com>
  5. *
  6. *
  7. * Objetivo:  Definir una relacion de uno a muchos entre objetos,
  8. *   de forma tal, que cuando un objeto cambia de estado
  9. *   se notifica y actualiza automaticamente todos los
  10. *   objetos observadores. Provee una forma flexible de
  11. *   comunicacion entre objetos.
  12. *
  13. *
  14. * Aplicacion: Uno o varios objetos necesitan ser notificados de
  15. * los cambios de otro objeto concreto.
  16. * Las notificaciones se realizan de forma dinámica
  17. * en tiempo de ejecución.
  18. * El objeto observable no necesita saber quien lo
  19. * observa exactamente, sino que es un observador,
  20. * por lo que se consigue un mejor desacople.
  21. * (Fuente de esta explicacion: http://es.davidhorat.com/publicaciones/articulos/patrones/observador/)
  22. *
  23. * El patron SplObserver lo podemos combinar con cualquier
  24. * metodo de persistencia de datos. Por ejemplo DAO
  25. *
  26. *
  27. *
  28. * El objetivo de este ejemplo es implementar una clase Memorandum encargada
  29. * de crear y notificar a los diferentes departamentos sobre un nuevo Memorandum
  30. * interno.
  31. * Se espera que cada departamento sea capaz de obtener la notificacion en tiempo
  32. * de ejecucion y generar un memorandum del siguiente formato:
  33. *
  34. * =================== MEMO ===================
  35. * DESDE DEPARTAMENTO DE VENTAS:
  36. *
  37. * Nuevo Memorandum urgente: Nueva metodologia de trabajo
  38. * Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  39. *
  40. * Atte. Dpto CEO
  41. * 09/03/1969 15:33
  42. * ============================================
  43. *
  44. */
  45. ?>
  46.  

Sin mas: https://github.com/rebolini-pablo/PhpPatrones/tree/master/Spl%20Observer

Cualquier duda o critica sera bienvenida.

Saludos
6  Programación / PHP / Patrones :: DAO + VO en: 8 Septiembre 2013, 05:20 am
Código
  1. <?php
  2. /**
  3. * Ejemplo de implementacion de DAO + VO
  4. * @author Rebolini Pablo <rebolini.pablo@gmail.com>
  5. *
  6. * Objetivo:   Proveer acceso a un modelo sin revelar datos
  7. *              de su estructura interna.
  8. *  
  9. *              Es independiente del sistema de persistencia.
  10. *              Podríamos cambiar el almacenamiento de una base
  11. *              de datos relacional a una noSQL sin modificar
  12. *              el resto de la aplicación.
  13. *  
  14. *              Provee una cantidad determinada de métodos que
  15. *              nos solucionan el problema de la persistencia de datos.
  16. *
  17. *
  18. * Aplicacion: El patron DAO puede ser utilizado siempre que se
  19. *              necesite abstraer el acceso a la persistencia.
  20. *              Dentro de un framework MVC un Modelo bien
  21. *              puede ser un DAO.
  22. *              El patron DAO crea una capa de abstraccion que no
  23. *              siempre es util
  24. *              El patron DAO se puede, y en algunos casos se debe,
  25. *              combinar con el patron VO, DTO, Factory, Repository.
  26. *              Aunque no existen reglas de oro para esto.
  27. **/
  28. ?>
  29.  

Sin mas: https://github.com/rebolini-pablo/PhpPatrones/tree/master/DAO_VO

Criticas y sugerencias serán bienvenidas

Saludos !
7  Programación / Programación Visual Basic / problema con list view en: 28 Agosto 2008, 23:53 pm
Código
  1. Private Function Sumar() As Double
  2.  
  3.    Dim i As Integer
  4.        For i = 1 To ListView1.ListItems.Count
  5.             SumarPar = SumarPar + CDbl(ListView1.ListItems(i).SubItems(3))
  6.         Next i
  7.  
  8.  
  9. End Function
  10.  
  11. Private Sub Command3_Click()
  12.  
  13. Label1.Caption = "Total pares: " & Val(SumarPar)
  14. End Sub
  15.  

siempre tira que la suma es 0  >:(
8  Programación / Programación Visual Basic / Ircbot en vb6 =) en: 27 Agosto 2008, 23:21 pm
buenas.

estoy creando un ircbot, el problema que tengo es que quiero que al comando !info responda con informacion simple del sistema, como ip, SO y alguna otra cosa...

El problema es que no se como, me dijieron que existia una API para esto, pero no se como se llama... :) :huh:
 
gracias
 

EDIT: ya lo solucione gracias :)
9  Programación / Programación Visual Basic / Re: Aplicacion para envio masivo Outlook + IVA. en: 26 Agosto 2008, 20:24 pm
Exelente trabajo te felisito :)
cuando tenga un poco mas de tiempo lo pruebo ;)
10  Programación / Programación Visual Basic / Re: HTTPspectator :) beta en: 20 Agosto 2008, 17:12 pm
:P todo bien ;)

Ya le mejore algunas cosas... aca dejo la versión 2 :)
 
http://img384.imageshack.us/my.php?image=muestra1ln8.gif
http://img170.imageshack.us/my.php?image=muestra2ik9.gif

EL source no lo pongo por que no se por que el vb6 me guarda los proyectos vacios :S
en cuanto lo soluciono lo subo :b

http://rapidshare.com/files/138762995/HTTPspectator_v1.0_BETA_by_pOlk22.rar.html
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines