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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Temas
Páginas: 1 [2]
11  Programación / Programación Visual Basic / Winsock conexiones multiples ¿como? en: 26 Octubre 2008, 12:52 pm
Buenas tras ver algo de python y traducir alguna que otra aplicación de vb a python, me gustaría profundizar un poco más en vb, para luego trasladar lo aprendido a gambas.

Según he leído en el formulario, puedes meter un componente socket denominado Winsock o similar, que me permite conectarme con otro ordenador a través de Internet, luego también me pareció leer que solo se puede realizar una conexión por componente winsock.

Quiero saber si es posible a través de un winsock para hacer múltiples conexiones.

Espero que se me entienda.
12  Media / Juegos y Consolas / ¿Es posible? / Servidores Socks por UDP para jugar en: 13 Septiembre 2008, 00:11 am
Quisiera saber si es posible usar con FreeCap, y servidores proxy por UDP para por ejemplo jugar al Counter-Strike o al WoW, lo del ping es lo menos, es para saber si se puede saltar el Firewall del sitio en cuestión que tiene bloqueados lo puertos, como objeto de investigación con fines altamente didácticos, ya que aprendes como funciona.

¿Es posible?

/ EDIT /

Si lo he puesto en el sitio incorrecto lo siento no sabia donde ponerlo :-[ :-[
13  Programación / Scripting / [SOURCE] Camuflador hecho en Python! en: 29 Julio 2008, 01:36 am
Siguiendo la senda del Joiner, consegui crear el algoritmo para ocultar archivos en imágenes normales.

camuflador.py:

Código
  1. # -*- coding: cp1252 -*-
  2.  
  3. import os
  4. import sys
  5.  
  6. firma = "[-FIRMA-]"
  7.  
  8. def camuflar():
  9. nombre_archivo = sys.argv[2]
  10. imagen = "prueba.png"
  11. f = open(nombre_archivo, 'rb')
  12. contenido = f.read()
  13. d = open(imagen, 'rb')
  14. contenido_imagen = d.read()
  15. x = open("camuflado.png", 'wb')
  16. contenido = contenido_imagen + firma + contenido
  17. x.write(contenido)
  18. f.close()
  19. x.close()
  20. def descubierto():
  21. nombre_archivo = sys.argv[2]
  22. f = open(nombre_archivo, 'rb')
  23. d = open("descubierto.zip", 'wb')
  24. contenido = f.read()
  25. c = contenido.split(firma)
  26. print c
  27. d.write(c[1])
  28. f.close()
  29. d.close()
  30. if sys.argv[1] == "-c" and sys.argv[2] != "":
  31. camuflar()
  32. print "¡Camuflado!"
  33. elif sys.argv[1] == "-d" and sys.argv[2] != "":
  34. descubierto()
  35. print "¡Descubierto!"
  36. elif sys.argv[1] == "-h":
  37. print "\n\t-c camuflar\n\t-d descubrir\nSintaxis: python camuflador.py -argumento nombre_archivo"
  38. else:
  39. print "¡No ha escrito argumentos!, añada '-h' para ayuda."

Aun es simple pero se puede implementar perfectamente en vuestros programas.
14  Programación / Scripting / [SOURCE] Joiner hecho en Python! en: 8 Julio 2008, 15:11 pm
Siguiendo el tutorial de E0N para Visual Basic decidí hacerlo para Python, y conseguí esto:

Funcionamiento:

Código
  1. python Joiner.py archivo_principal lugar_destino

El "archivo.txt" debe contener los nombres de los ejecutables.

Ejemplo:

Código:
gui.exe
cepillo.exe
juego.exe

Joiner.py:

Código:
import string
import os
import sys

archivo = sys.argv[1] # Metemos el archivo principal
extraccion = sys.argv[2] # Donde queremos que se guarde
archivos_leidos = [] # Va a contener todas las direcciones
f = open('archivos.txt', 'r') # Abrimos para lectura de archivos
i = 0 # Lo usamos para asignar dinamicamente strings a archivos_leidos
ruta = os.getcwd()
ruta = ruta.split('\\')
ruta = os.getcwd()
j = len(f.readlines())
f.seek(0)
while i < j:
    c = f.readline()
    d = c.split('\n')
    d = d[0]
    archivos_leidos.append(i)
    archivos_leidos[i] = d
    i+=1
f.close()
def Juntar():
    Firma = "[**-_-**]"
    SubFirma = "^^_~~_^^"

    os.system('copy stub.dll stub.exe')
    print archivos_leidos
    n = 0
    p = ''
    while n < i:
        p = archivos_leidos[n]
        o = open(p, 'rb')
        archivo = o.read()
        o.close()

        f = open('stub.exe', 'ab')
        f.write(Firma)
        f.write(archivo+SubFirma)
        f.write(archivos_leidos[n]+SubFirma)
        f.write(extraccion+SubFirma)
        f.write('Si')
        f.close()
        n +=1
Juntar()

Utiliza un .txt para obtener las direcciones de los archivos.

Stub.py:

Código:
import string
import os
import sys

def Ruta():
    print os.path.dirname + '\\'+ os.path.basename

Archivo = ''
Nombre = ''
RutaExt = ''
Ejecutar = ''

Firma = '[**-_-**]'
SubFirma = '^^_~~_^^'

f = open(ruta(), 'rb')

Todo = f.read()

f.close()

Partes = Todo.split(Firma)

n=1

while n < len(Partes):
    SubPartes = Partes.split(SubFirma)
    i=0
    for i in len(SubPartes):
        if i == 0:
            Archivo = SubPartes(i)
        elif i == 1:
            Nombre = SubPartes(i)
        elif i == 2:
            RutaExt = SubPartes(i)
        elif i == 3:
            Ejecutar = Subpartes(i)

    f = open(RutaExt + '\\' + Nombre, 'wb')
    f.write(Archivo)
    f.close()
    #i += 1

Todavía estoy portandolo, me queda mirar, deducir y escribir algunas cosillas :rolleyes: .

Definitivamente Python es potente

Funciona con el Stub.dll de E0N programado en Visual Basic, para pasar de .py a .exe utilizar el cx_freeze.
15  Programación / Scripting / [SOURCE] Cortador de Archivos hecho en Python! en: 2 Julio 2008, 13:10 pm
Estoy intentado programar un sencillo cortador de archivos de la manera siguiente:

1º Cojo un archivo cualquiera, estoy probando con un archivo llamado "prueba.jpg".

2º Abro el buffer (zona de la memoria temporal donde se pueden modificar datos de un archivo) del archivo "prueba.jpg" en modo binario y lectura, porque no nos interesa escribir en ella.

3º Creamos un bucle que mientras sea verdadero (true) que haga leer X bytes del archivo original ("prueba.jpg") y los copie el contenido leido en un archivo "prueba.jpg.0", continua el bucle y va creando "prueba.jpg.1", "prueba.jpg.2" y asi sucesivamente hasta que no haya más datos, y entonces se cierra el bucle y se cierra el buffer del archivo.

Funcionamiento:

Código
  1. python cortador.py archivo_origen tamaño destino

El tamaño se mide en Bytes para máxima precisión, si quieres una calculadora:

_http://www.terra.es/personal2/pagina_de_fuika/byteconvert.htm

Ejemplos:

Para Linux y similares:

Código
  1. python cortador.py "/home/shrick/archivo.jpg" 102400 "/home/shrick/carpeta_trozos"

Para Windows:

Código
  1. C:\Python25\python.exe "C:\Documents and Settings\Administrador\Escritorio\cortador.py" 102400 "C:\Documents and Settings\Administrador\Escritorio\carpeta_trozos"

Source Code:

Código
  1. # -*- coding: cp1252 -*-
  2. # Cortador by Shrick
  3. # Gracias a Google y Documentación de Python
  4. # Agradecimientos a http://www.elhacker.net, en especial a Novlucker
  5.  
  6. import string
  7. import os
  8. import sys
  9.  
  10. ruta = sys.argv[1] # Archivo a dividir
  11. nombre_archivo = os.path.basename(ruta) # Obtener nombre real del archivo
  12. tamano_trozo = sys.argv[2] # Tamaño de los trozos (Bytes xDDDD)
  13. destino = sys.argv[3] # Destino de los Trozos
  14. destino2 = destino
  15. tamano_trozo = int(tamano_trozo) # Pasamos argumento de String a Integer
  16. tamano = os.path.getsize(ruta) # Tamaño del Archivo (Bytes)
  17. print "Tamaño: " + repr(tamano) + " Bytes\n\nParticionando Archivo, por favor espere..." # Imprimir Tamaño del Archivo (Bytes)
  18. datos = '' # Datos del buffer
  19. posicion = 0 # Para posicionarse en los datos a leer
  20. i = 0 # Para Hacer .0, .1, .2, .3, .4, etc...
  21. f = open (ruta, 'rb') # Abrimos archivo
  22. while posicion <= tamano: # Creamos bucle que diga que si posicion menor o igual que tamaño hago lo que esta a continuación
  23.    destino = destino + nombre_archivo + "." + repr(i) # Crear nombre del archivo prueba.jpg.0, prueba.jpg.1, prueba.jpg.*
  24.    print "Creado: " + destino
  25.    j = open (destino, 'wb') # Creamos el archivo prueba.jpg.*
  26.    if i == 0: # Condicional para leer el bloque inicial
  27.        datos = f.read(tamano_trozo) # Datos toma lo leido del buffer
  28.        j.write(datos) # Escribimos en el archivo.
  29.        j.close() # Cerramos archivo
  30.        posicion = tamano_trozo # Metemos la posición siguiente en la integer
  31.        i = i + 1 # Sumamos 1 a la variable integer
  32.    else:
  33.        f.seek (posicion) # Función que va al byte con el valor de posición
  34.        datos = f.read(tamano_trozo) # Poner datos (X bytes de info.) en la variable desde esa posición
  35.        j.write(datos) # Escribimos en archivo
  36.        posicion = posicion + tamano_trozo # Vamos una posicion más avanzada
  37.        j.close() # Cerramos archivo
  38.        i = i + 1 # Sumamos 1 a la variable integer
  39.    destino = destino2
  40. f.close() # Cerramos archivo principal
  41.  
  42. x = open (destino2 + nombre_archivo + ".bat", 'w') # A partir de aquí creamos el .bat para pegar archivos
  43. x.write('copy /b "'+ nombre_archivo + '.0" "' + nombre_archivo + '"\n')
  44. z = 1
  45. while z<i:
  46.    x.write('copy /b "'+ nombre_archivo +'"+"'+ nombre_archivo +'.'+ repr(z)+ '"\n')
  47.    z = z + 1
  48. x.close()
  49.  
  50. # x = open ('pegador_linux', 'w') # Creamos el equivalente .bat para Linux es decir para Bash
  51. # x.write('#!/bin/bash\n')

Ya he corregido el codigo, ya particiona correctamente.
16  Programación / Scripting / Fallo con If en python -> Solucionado en: 30 Junio 2008, 12:54 pm
Estoy aprendiendo python, y ahora mismo tengo un nivel muy básico, por ello, quisiera saber que fallo tiene mi código, porque no me lo interpreta, es el ejemplo de como funcionaria una maquina expendedora, por favor díganme ¿donde he fallado?

Código:
print "1º Coca Cola\n\
2ºFanta\n\
3º Agua\n\
4º 7up\n\
Introduzca su elección (nº): "

num = input()

        if num == 1:
print "Has seleccionado Coca Cola"

if num == 2:
print "Has seleccionado Coca Cola"

if num == 3:
print "Has seleccionado Agua"

if num == 4:
print "Has seleccionado 7up"

if num <0 and num > 5:
       
print "¡Opción Incorrecta!, por favor vuelva a ejecutar el programa."

En Java conseguí hacerlo, porque tengo nociones básicas pero me lleva demasiado tiempo...

Código:
package maquina_expendedora;
import java.io.*;
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException {
        BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
        Integer num;
        String str;
        System.out.println("1º Coca Cola\n2º Fanta\n3º Agua\n4º 7up\nIntroduzca su elección (nº): ");
        str=in.readLine();
        num = Integer.valueOf(str).intValue();
        if (num == 1)
        System.out.println("Has seleccionado Coca Cola");
            if (num == 2)
                System.out.println("Has seleccionado Fanta");
            if (num == 3)
                System.out.println("Has seleccionado Agua");
            if (num == 4)
                System.out.println("Has seleccionado 7up");
        if ( num < 0 || num >5 )
        System.out.println("¡Opción Incorrecta, Por favor vuelva a ejecutar el programa");
    }
}
17  Programación / Programación Visual Basic / Problemas con el Inet en: 5 Enero 2007, 19:30 pm
Necesito ayuda, con el inet, quiero saber como conseguir el nombre de la descarga que estoy bajando, se la ruta, pero quiero hacer algo para que me pille tambien el nombre del archivo por ejemplo de http://www.google.es/images/firefox/fox1.gif que me ponga como nombre fox1.gif
18  Programación / Programación Visual Basic / Ayuda Seleccionar Directorios en: 1 Enero 2007, 02:35 am
Necesito saber como hacer para seleccionar los archivos de una carpeta y que pasen uno por uno en un bucle por una variable, para subir al FTP ;D , es decir, crear una cola de archivos que subiran uno por uno a un servidor FTP
19  Programación / Programación Visual Basic / Ayuda con una parte del KeyLogger que estoy haciendo en: 31 Diciembre 2006, 16:56 pm
Hola a todos estoy haciendo un keylogger con fines altamente didacticos, no soy un lamer que va a joder a las personas los odio >:( , he estado probando con el VB, haber como se hace y he llegado a que necesito que me capte las pulsaciones de teclado cuando no esta seleccionado el programa, aquí les dejo algo de code que he creado:

Código:
Option Explicit

Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii >= 0 Then
Label1.Caption = KeyAscii
End If
End Sub

La parte de conexiones no me interesa ya que como he dicho es  para pruebas :P
20  Programación / PHP / duda PHP + XML en: 26 Septiembre 2006, 16:36 pm
Wenas a todos otra vez, visita obligada ;D , bueno voy al grano, estoy investigando con php y xml, y su potencia, que me deja sin palabras, puede sustituir a cualquier bases de datos con eficiencia, siempre que se tenga cuidado con los CHMOD, aquí les dejo mi código:

log.xml
Código:
<?xml version = "1.0" encoding = "iso-8859-1" ?>
<registro>
<user>
<fecha></fecha>
<ip></ip>
<referer></referer>
<so></so>
</user>
</registro>

reg_ip.php
Código:
<?php
$dom = new DomDocument();
$dom -> load("log.xml");
$ip = $_SERVER['REMOTE_ADDR'];
$referer = $_SERVER['HTTP_REFERER'];
$so = $_SERVER['HTTP_USER_AGENT'];
//DomNode->insert_before

#Elementos

$user = $dom -> createElement("user");
$fechax = $dom -> createElement("fecha");
$ipx = $dom -> createElement("ip");
$refererx = $dom -> createElement("referer");
$sox = $dom -> createElement("so");

#Crear nodos con texto
$tiempo = date("H:i, d/F/Y");

$fechatext = $dom -> createTextNode($tiempo);

if ($ip != NULL){
$iptext = $dom -> createTextNode($ip);
}

if ($referer != NULL){
$referertext = $dom -> createTextNode($referer);
}

if ($so != NULL){
$sotext = $dom -> createTextNode($so);
}

$fechax -> insert_before($fechatext, $fechatext);
$ipx -> insert_before($iptext, $iptext);
$refererx -> insert_before($referertext, $referertext);
$sox -> insert_before($sotext, $sotext);

$user -> insert_before($fechax, $fechax);
$user -> insert_before($ipx, $ipx);
$user -> insert_before($refererx, $refererx);
$user -> insert_before($sox, $sox);

$dom ->documentElement -> insert_before($user, $user);

$dom -> save("log.xml");

?>

El problema, es los insert_before que esta mal la sintaxis no se porque, asi que por favor echenme una mano, gracias ;) .

SaLuDOS!!!!!

Páginas: 1 [2]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines