archive-es.com » ES » S » SISTEMASORP.ES

Total: 315

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".
  • SISTEMAS O.R.P » 2005 » noviembre » 06
    información relacionada con un identificador de cd determinado y devolver todo el contenido de la petición char lee InfoCDDB char sIDDisco char sBuffer WSAData data SOCKET sock struct hostent servidor struct sockaddr in destino char sPeticion 256 int nEnviados nRecibidos if WSAStartup MAKEWORD 2 2 data 0 if sock socket PF INET SOCK STREAM 0 INVALID SOCKET fprintf stderr No se pudo crear la conexion else if servidor gethostbyname freedb freedb org NULL fprintf stderr No se pudo obtener la IP del servidor else destino sin family AF INET destino sin port htons 80 destino sin addr struct in addr servidor h addr list 0 memset destino sin zero 8 if connect sock struct sockaddr destino sizeof struct sockaddr SOCKET ERROR fprintf stderr No se pudo conectar al servidor else sprintf sPeticion GET cddb cddb cgi cmd cddb read misc s hello sistemasorp sistemasorp blogspot com testeoCDDB 1 0 proto 1 HTTP 1 0 r n sIDDisco strcat sPeticion Host freedb freedb org r n r n nEnviados send sock sPeticion strlen sPeticion 0 if nEnviados SOCKET ERROR fprintf stderr No se pudo enviar la peticion al servidor nRecibidos 0 while strstr sBuffer r n r n NULL nRecibidos recv sock sBuffer nRecibidos 1024 0 sBuffer nRecibidos WSACleanup else fprintf stderr No se puedo inicializar la conexion return sBuffer Funcion cddb Suma Devuelve un número sacado a través de una suma de cifras Parámetros nDuracion Duración en segundos de una pista Descripción Esta función se encarga de sumar todas las cifras de distinto peso entre si para posteriormente devolver el resultado int cddb Suma int nDuracion int nSuma 0 while nDuracion 0 nSuma nSuma nDuracion 10 nDuracion nDuracion 10 return nSuma Funcion cddb IDDisco Devuelve en número que identifica al CD inequivocamente Parámetros toc Información de la tabla de contenidos del CD Descripción Esta función se encarga de calcular el identificador único de un CD a través de su tabla de contenidos unsigned long cddb IDDisco CDROM TOC toc int nIndice 0 nTotalTiempo 0 nSumatorio 0 int nTotalPistas nTotalPistas toc LastTrack toc FirstTrack 1 while nIndice nTotalPistas nSumatorio nSumatorio cddb Suma toc TrackData nIndice Address 1 60 toc TrackData nIndice Address 2 nIndice nTotalTiempo toc TrackData toc LastTrack Address 1 60 toc TrackData toc LastTrack Address 2 toc TrackData 0 Address 1 60 toc TrackData 0 Address 2 return nSumatorio 0xff 24 nTotalTiempo 8 nTotalPistas int main int argc char argv CDROM TOC toc char sIDDisco 9 char sBuffer if argc 2 memset toc 0 sizeof CDROM TOC lee CDTOC argv 1 toc if toc LastTrack 0 sprintf sIDDisco 08x cddb IDDisco toc printf El ID del disco es s n sIDDisco sBuffer char malloc 4096 if sBuffer NULL fprintf stderr No se pudo alojar memoria return 1 sBuffer lee InfoCDDB sIDDisco sBuffer if sBuffer return 1 printf La información del disco es n s sBuffer free sBuffer else return 1 else fprintf stderr La sintaxis es s unidad de cd n Ejemplo s d n argv 0 argv 0

    Original URL path: http://www.sistemasorp.es/2005/11/06/ (2013-05-07)
    Open archived version from archive

  • SISTEMAS O.R.P » 2005 » julio
    las siguientes lineas typedef unsigned int funcion void funcion pepe unsigned char juan 0xb8 9 0 0 0 0xc3 pepe unsigned int void void juan printf Es un 9 d n pepe Lo que hemos hecho es llamar a una dirección de memoria que contenia una ristra de bytes los cuales son significativos para el microprocesador En el ejemplo hemos asignado al registro EAX registro que almacena siempre lo que devuelve una función el número 9 y a continuación ejecutamos un RET para retornar de la llamada de la función Así hemos simulado una llamada a una función tal y como lo habría hecho el compilador pudiendo incluso modificar el código el contenido de la variable en tiempo de ejecución sin problemas de violaciones de memoria o similares Este código funciona tanto en Linux como en Windows siempre que sea un micro intel x86 aunque se puede usar en un motorola power pc o lo que querais siempre que conozcais el lenguaje maquina del micro Este artículo dará pie a otro mucho más avanzado sobre como lograr que un programa original pueda acceder a un web service sin que otros se aprovechen de esa información si usar contraseñas ni nada parecido Por fin nos libramos de las patentes de software 6 julio 2005 Uncategorized 1 Comentario Después de haber luchado incansablemente por que las patentes de software no salgan adelante después de haber explicado sus contras después de habernos llevado grandes disgustos y pequeñas alegrías por fín puedo decir que la propuesta de patentes de software en Europa ha sido definitivamente derogada contundentemente por 648 votos a favor 14 en contra y 18 abstenciones Estamos de Enhorabuena Categories Electrónica Informática Proyectos Reseñas Sin categoría Uncategorized Calendar julio 2005 L M X J V S D jun sep 1 2 3

    Original URL path: http://www.sistemasorp.es/2005/07/ (2013-05-07)
    Open archived version from archive

  • SISTEMAS O.R.P » 2005 » septiembre » 06
    un poco grandes para la sección de la web por lo que elijo la opción Medianas ahora pulsaremos por ejemplo sobre la página 3 del catálogo Si os fijais a medida que he ido pulsando enlaces la url aparece con más datos http images google es images q star wars imgsz small 7Cmedium 7Clarge 7Cxlarge svnum 10 hl es lr start 40 sa N Esto es lo que nos servirá como primer punto para la busqueda de imágenes relacionadas con un tema determinado Si os fiajis en los parámetros de la url está la letra q donde se almacena el criterio de la búsqueda en mi caso star wars imgsz que indica el tamaño de las imágenes a buscar puede ser también xxlarge e icon aunque en mi caso es small 7Cmedium 7Clarge 7Cxlarge svnum que no se para que sirve ya que si lo quito funciona igual hl para el idioma de los resultados lr que tampoco sé para que sirve start que indica desde que indice empezar este es muy importante ya que aqui usaremos el primer número aleatorio sa N que no se para que sirve Como os comentaba con start se puede indicar desde que índice de las imágenes empezar a mostrar 0 sería desde la primera página 20 desde la segunda página 40 desde la tercera etc También podemos poner valores intermedios pero yo sigo el camino de google con sus enlaces Una vez que ya podemos elegir que página de imágenes queremos cargar ya solo queda elegir que imagen de las 20 que aparece en esa página mostrar momento por el cual debemos usar el segundo número aleatorio Pero claro lo que nos interesa son las imágenes de google no las originales a las que apunta el enlace de cada una de ellas Por eso debemos recorrer el codigo fuente HTML de la página que hemos recuperado para ir etiqueta por etiqueta IMG hasta alcanzar el número aleatorio que habiamos solicitado Sin embargo no podemos empezar desde el principio puesto que google tiene en su página un logo unas imagenes de 1 pixel de grosor etc Es por ello que debemos comenzar a partir de un punto donde sepamos que a continuación todas las etiquetas IMG son las de los thumbnails En mi caso uso la cadena Solamente se muestran las A partir de entónces cuando ya obtengamos el atributo src de la etiqueta IMG requerida ya podremos recuperar los bytes de la imagen thumbnail de google a través de su url Posteriormente solo queda mostrarla a través del PHP El siguiente código fuente muestra como lo hacer lo que he comentado anteriormente desde una página php Hacemos que nunca se cachee ninguna imagen header Expires Mon 26 Jul 1997 05 00 00 GMT header Last Modified gmdate D d M Y H i s GMT header Cache Control no store no cache must revalidate header Cache Control post check 0 pre check 0 false header Pragma no cache elegimos una sección al azar

    Original URL path: http://www.sistemasorp.es/2005/09/06/ (2013-05-07)
    Open archived version from archive

  • SISTEMAS O.R.P » 2005 » junio
    podais probarlo son tan cortos que no hacen falta comentarlos tampoco tienen gestión de errores para su simplicidad en vuestro caso solo tendrías que modificar el puerto 1976 y la dirección MAC 01 02 03 04 05 06 C para Linux Unix y Windows ifdef WIN32 include stdio h include winsock2 h else include sys types h include sys socket h include netinet in h endif void main void int conexion struct sockaddr in direccion unsigned char buffer 102 unsigned char mac 0x01 0x02 0x03 0x04 0x5 0x06 int valor 1 contador ifdef WIN32 WSADATA wsaData WSAStartup MAKEWORD 2 2 wsaData endif for contador 0 contador 6 contador buffer contador 0xff for contador 6 contador 102 contador 6 memmove buffer contador mac 6 memset direccion sin zero 0 8 direccion sin family AF INET direccion sin addr s addr htonl INADDR BROADCAST direccion sin port htons 1976 conexion socket AF INET SOCK DGRAM 0 valor setsockopt conexion SOL SOCKET SO BROADCAST char valor sizeof int sendto conexion char buffer 102 0 struct sockaddr direccion sizeof struct sockaddr in ifdef WIN32 WSACleanup endif Perl use strict use IO Socket INET my socket my msg my contador socket new IO Socket INET new PeerPort 1976 Proto udp PeerAddr 255 255 255 255 Broadcast 1 msg for contador 0 contador 6 contador msg x ff for contador 0 contador 16 contador msg x 01 x 02 x 03 x 04 x 05 x 06 socket send msg Java import java net import java io IOException public class Wol public static void main String args byte mac 0x01 0x02 0x03 0x04 0x05 0x06 byte buffer new byte 102 byte contador for contador 0 contador 6 contador buffer contador byte 0xff for contador 6 contador 102 contador 6 System arraycopy mac 0 buffer contador 6 try DatagramSocket udp new DatagramSocket udp setBroadcast true udp send new DatagramPacket buffer 102 InetAddress getByName 255 255 255 255 1976 catch java net SocketException se System err println se catch java net UnknownHostException ue System err println ue catch java io IOException ie System err println ie Visual Basic Para que funcione debeis insertar un control Winsock Dim buffer As Byte Dim contador As Byte ReDim buffer 101 As Byte For contador 0 To 5 buffer contador HFF Next For contador 6 To 101 Step 6 buffer contador H1 buffer contador 1 H2 buffer contador 2 H3 buffer contador 3 H4 buffer contador 4 H5 buffer contador 5 H6 Next Winsock1 Protocol sckUDPProtocol Winsock1 RemoteHost 255 255 255 255 Winsock1 RemotePort 1976 Winsock1 SendData buffer Por supuesto no hay método que sirva para marcar todas las tarjetas a la vez así que habrá que ir una por una mandando el magic packet para que se vaya encendiendo cada ordenador La tarjeta de red de cada ordenador apagado compara todos los paquetes que le llegan del tráfico de red para ver si contiene 16 veces su dirección MAC y así mandar a la placa madre que encienda el ordenador Las

    Original URL path: http://www.sistemasorp.es/2005/06/ (2013-05-07)
    Open archived version from archive

  • SISTEMAS O.R.P » 2005 » julio » 06
    puedo decir que la propuesta de patentes de software en Europa ha sido definitivamente derogada contundentemente por 648 votos a favor 14 en contra y 18 abstenciones Estamos de Enhorabuena Categories Electrónica Informática Proyectos Reseñas Sin categoría Uncategorized Calendar julio 2005 L M X J V S D jun sep 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Recent posts Televigilancia con un coche RC arduino y la raspberry pi L I O S El robot de 10 Otro año más se celebra la OSHWCon Los vagos 2 0 Explorer exe en Windows Probando el marco digital Parrot DF3120 parte 3 y final Recuperar una cámara Zaapa CIP RW después de un fallo de actualización Probando el marco digital Parrot DF3120 parte 2 Probando el marco digital Parrot DF3120 parte 1 Por fin se puede programar la cámara IP Zaapa CIPRW ZA CIPRW fácilmente Fuerza bruta en net para resolver las cifras del concurso cifras y letras Microchip va a sacar microcontroladores PIC de 32 bit con encapsulado DIP Descansa en paz Dennis MacAlistair Ritchie Mi charla

    Original URL path: http://www.sistemasorp.es/2005/07/06/ (2013-05-07)
    Open archived version from archive

  • SISTEMAS O.R.P » 2005 » julio » 28
    contenido los bytes que contendría deberían ser codigo maquina Por ejemplo el siguiente código en ensamblador MOV EAX 9 RET traducido a codigo máquina del intel x86 sería B8 09 00 00 00 C3 Por lo que si ejecutamos las siguientes lineas typedef unsigned int funcion void funcion pepe unsigned char juan 0xb8 9 0 0 0 0xc3 pepe unsigned int void void juan printf Es un 9 d n pepe Lo que hemos hecho es llamar a una dirección de memoria que contenia una ristra de bytes los cuales son significativos para el microprocesador En el ejemplo hemos asignado al registro EAX registro que almacena siempre lo que devuelve una función el número 9 y a continuación ejecutamos un RET para retornar de la llamada de la función Así hemos simulado una llamada a una función tal y como lo habría hecho el compilador pudiendo incluso modificar el código el contenido de la variable en tiempo de ejecución sin problemas de violaciones de memoria o similares Este código funciona tanto en Linux como en Windows siempre que sea un micro intel x86 aunque se puede usar en un motorola power pc o lo que querais siempre que conozcais el lenguaje maquina del micro Este artículo dará pie a otro mucho más avanzado sobre como lograr que un programa original pueda acceder a un web service sin que otros se aprovechen de esa información si usar contraseñas ni nada parecido Categories Electrónica Informática Proyectos Reseñas Sin categoría Uncategorized Calendar julio 2005 L M X J V S D jun sep 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Recent posts Televigilancia con un coche RC arduino y

    Original URL path: http://www.sistemasorp.es/2005/07/28/ (2013-05-07)
    Open archived version from archive

  • SISTEMAS O.R.P » 2005 » mayo
    094f int 10h pop ax cmp ah 2 je 29f cmp ah 3 je 2fd cmp ah 4 jne 29d jmp 32f jmp 278 mov ah 2 int 1ah push cx mov bx 7c91 mov al ch mov cl 4 shr al cl add al 30 mov bx al inc bx mov al ch and al 0f add al 30 mov bx al add bx 2 pop cx mov ch cl mov al ch mov cl 4 shr al cl add al 30 mov bx al inc bx mov al ch and al 0f add al 30 mov bx al add bx 2 mov al dh mov cl 4 shr al cl add al 30 mov bx al inc bx mov al dh and al 0f add al 30 mov bx al mov ax 1300 mov bx 7 mov cx 8 mov dx 0919 mov bp 7c91 int 10h jmp 278 mov ax 1300 mov bx 7 mov cx 1f mov dx 0919 mov bp 7c99 int 10h mov cx 3 mov ah 2 call 346 mov ah 4 call 346 mov ah 1 call 346 mov ah 4 call 346 loop 311 mov ah 0 call 346 jmp 278 mov ax 1300 mov bx 7 mov cx 3f mov dx 0908 mov bp 7cb8 int 10h mov ah 0 int 16h int 19h push cx cli mov al ed out 60 al in al 64 test al 2 loopnz 34c mov al ah out 60 al sti mov ah 0 int 1ah mov bx dx add bx 9 mov ah 0 int 1ah cmp bx dx jnz 360 pop cx ret w 100 0 0 2 q 4 Ejecutad el siguiente comando debug codigo txt 5 Reiniciad el ordenador con el disquete dentro Este proceso lo que hace es ejecutar tanto comandos del debug del msdos como intrucciones en ensamblador Con esto guardamos en el sector de arranque del disquete no del disco duro un programa que se ejecutará nada más reiniciar el ordenador antes de que se cargue el sistema operativo Este programa tiene un menú con 3 opciones 1 Mostrar hora Muestra la hora actual del sistema 2 Coche Fantastico Simula las luces del coche fantástico en los led del teclado 3 Salir Sale del programa cuando se retira el disquete carga el sector de arranque del disco duro Con este programa se muestra todo lo que que se puede necesitar de un pc interfaz con el usuario de entrada teclado interfaz con el usuario de salida monitor lectura de disco lectura del resto del programa en otro sector gestión de memoria las cadenas de texto y la pila gestión de dispositivos luces de teclado Las instrucciones del debug son a introducir código en ensamblador w 100 0 0 2 escribir el programa en los primeros sectores de arranque del disquete desde la posicion de memoria 100 q salir del debug No voy a explicar que hace cada cosa en el programa sin embargo si alguien tiene

    Original URL path: http://www.sistemasorp.es/2005/05/ (2013-05-07)
    Open archived version from archive

  • SISTEMAS O.R.P » 2005 » junio » 13
    podais probarlo son tan cortos que no hacen falta comentarlos tampoco tienen gestión de errores para su simplicidad en vuestro caso solo tendrías que modificar el puerto 1976 y la dirección MAC 01 02 03 04 05 06 C para Linux Unix y Windows ifdef WIN32 include stdio h include winsock2 h else include sys types h include sys socket h include netinet in h endif void main void int conexion struct sockaddr in direccion unsigned char buffer 102 unsigned char mac 0x01 0x02 0x03 0x04 0x5 0x06 int valor 1 contador ifdef WIN32 WSADATA wsaData WSAStartup MAKEWORD 2 2 wsaData endif for contador 0 contador 6 contador buffer contador 0xff for contador 6 contador 102 contador 6 memmove buffer contador mac 6 memset direccion sin zero 0 8 direccion sin family AF INET direccion sin addr s addr htonl INADDR BROADCAST direccion sin port htons 1976 conexion socket AF INET SOCK DGRAM 0 valor setsockopt conexion SOL SOCKET SO BROADCAST char valor sizeof int sendto conexion char buffer 102 0 struct sockaddr direccion sizeof struct sockaddr in ifdef WIN32 WSACleanup endif Perl use strict use IO Socket INET my socket my msg my contador socket new IO Socket INET new PeerPort 1976 Proto udp PeerAddr 255 255 255 255 Broadcast 1 msg for contador 0 contador 6 contador msg x ff for contador 0 contador 16 contador msg x 01 x 02 x 03 x 04 x 05 x 06 socket send msg Java import java net import java io IOException public class Wol public static void main String args byte mac 0x01 0x02 0x03 0x04 0x05 0x06 byte buffer new byte 102 byte contador for contador 0 contador 6 contador buffer contador byte 0xff for contador 6 contador 102 contador 6 System arraycopy mac 0 buffer contador 6 try DatagramSocket udp new DatagramSocket udp setBroadcast true udp send new DatagramPacket buffer 102 InetAddress getByName 255 255 255 255 1976 catch java net SocketException se System err println se catch java net UnknownHostException ue System err println ue catch java io IOException ie System err println ie Visual Basic Para que funcione debeis insertar un control Winsock Dim buffer As Byte Dim contador As Byte ReDim buffer 101 As Byte For contador 0 To 5 buffer contador HFF Next For contador 6 To 101 Step 6 buffer contador H1 buffer contador 1 H2 buffer contador 2 H3 buffer contador 3 H4 buffer contador 4 H5 buffer contador 5 H6 Next Winsock1 Protocol sckUDPProtocol Winsock1 RemoteHost 255 255 255 255 Winsock1 RemotePort 1976 Winsock1 SendData buffer Por supuesto no hay método que sirva para marcar todas las tarjetas a la vez así que habrá que ir una por una mandando el magic packet para que se vaya encendiendo cada ordenador La tarjeta de red de cada ordenador apagado compara todos los paquetes que le llegan del tráfico de red para ver si contiene 16 veces su dirección MAC y así mandar a la placa madre que encienda el ordenador Las

    Original URL path: http://www.sistemasorp.es/2005/06/13/ (2013-05-07)
    Open archived version from archive



  •