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 - _RaSH_

#1
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:

CitarEl 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 (php) [Seleccionar]
<?php
// Para testear tu código en nuestros servidores debes mantener la estructura expuesta abajo.
// Eres libre de crear nuevas funciones/procedimientos.
// Recuerda que el código que escribas podrá ser visto por las empresas a las que te postules.
?>

<?php
// $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]];
// Representación gráfica
// 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
function encontrar_bordes($relieve){
  
// 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 ]];
}
?>


Entiendo que existe un algoritmo llamado "de Floyd-warshall" segun wikipedia:
CitarEn 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
Ingeniería Inversa / Re: Overflow en 64bit
26 Mayo 2016, 19:05 PM
Cita de: AlbertoBSD en 26 Mayo 2016, 18:46 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
Ingeniería Inversa / Overflow en 64bit
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
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
PHP / Patrones :: SplObserver
8 Septiembre 2013, 19:42 PM
Código (php) [Seleccionar]

<?php
/**
* SplObserver Pattern 
* @author Rebolini Pablo <rebolini.pablo@gmail.com>
*
*
* Objetivo:  Definir una relacion de uno a muchos entre objetos,
*    de forma tal, que cuando un objeto cambia de estado
*    se notifica y actualiza automaticamente todos los
*    objetos observadores. Provee una forma flexible de
*    comunicacion entre objetos.
*
*
* Aplicacion: Uno o varios objetos necesitan ser notificados de 
* los cambios de otro objeto concreto.
* Las notificaciones se realizan de forma dinámica 
* en tiempo de ejecución.
* El objeto observable no necesita saber quien lo 
* observa exactamente, sino que es un observador,
* por lo que se consigue un mejor desacople.
* (Fuente de esta explicacion: http://es.davidhorat.com/publicaciones/articulos/patrones/observador/) 
*
* El patron SplObserver lo podemos combinar con cualquier
* metodo de persistencia de datos. Por ejemplo DAO
*
*
*
* El objetivo de este ejemplo es implementar una clase Memorandum encargada 
* de crear y notificar a los diferentes departamentos sobre un nuevo Memorandum
* interno. 
* Se espera que cada departamento sea capaz de obtener la notificacion en tiempo 
* de ejecucion y generar un memorandum del siguiente formato:
*
* =================== MEMO ===================
* DESDE DEPARTAMENTO DE VENTAS:
*
* Nuevo Memorandum urgente: Nueva metodologia de trabajo
* Lorem ipsum dolor sit amet, consectetur adipiscing elit.
*
* Atte. Dpto CEO
* 09/03/1969 15:33
* ============================================
*
*/

?>



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

Cualquier duda o critica sera bienvenida.

Saludos
#6
PHP / Patrones :: DAO + VO
8 Septiembre 2013, 05:20 AM
Código (php) [Seleccionar]

<?php
/**
 * Ejemplo de implementacion de DAO + VO
 * @author Rebolini Pablo <rebolini.pablo@gmail.com>
 *
 * Objetivo:   Proveer acceso a un modelo sin revelar datos
 *              de su estructura interna.
 *   
 *              Es independiente del sistema de persistencia. 
 *              Podríamos cambiar el almacenamiento de una base
 *              de datos relacional a una noSQL sin modificar 
 *              el resto de la aplicación.
 *   
 *              Provee una cantidad determinada de métodos que
 *              nos solucionan el problema de la persistencia de datos.
 *
 *
 * Aplicacion: El patron DAO puede ser utilizado siempre que se
 *              necesite abstraer el acceso a la persistencia.
 *              Dentro de un framework MVC un Modelo bien 
 *              puede ser un DAO.
 *              El patron DAO crea una capa de abstraccion que no 
 *              siempre es util
 *              El patron DAO se puede, y en algunos casos se debe,
 *              combinar con el patron VO, DTO, Factory, Repository.
 *              Aunque no existen reglas de oro para esto.
 **/
?>



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

Criticas y sugerencias serán bienvenidas

Saludos !
#7
Código (vb) [Seleccionar]

Private Function Sumar() As Double
   
    Dim i As Integer
        For i = 1 To ListView1.ListItems.Count
             SumarPar = SumarPar + CDbl(ListView1.ListItems(i).SubItems(3))
         Next i
   
   
End Function

Private Sub Command3_Click()
   
Label1.Caption = "Total pares: " & Val(SumarPar)
End Sub


siempre tira que la suma es 0  >:(
#8
Programación Visual Basic / Ircbot en vb6 =)
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
Exelente trabajo te felisito :)
cuando tenga un poco mas de tiempo lo pruebo ;)
#10
: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