Junio 21, 2018, 08:18:45 am

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - JaAViEr

Páginas: [1] 2 3 ... 529
1
Dudas generales / Re:Hackeo instagram
« en: Febrero 18, 2017, 07:02:19 am »
Hola, muy buen día.

Para hackear una cuenta de instagram tienes varias posibilidades, éstas dependen netamente de tu relación con el individuo a atacar. Si tienes acceso a su computador y el usuario suele visitar instagram a través de él entonces puedes instalar un Keylogger para que al momento de ingresar puedas capturar su contraseña tipeada por él mismo.
Si puedes "convencerlo" de ejecutar un .EXE entonces podrías enviarle un troyano de conexión inversa... También puede ser mediante Phishing como te indicaron en la otra respuesta.

Saludos!

2
Código: (python) You are not allowed to view links. Register or Login
'''
Autor: JaAViEr | 0x5d
Twitter: https://twitter.com/javieresteban__
Website: http://codigo.ga
'''
from os import popen
opcion = input('''
1.- Lanzar X.
2.- Lanzar Y.
3.- Lanzar Z.
''')
if opcion == 1:
   
    popen("procesoX.exe")

elif opcion == 2:
   
    popen("procesoY.exe")

elif opcion == 3:
   
    popen("procesoZ.exe")

Por decir algo...

3
Hola!

Siguiendo con las prácticas en PyQT4, traigo una aplicación "juego" que luce así:
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
Enseguida explico más o menos en que consiste.

La aplicación se encarga de generar Números/Letras/Números y Letras (según cada gusto) de forma totalmente aleatoria, con la longitud que tu desees. Además de seleccionar un tiempo "límite" para memorizar el valor generado, una vez acabado este tiempo límite, el valor es oculto, para que tu escribas la respuesta y evaluar si lo que memorizaste corresponde realmente a la cifra que generó y mostró por los X segundos que lo configuraste.

Una vez lanzada la aplicación y configurada, damos clic en ¡Establecer Configuración! , lo que nos da un nuevo cuadro, que luce así:
You are not allowed to view links. Register or Login
Damos clic en "Comenzar" y tendremos esto:
You are not allowed to view links. Register or Login
Una vez acabado el tiempo, el QLineEdit se resetea para que ingreses lo que memorizaste:
You are not allowed to view links. Register or Login
Una vez ingresado el valor que memorizaste, presiona ENTER, si el valor fue correcto, entonces tu racha aumentará en +1 , de lo contrario se reiniciará a 0.
You are not allowed to view links. Register or Login
Sin más que agregar, el código:
Código: (python) You are not allowed to view links. Register or Login
# -*- coding: utf-8 -*-
'''
Juego Memoriza :: Entrenando tu Memoria
Autor: JaAViEr | 0x5d
Twitter: https://twitter.com/javieresteban__
Website: http://codigo.ga
'''
from PyQt4 import QtCore, QtGui
import sys
from random import randint, sample
import threading
from time import sleep

try:

_fromUtf8 = QtCore.QString.fromUtf8

except AttributeError:

def _fromUtf8(s):

return s
try:

_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):

return QtGui.QApplication.translate(context, text, disambig, _encoding)

except AttributeError:

def _translate(context, text, disambig):

return QtGui.QApplication.translate(context, text, disambig)

class formA(QtGui.QWidget):

def __init__(self, parent=None):

self.largo = 4
QtGui.QWidget.__init__(self, parent)
self.resize(359, 131)
self.gridLayout = QtGui.QGridLayout(self)
self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
self.tabWidget_inicial = QtGui.QTabWidget(self)
self.tabWidget_inicial.setStyleSheet(_fromUtf8("font-weight:bold;"))
self.tabWidget_inicial.setObjectName(_fromUtf8("tabWidget_inicial"))
self.tab = QtGui.QWidget()
self.tab.setObjectName(_fromUtf8("tab"))
self.gridLayout_2 = QtGui.QGridLayout(self.tab)
self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
self.label_tipo = QtGui.QLabel(self.tab)
self.label_tipo.setObjectName(_fromUtf8("label_tipo"))
self.gridLayout_2.addWidget(self.label_tipo, 0, 2, 1, 1)
self.pushButton_comenzar = QtGui.QPushButton(self.tab)
self.pushButton_comenzar.setObjectName(_fromUtf8("pushButton_comenzar"))
self.gridLayout_2.addWidget(self.pushButton_comenzar, 2, 0, 1, 3)
self.spinBox_largo = QtGui.QSpinBox(self.tab)
self.spinBox_largo.setMinimum(1)
self.spinBox_largo.setProperty("value", 4)
self.spinBox_largo.setObjectName(_fromUtf8("spinBox_largo"))
self.gridLayout_2.addWidget(self.spinBox_largo, 1, 0, 1, 1)
self.comboBox_tipo = QtGui.QComboBox(self.tab)
self.comboBox_tipo.setObjectName(_fromUtf8("comboBox_tipo"))
self.comboBox_tipo.addItem(_fromUtf8(""))
self.comboBox_tipo.addItem(_fromUtf8(""))
self.comboBox_tipo.addItem(_fromUtf8(""))
self.gridLayout_2.addWidget(self.comboBox_tipo, 1, 2, 1, 1)
self.label_largo = QtGui.QLabel(self.tab)
self.label_largo.setObjectName(_fromUtf8("label_largo"))
self.gridLayout_2.addWidget(self.label_largo, 0, 0, 1, 1)
self.label_tiempo = QtGui.QLabel(self.tab)
self.label_tiempo.setObjectName(_fromUtf8("label_tiempo"))
self.gridLayout_2.addWidget(self.label_tiempo, 0, 1, 1, 1)
self.spinBox_tiempo = QtGui.QSpinBox(self.tab)
self.spinBox_tiempo.setPrefix(_fromUtf8(""))
self.spinBox_tiempo.setObjectName(_fromUtf8("spinBox_tiempo"))
self.spinBox_tiempo.setMinimum(1)
self.gridLayout_2.addWidget(self.spinBox_tiempo, 1, 1, 1, 1)
self.tabWidget_inicial.addTab(self.tab, _fromUtf8(""))
self.gridLayout.addWidget(self.tabWidget_inicial, 0, 0, 1, 1)

self.valores_elementos()
self.connect(self.pushButton_comenzar, QtCore.SIGNAL("clicked()"), self.establecer_configuracion)

def establecer_configuracion(self):

self.tiempo = int(self.spinBox_tiempo.value())
self.largo = int(self.spinBox_largo.value())
form_b.show()
form_b.label_segundos_restantes.setText("%s segundos" % self.tiempo)


def valores_elementos(self):

self.setWindowTitle(_translate("self", "Memoriza :: www.codigo.ga", None))
self.label_tipo.setText(_translate("self", "Tipo de juego", None))
self.pushButton_comenzar.setText(_translate("self", "¡Establecer configuración!", None))
self.comboBox_tipo.setItemText(0, _fromUtf8("Números"))
self.comboBox_tipo.setItemText(1, _translate("self", "Letras", None))
self.comboBox_tipo.setItemText(2, _translate("self", "Números y Letras", None))
self.label_largo.setText(_translate("self", "Largo", None))
self.label_tiempo.setText(_translate("self", "Tiempo para memorizar", None))
self.spinBox_tiempo.setSuffix(_fromUtf8(" segundos"))
self.tabWidget_inicial.setTabText(self.tabWidget_inicial.indexOf(self.tab), _translate("self", "Configuración de Memoriza", None))


class formB(QtGui.QWidget):

def __init__(self, parent=None):

self.valor_generado = ""
self.racha = 0
QtGui.QWidget.__init__(self, parent)
self.setObjectName(_fromUtf8("self"))
self.resize(215, 104)
self.gridLayout = QtGui.QGridLayout(self)
self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
self.splitter = QtGui.QSplitter(self)
self.splitter.setOrientation(QtCore.Qt.Vertical)
self.splitter.setObjectName(_fromUtf8("splitter"))
self.label_memoriza = QtGui.QLabel(self.splitter)
self.label_memoriza.setStyleSheet(_fromUtf8("font-weight: bold; font-size: 17px;"))
self.label_memoriza.setObjectName(_fromUtf8("label_memoriza"))
self.lineEdit_valor_memorizar = QtGui.QLineEdit(self.splitter)
self.lineEdit_valor_memorizar.setReadOnly(True)
self.lineEdit_valor_memorizar.setObjectName(_fromUtf8("lineEdit_valor_memorizar"))
self.gridLayout.addWidget(self.splitter, 0, 0, 1, 2)
self.label_tiempo_restante = QtGui.QLabel(self)
self.label_tiempo_restante.setObjectName(_fromUtf8("label_tiempo_restante"))
self.gridLayout.addWidget(self.label_tiempo_restante, 1, 0, 1, 1)
self.label_segundos_restantes = QtGui.QLabel(self)
self.label_segundos_restantes.setStyleSheet(_fromUtf8("font-style: italic; font-weight: bold;"))
self.label_segundos_restantes.setObjectName(_fromUtf8("label_segundos_restantes"))
self.gridLayout.addWidget(self.label_segundos_restantes, 1, 1, 1, 1)
self.pushButton_comenzar = QtGui.QPushButton(self)
self.pushButton_comenzar.setObjectName(_fromUtf8("pushButton_comenzar"))
self.gridLayout.addWidget(self.pushButton_comenzar, 3, 0, 1, 2)
self.label_racha = QtGui.QLabel(self)
self.label_racha.setObjectName(_fromUtf8("label_racha"))
self.gridLayout.addWidget(self.label_racha, 2, 0, 1, 1)
self.label_valor_racha = QtGui.QLabel(self)
self.label_valor_racha.setStyleSheet(_fromUtf8("font-weight:  bold;"))
self.label_valor_racha.setObjectName(_fromUtf8("label_valor_racha"))
self.gridLayout.addWidget(self.label_valor_racha, 2, 1, 1, 1)

self.connect(self.pushButton_comenzar, QtCore.SIGNAL("clicked()"), self.empezar)
self.connect(self.pushButton_comenzar, QtCore.SIGNAL("returnPressed()"), self.empezar)
self.connect(self.lineEdit_valor_memorizar, QtCore.SIGNAL("returnPressed()"), self.cambia_valor)
self.renombrar_elementos_widget()
QtCore.QMetaObject.connectSlotsByName(self)

def cambia_valor(self):

qstring = str(self.lineEdit_valor_memorizar.text())
# mensaje = QtGui.QMessageBox()

if qstring == self.valor_generado and len(self.valor_generado) > 0 and len(qstring) > 0:

# mensaje.setText(_fromUtf8("¡Respuesta correcta!"))
self.pushButton_comenzar.setFocus(True)
self.lineEdit_valor_memorizar.setText("")
self.valor_generado = False
self.racha = self.racha + 1
self.label_valor_racha.setText(str(self.racha))
self.empezar()

else:

self.lineEdit_valor_memorizar.setText("")
self.valor_generado = False
# mensaje.setText(_fromUtf8("¡Respuesta Incorrecta!"))
self.racha = 0
self.correr = False
self.label_valor_racha.setText("0")
self.empezar()

# mensaje.exec_()

def generar_numero(self):

valor = ""
for i in range(form_a.largo,):

valor = valor + str(randint(0, 9))

return valor

def generar_letras(self):

valor = ""
lista = list("abcdefghijklmnopqrstuvwxyz")
len_lista = len(lista) - 1
for i in range(form_a.largo):

valor = valor + lista[randint(0,len_lista)]

return valor

def generar_alfanumerico(self):

valor = ""
lista_abc = list("abcdefghijklmnopqrstuvwxyz")
lista_digitos = list("0123456789")
largo = form_a.largo / 2
len_lista_abc = len(lista_abc) - 1
len_lista_digitos = len(lista_digitos) - 1
for i in range(largo):

valor = valor + lista_abc[randint(0,len_lista_abc)]

for i in range(largo):

valor = valor + lista_digitos[randint(0,len_lista_digitos)]

return ''.join(sample(valor, len(valor)))

def empezar(self):

opcion = form_a.comboBox_tipo.currentIndex()
self.lineEdit_valor_memorizar.setReadOnly(True)
if opcion == 0:
self.valor_generado = self.generar_numero()
self.lineEdit_valor_memorizar.setText(self.valor_generado)
elif opcion == 1:
self.valor_generado = self.generar_letras()
self.lineEdit_valor_memorizar.setText(self.valor_generado)
elif opcion == 2:
self.valor_generado = self.generar_alfanumerico()
self.lineEdit_valor_memorizar.setText(self.valor_generado)

t = Timer()
t.start()

def renombrar_elementos_widget(self):

self.setWindowTitle(_translate("self", "Tablero", None))
self.label_memoriza.setText(_translate("self", "<html><head/><body><p align=\"center\"><span style=\" font-size:13pt;\">Memoriza</span></p></body></html>", None))
self.lineEdit_valor_memorizar.setText(_translate("self", "", None))
self.label_tiempo_restante.setText(_translate("self", "Tiempo restante", None))
self.label_segundos_restantes.setText(_translate("self", "10 segundos", None))
self.label_racha.setText(_translate("self", "Racha", None))
self.label_valor_racha.setText(_translate("self", "0", None))
self.pushButton_comenzar.setText(_translate("self", "Comenzar", None))

class Timer(threading.Thread):

def __init__(self, parent=None):

threading.Thread.__init__(self, parent)

def run(self):

tiempo_restante = form_a.tiempo

for i in range(form_a.tiempo):
form_b.label_segundos_restantes.setText("%s segundos" % tiempo_restante)
tiempo_restante = tiempo_restante - 1
sleep(1)

form_b.label_segundos_restantes.setText("0 segundos")
form_b.lineEdit_valor_memorizar.setText("")
form_b.lineEdit_valor_memorizar.setReadOnly(False)
form_b.lineEdit_valor_memorizar.setFocus(True)

app = QtGui.QApplication(sys.argv)
form_b = formB()
form_a = formA()
form_a.show()
app.exec_()

Fuente: You are not allowed to view links. Register or Login

Saludos, Javier.

4
Hola, buen día, luego de meses y meses y meses (na', nunca tanto), de no escribir nada en el Blog, ni mucho menos programar alguna cosilla en PyQT4, he vuelto.

En esta ocasión traigo un Inicio de Sesión basado en el sistema de las antiguas Cajas Fuertes, dónde para ingresar al contenido de dicha caja, necesitabas una combinación de números. Aclaro que esto es solo una prueba de concepto, lo publico solo con dicha intención.

El programa luce así exactamente:
You are not allowed to view links. Register or Login

Más abajo explico como funciona, ahora adjunto el código:
Código: (python) You are not allowed to view links. Register or Login
# -*- coding: utf-8 -*-
'''
Prueba de Concepto sobre Inicio de sesión con Dial de QT4
Autor: JaAViEr | 0x5d
Twitter: https://twitter.com/javieresteban__
Website: http://codigo.ga
'''
from PyQt4 import QtCore, QtGui
import sys
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s

try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)

class Form(QtGui.QWidget):

def __init__(self, parent=None):


estilo_elementos = '''background:qlineargradient(spread:reflect, x1:0.523, y1:0.778, x2:0.545455, y2:0, stop:0 rgba(0, 176, 140, 214), stop:1 rgba(255, 255, 255, 255));
color: #000;padding: 10px;'''
QtGui.QWidget.__init__(self, parent)
self.clave = [220,1, 1000]
self.usuario = "jaavier"
self.intento_clave = []
self.setObjectName(_fromUtf8("self"))
self.setFixedSize(400, 484)
self.setStyleSheet(_fromUtf8("font-weight:bold; font-size: 15px;background:qlineargradient(spread:reflect, x1:0.523, y1:0.778, x2:0.545455, y2:0, stop:0 rgba(0, 176, 140, 214), stop:1 rgba(255, 255, 255, 255));"))
self.gridLayout = QtGui.QGridLayout(self)
self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
self.splitter_2 = QtGui.QSplitter(self)
self.splitter_2.setOrientation(QtCore.Qt.Vertical)
self.splitter_2.setObjectName(_fromUtf8("splitter_2"))
self.lcdNumber_numeros = QtGui.QLCDNumber(self.splitter_2)
self.lcdNumber_numeros.setObjectName(_fromUtf8("lcdNumber_numeros"))
self.lcdNumber_numeros.setStyleSheet(estilo_elementos)
self.dial_contrasena = QtGui.QDial(self.splitter_2)
self.dial_contrasena.setMaximum(1000)
self.dial_contrasena.setStyleSheet("background: rgb(85, 255, 255)")
self.dial_contrasena.setObjectName(_fromUtf8("dial_contrasena"))
self.gridLayout.addWidget(self.splitter_2, 3, 0, 1, 1)
self.label_usuario = QtGui.QLabel(self)
self.label_usuario.setStyleSheet(_fromUtf8("font-weight:bold; font-size: 15px;"))
self.label_usuario.setObjectName(_fromUtf8("label_usuario"))
self.label_usuario.setStyleSheet("background: transparent")
self.gridLayout.addWidget(self.label_usuario, 0, 0, 1, 1)
self.lineEdit_usuario = QtGui.QLineEdit(self)
self.lineEdit_usuario.setStyleSheet(estilo_elementos)
self.lineEdit_usuario.setObjectName(_fromUtf8("lineEdit_usuario"))
self.gridLayout.addWidget(self.lineEdit_usuario, 1, 0, 1, 1)
self.label_contrasena = QtGui.QLabel(self)
self.label_contrasena.setObjectName(_fromUtf8("label_contrasena"))
self.label_contrasena.setStyleSheet("background: transparent")
self.gridLayout.addWidget(self.label_contrasena, 2, 0, 1, 1)
self.pushButton_reiniciar = QtGui.QPushButton(self)
self.pushButton_reiniciar.setObjectName(_fromUtf8("pushButton_reiniciar"))
self.gridLayout.addWidget(self.pushButton_reiniciar, 4, 0, 1, 1)
self.pushButton_reiniciar.setStyleSheet(estilo_elementos)
self.renombrarObjetos()
QtCore.QObject.connect(self.dial_contrasena, QtCore.SIGNAL(_fromUtf8("valueChanged(int)")), self.lcdNumber_numeros.display)
QtCore.QObject.connect(self.pushButton_reiniciar, QtCore.SIGNAL(_fromUtf8("clicked()")), self.limpiar_campos)
QtCore.QMetaObject.connectSlotsByName(self)

def limpiar_campos(self):

self.lineEdit_usuario.setText("")
self.intento_clave = []
self.dial_contrasena.setValue(0)
mensaje_reinicio = QtGui.QMessageBox()
mensaje_reinicio.setText(_fromUtf8("Formulario reiniciado con éxito"))

def keyPressEvent(self, evento):

tecla = evento.key()

if tecla == 32:

usuario = str(self.lineEdit_usuario.text())
self.intento_clave.append(int(self.lcdNumber_numeros.value()))
self.dial_contrasena.setValue(0)
if self.intento_clave == self.clave and usuario == self.usuario:

mensaje = QtGui.QMessageBox()
mensaje.setText("Bienvenido, " + usuario)
mensaje.exec_()
self.limpiar_campos()

def renombrarObjetos(self):

self.setWindowTitle(_translate("self", "Iniciar Sesión :: WWW.CODIGO.GA", None))
self.label_usuario.setText(_translate("self", "Usuario", None))
self.label_contrasena.setText(_translate("self", "Contraseña", None))
self.pushButton_reiniciar.setText(_translate("self", "Reiniciar campos", None))

app = QtGui.QApplication(sys.argv)
formulario = Form()
formulario.show()
app.exec_()
Bien, dentro del código, específicamente en las líneas 32 y 33 tenemos dos variables:
Código: (python) You are not allowed to view links. Register or Login
self.clave = [220,1, 1000]
self.usuario = "jaavier"
Como vemos, self.usuario es la variable de nuestro usuario válido y self.clave es una Lista, cuyo valor es [220, 1, 1000], lo que quiere decir que esa es nuestra combinación para ingresar de forma correcta. En ves de 3 dígitos en la combinación, pueden ser los que se te antojen.

Para ingresar nuestra combinación (220, 1, 1000), es necesario utilizar nuestro cursor e ir moviendo la "perilla" (QDial), a medida que vayamos moviendo esta, el valor se irá viendo en la pantalla estilo "LCD" en la parte superior. Cuando hayas encontrado los números de tu combinación, debes presionar la tecla "Espacio", de esta forma le decimos al programa que el número que vemos en el LCD, forma parte de nuestra combinación, una vez hecho esto con la primera cifra, el QDial vuelve a 0, lo que quiere decir que ahora debes buscar el segundo número de tu combinación, presionar espacio y así lo mismo con el tercer, cuarto, quinto, etc dígito.

Si la combinación resulta correcta, deberías obtener algo como esto:
You are not allowed to view links. Register or Login

Fuente: You are not allowed to view links. Register or Login

Saludos, Javier.

5
Hacking General / Re:Backtrack 5
« en: Diciembre 02, 2014, 08:10:16 pm »
Hola, muy buen día.

En Internet hay muchos tutoriales sobre Backtrack. Este -> You are not allowed to view links. Register or Login podrías utilizar

Saludos!

6
FUENTE ORIGINAL : You are not allowed to view links. Register or Login

Hola, muy buen día.

El código Javascript que publicaré más abajo se encarga de capturar todas las palabras dentro de algún elemento, clase o id. Nos creará un pequeño formulario "flotante", en el cuál nos pedirá "Longitud", "Veces", "Elemento" (Filtros).

You are not allowed to view links. Register or Login
¿ Que es eso de "Filtros"?
Los dos primeros son una especie de filtros, así mostramos resultados más específicos.
  • Longitud: Busca palabras con la longitud que tu deseas (&gt;=)
  • Veces: Cantidad de veces que aparece en la web
  • Elemento: Acá ingresamos en que elemento de la web deseamos buscar Las palabras más utilizadas. El script al usar jQuery, nos permite insertar en este campo ".clases", "#ids" o simplemente elementos como &lt;body&gt;
Una vez rellenes los campos, el programa te dará una salida con una tabla como esta:

Ejemplo basado en el portal de noticias You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
Sin más, el código:
Código: (javascript) You are not allowed to view links. Register or Login
var script = document.createElement('script');
script.src = 'http://code.jquery.com/jquery-latest.js';
document.getElementsByTagName('head')[0].appendChild(script);

var times_form;
var element_form;
var length_form;
var l_temp;
var dict = {};
var new_dict = {};
var splited = "";
var counter;
var get_data = function (text, length) {

splited = text.split(" ");

  for ( var a in splited ) {

if( dict[splited[a]] ) {
 
      splited[a] = splited[a].toLowerCase();
  dict[splited[a]] = dict[splited[a]] + 1;
   
} else {
   
      if ( splited[a].length >= length ) {

      splited[a] = splited[a].toLowerCase();
        dict[splited[a]] = 1;
   
    }
   
    }
 
}
 
};

var extract = function (element, length, times) {

  new_dict = {};
  dict = {};
 
  $(element).each( function () {
 
  get_data($(this).text(), length);
 
});

  for ( var c in dict ) {
 
    if ( dict[c] >= times ) {
   
      new_dict[c] = dict[c];
   
    }
 
  } 

  var output = "<table border='1'>"+
      "<thead>"+
      "<th>Palabra</th>"+
      "<th>Longitud</th>"+
      "<th>Apariciones</th>"+
      "</thead>"+
      "<tbody>";
  counter = 0;
  for( var l in new_dict ) {

    counter++;
    l_temp = l.replace("<", "&lt;");
    l_temp = l_temp.replace(">", "&gt;");
    output = output + "<tr>"+
      "<td>" + l_temp + "</td><td>" + l.length + "</td><td>" + new_dict[l] + "</td>"+
      "</tr>";
   
  }
  output = output + "</tbody></table>";
 
  show_results(output);
  return new_dict;

};

var find = function (word) {

  if ( new_dict[word] ) {
 
  show_results(String(new_dict[word]));
 
  } else {
 
  show_results("Word Not found");
 
  }

};

var search = function () {

  length_form = $("input[name=length_craw]").val();
  times_form = $("input[name=times_craw]").val();
  element_form = $("input[name=element_craw]").val();
  if( length_form.length > 0 && times_form.length > 0 && element_form.length > 0 ) {
 
    extract(element_form, length_form, times_form);
 
  }

};

var show_form = function () {

  $("<div class='show_words' style='border-radius:5px;box-shadow:0px 0px 10px #000;overflow:scroll;font-family:Trebuchet MS;width:auto;height:6cm;background-color:#fff;border:1px solid;position:fixed;top:12%;left:2%;padding:5px;z-index:30;'>"+
    "<center><h2>Palabras más utilizadas</h2></center><input style='padding: 2px;border: 1px solid;border-radius: 4px;margin: 4px;' name='length_craw' placeholder='Longitud'>&nbsp;<input style='padding: 2px;border: 1px solid;border-radius: 4px;margin: 4px;' name='times_craw' placeholder='Veces'><br/>"+
    "<input style='padding: 2px;border: 1px solid;border-radius: 4px;margin: 4px;' name='element_craw' placeholder='Elemento'>&nbsp;<button onclick='search()' style='padding: 2px;border: 1px solid;border-radius: 4px;margin: 4px;'>¡Buscar!</button>&nbsp;<button onclick='$(\".show_words\").fadeOut();' style='padding: 2px;border: 1px solid;border-radius: 4px;margin: 4px;'>Cerrar</button>"+
    "<div class='words_content'></div></div>").appendTo("body");

};

var show_results = function (content) {

  $(".words_content").html("Total:" + counter + "<br/>" + content);

};

show_form();

FUENTE ORIGINAL : You are not allowed to view links. Register or Login


Sin más que agregar... gracias por leer :-)

Saludos, Javier.

7
Código Abierto Python / [Python-CGI] PC Control Remoto - JaAViEr
« en: Octubre 30, 2014, 01:46:56 am »
NOTA:Excedí 20.000 carácteres, entrada completa en You are not allowed to view links. Register or Login

PC Control Remoto es un programa/web desarrollado bajo el lenguaje de programación Python en conjunto con su librería CGI, la cuál nos permitirá montar un servidor CGI y poder llevar acabo nuestro cometido.

Este programa nos permitirá acceder a nuestro computador forma remota, con tu Navegador favorito, conectado vía LAN o a Internet (configuración aparte), desde cualquier navegador. Las funciones que nos brinda son las siguiente:
  • Consola - Terminal remota: Puedes ejecutar cualquier comando y obtener su salida desde tu navegador.
  • Comándos rápidos: Entre estos comándos rápidos tenemos las posibilidad de:
    • Apagar PC. (60 segundos).
    • Reiniciar PC. (60 segundos).
    • Cancelar Apagado/Reinicio.
    • Matar un proceso.
    • Iniciar un proceso.

El programa en general se compone de:
  • Server.py - Programa encargado de crear el servidor bajo el puerto que queramos.
  • Index.py - Login e inicio del Panel de Control.
  • Terminal.py - Consola remota.
  • Comando_rapido.py - Comandos rápidos.
  • Logout.py - Cerrar sesión
Además de otros componentes como Topcoat (CSS), jQuery (JS).


You are not allowed to view links. Register or Login

Solo extraer en una carpeta y ejecutar server.py PUERTO


NOTA: Entrada excede 20.000 carácteres permitido en este foro, por lo que pueden encontrar la entrada completa en You are not allowed to view links. Register or Login

Un par de Screenshots de como luce el programa...
Identificación
You are not allowed to view links. Register or Login
Panel de control
You are not allowed to view links. Register or Login
Consola-Terminal Remota
You are not allowed to view links. Register or Login
Comando rápidos
You are not allowed to view links. Register or Login
Comandos rápidos - Iniciar Proceso
You are not allowed to view links. Register or Login
Comandos rápidos - Matar Proceso
You are not allowed to view links. Register or Login

8
Python / Re:Estancado en POO y para que sirve __init__()
« en: ſeptiembre 22, 2014, 10:28:07 pm »
self.ejemplo = ejemplo[/code] ¿Verdad?

Gracias, si pudieras ayudarme con la otra dudilla sobre QUÉ Y CÓMO programar en el primer mensaje te lo agradecería mucho.
Como bien dijo seth, es un inicializador.
Respecto al self.ejemplo = ejemplo, si declaro ejemplo = 1, podré acceder a "ejemplo" solo desde la función donde lo declaré. En cambio si utilizamos self.ejemplo = 1, podremos acceder a self.ejemplo desde cualquier función de la clase en cuestión.

Saludos!

9
Python / Re:Estancado en POO y para que sirve __init__()
« en: ſeptiembre 22, 2014, 12:37:16 pm »
__init__(self) es el método que se activará de inmediato en cuanto crees un manejador de la clase que creaste.
Ejemplo:
Código: You are not allowed to view links. Register or Login
class Programa:

    def __init__(self):

        print "Iniciaste el programa!"

manejador = Programa()
Como puedes apreciar, solo llamé a la clase y al llamar a la clase mostrará "Iniciaste el programa!"

Saludos, Javier.

10
Off Topic / [Dato]BTC Cloud Mining
« en: Julio 13, 2014, 04:31:19 pm »
Hola, muy buenos días.

Hace unos días me topé con un servicio de You are not allowed to view links. Register or Login, el cuál nos permite minar BTC sin tener que comprar algún tipo de Hardware, solo invirtiendo BTC en GHS (Potencia) , los BTC minados son depositados a tu cuenta y puedes re-invertir lo ganado en más potencia, lo que obviamente se traduce en mayor cantidad de GHS = Mayor cantidad de ganancias en BTC.

¡ Se los recomiendo a toda costa !

Una vez que adquieres GHS , el proceso de minado comienza automáticamente.

Luego de You are not allowed to view links. Register or Login vas a "Balance" y puedes hacer depósitos en BTC a la cuenta que se te ha asignado, de esa forma puedes invertir tus BTC en más GHS.

Saludos, Javier.

11
Python / Re:Ayuda con python!
« en: Mayo 17, 2014, 06:04:39 pm »
Hola, buen día.

Para abrir un archivo en modo lectura:
Código: You are not allowed to view links. Register or Login
archivo = open("RUTA_ARCHIVO", "r") # "r" para Leer, "w" para sobreescribir, "a" para escribir al final del archivo
contenido = archivo.read() # Guardamos el archivo en la variable contenido
archivo.close() # Cerramos el archivo
print contenido # Mostramos el contenido del archivo

Para leer PDF debes utilizar alguna librería externa, para hacer reemplazo de caracteres o palabras, utiliza "replace":
Código: You are not allowed to view links. Register or Login
string = "Javier"
string = string.replace("Javier", "JaAViEr")
print string

Saludos !

12
Código Abierto Python / [Código-PyQT4]Protector de Archivo - JaAViEr
« en: Abril 25, 2014, 09:54:14 pm »
Hola, buenos días!

El siguiente programa tiene por función el poder restaurar un archivo que se ha modificado o eliminado.

El funcionamiento del programa es muy sencillo



Clic en "Buscar..." , ubicamos el archivo que deseamos proteger y damos clic en "Abrir" , una vez hecho esto el programa ya estará atento a los cambios del programa. El programa lanzará un alerta en caso de que:
  • El archivo se haya eliminado.
  • El archivo se haya modificado.
Junto con cualquiera de ambas alertas el programa nos dará la posibilidad de restaurar a la versión anterior (A la versión del archivo al momento de ejecutarse este programa y seleccionar el archivo)
Sin más que decir, el código
Código: (python) You are not allowed to view links. Register or Login
# -*- coding: utf-8 -*-

#Autor: JaAViEr | 0X5D
#Twitter: @javieresteban__

from PyQt4 import QtCore, QtGui
import sys, threading, os

try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
return s

class Formulario(QtGui.QWidget):

def __init__(self):

QtGui.QWidget.__init__(self)
self.setWindowTitle("Protector de Archivos :: 2014")
self.setFixedSize(400, 48)
self.gridLayout = QtGui.QGridLayout(self)
self.label = QtGui.QLabel(self)
self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
self.archivo = QtGui.QLineEdit(self)
self.archivo.setDisabled(True)
self.gridLayout.addWidget(self.archivo, 0, 1, 1, 1)
self.boton = QtGui.QPushButton(self)
self.gridLayout.addWidget(self.boton, 0, 2, 1, 1)
self.label.setText("Archivo:")
self.boton.setText("Buscar...")
self.connect(self.boton, QtCore.SIGNAL("clicked()"), self.buscar_archivo)
self.connect(self.archivo, QtCore.SIGNAL("returnPressed()"), self.empezar)

def buscar_archivo(self):

self.file = QtGui.QFileDialog.getOpenFileName(self, 'Buscar Archivo', '')
leer = open(self.file, "rb")
self.lineas = leer.read()
leer.close()
self.archivo.setText(self.file)
self.size = os.path.getsize(self.file)
self.empezar()

def empezar(self):

h = Hilo()
h.start()

class Hilo(threading.Thread):

def run(self):

while True:
try:
open(form.file)
estado = True
except:
estado = False

if estado:
tama = os.path.getsize(form.file)
if tama == form.size:
pass
else:
self.restaurar()
else:
self.restaurar()

def restaurar(self):

try:
f = open(form.file, "wb")
f.write(form.lineas)
f.close()
QtGui.QMessageBox.about(None, 'Alerta',_fromUtf8('El archivo se restauró exitosamente!'))
except:
QtGui.QMessageBox.about(None, 'Alerta',_fromUtf8('Error al intentar restaurar!'))
app = QtGui.QApplication(sys.argv)
form = Formulario()
form.show()
app.exec_()

Saludos, Javier.

13
Hola, muy buenos días.

Hace unos días re-re-re-re-tome PyQT4 & SQLite, con lo que se me ocurrió hacer un programa (a forma de práctica) que me ayude a manejar el Stock de productos, con opción de:
  • Eliminar Producto
  • Agregar Producto
  • Actualizar Producto
El programa luce exactamente así:


Para Editar o Actualizar Producto primero debemos seleccionar el producto y posteriormente dar clic en el botón de la acción que deseamos realizar
Actualizar Producto:

Agregar Producto:


Sin más preámbulos , el código:

Código: (python) You are not allowed to view links. Register or Login
# -*- coding: cp1252 -*-

from PyQt4 import QtCore, QtGui
import sys, sqlite3

try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
return s

class Formulario(QtGui.QWidget):

def __init__(self, parent=None):

QtGui.QWidget.__init__(self, parent)
self.setFixedSize(591, 471)
self.gridLayout = QtGui.QGridLayout(self)
self.label = QtGui.QLabel(self)
self.gridLayout.addWidget(self.label, 0, 0, 1, 2)
self.treeWidget = QtGui.QTreeWidget(self)
self.treeWidget.header().setDefaultSectionSize(150)
self.gridLayout.addWidget(self.treeWidget, 1, 0, 1, 3)
self.boton_eliminar = QtGui.QPushButton(self)
self.gridLayout.addWidget(self.boton_eliminar, 2, 0, 1, 1)
self.boton_agregar = QtGui.QPushButton(self)
self.gridLayout.addWidget(self.boton_agregar, 2, 1, 1, 1)
self.boton_actualizar = QtGui.QPushButton(self)
self.gridLayout.addWidget(self.boton_actualizar, 2, 2, 1, 1)
self.setWindowTitle("Visualizador de Stock")
self.label.setText(_fromUtf8("Información del stock actual:"))
self.treeWidget.headerItem().setText(0, "ID")
self.treeWidget.headerItem().setText(1, "Producto")
self.treeWidget.headerItem().setText(2, "Precio unitario")
self.treeWidget.headerItem().setText(3, "Cantidad")
__sortingEnabled = self.treeWidget.isSortingEnabled()
self.treeWidget.setSortingEnabled(False)

self.conexion = sqlite3.connect("stock.db")
self.controla = self.conexion.cursor()
try:
self.controla.execute("CREATE TABLE stock (id int, nombre text, precio int, cantidad int)")
self.controla.execute("INSERT INTO stock VALUES (1, 'Producto Demo', 2500, 100)")
self.commit()
except:
pass

self.treeWidget.setSortingEnabled(__sortingEnabled)
self.boton_eliminar.setText("Eliminar producto")
self.boton_agregar.setText("Agregar producto")
self.boton_actualizar.setText(_fromUtf8("Actualizar información"))
self.connect(self.boton_eliminar, QtCore.SIGNAL("clicked()"), self.eliminar)
self.connect(self.boton_agregar, QtCore.SIGNAL("clicked()"), self.agregar)
self.connect(self.boton_actualizar, QtCore.SIGNAL("clicked()"), self.actualizar)
self.connect(self.treeWidget, QtCore.SIGNAL("itemPressed(QTreeWidgetItem*, int)"), self.seleccion)
self.carga()

def carga(self):

self.treeWidget.reset()
self.controla.execute("SELECT * FROM stock")
l = 0
for row in self.controla:
item_0 = QtGui.QTreeWidgetItem(self.treeWidget)
id, nombre, precio, cantidad = row
self.treeWidget.topLevelItem(l).setText(0, str(id))
self.treeWidget.topLevelItem(l).setText(1, nombre)
self.treeWidget.topLevelItem(l).setText(2, str(precio))
self.treeWidget.topLevelItem(l).setText(3, str(cantidad))
item_0 = QtGui.QTreeWidgetItem(self.treeWidget)
l = l + 1

self.conexion.commit()

def agregar(self):

agregar.show()

def seleccion(self, qt, i):
self.item = self.treeWidget.currentItem()
self.id_prod = self.item.text(0)
self.nombre_prod = self.item.text(1)
self.precio_prod = self.item.text(2)
self.cantidad_prod = self.item.text(3)

def eliminar(self):
if self.id_prod:
reply = QtGui.QMessageBox.question(self,  'Message',  _fromUtf8('¿Estás seguro?'),  QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.Yes)
if reply == QtGui.QMessageBox.Yes:
self.controla.execute("DELETE FROM stock WHERE id = %s" % self.id_prod)
self.conexion.commit()
self.carga()

def actualizar(self):

actualizar.cargador(str(self.id_prod), self.nombre_prod, str(self.precio_prod), str(self.cantidad_prod))
actualizar.show()

class Agregar(QtGui.QWidget):

def __init__(self, parent=None):

QtGui.QWidget.__init__(self, parent)
self.setFixedSize(400, 151)
self.gridLayout = QtGui.QGridLayout(self)
self.label_nombre = QtGui.QLabel(self)
self.gridLayout.addWidget(self.label_nombre, 0, 0, 1, 1)
self.input_nombre = QtGui.QLineEdit(self)
self.gridLayout.addWidget(self.input_nombre, 0, 2, 1, 1)
self.label_precio = QtGui.QLabel(self)
self.gridLayout.addWidget(self.label_precio, 1, 0, 1, 1)
self.input_precio = QtGui.QLineEdit(self)
self.gridLayout.addWidget(self.input_precio, 1, 2, 1, 1)
self.label_cantidad = QtGui.QLabel(self)
self.gridLayout.addWidget(self.label_cantidad, 2, 0, 1, 2)
self.input_cantidad = QtGui.QLineEdit(self)
self.gridLayout.addWidget(self.input_cantidad, 2, 2, 1, 1)
self.input_id = QtGui.QLineEdit(self)
self.gridLayout.addWidget(self.input_id, 3, 2, 1, 1)
self.label_id = QtGui.QLabel(self)
self.gridLayout.addWidget(self.label_id, 3, 0, 1, 1)
self.boton_agregar = QtGui.QPushButton(self)
self.gridLayout.addWidget(self.boton_agregar, 4, 0, 1, 3)
self.setWindowTitle("Agregar producto")
self.label_nombre.setText("Nombre:")
self.label_precio.setText("Precio:")
self.label_cantidad.setText("Cantidad:")
self.label_id.setText("ID:")
self.boton_agregar.setText("Agregar")
self.connect(self.boton_agregar, QtCore.SIGNAL("clicked()"), self.agregar_producto)

def agregar_producto(self):

self.conexion = sqlite3.connect("stock.db")
self.get = self.conexion.cursor()
id = str(self.input_id.text())
nombre = str(self.input_nombre.text())
precio = str(self.input_precio.text())
cantidad = str(self.input_cantidad.text())
query = "SELECT * FROM stock WHERE id = %s" % id
if self.get.execute(query).fetchone() != None:
QtGui.QMessageBox.question(self,  'Alerta',  _fromUtf8('El ID ya está asociado a otro producto.'))
else:
self.get.execute("INSERT INTO stock VALUES (%s, '%s', %s, %s)" % (int(id), nombre, int(precio), int(cantidad)))
self.conexion.commit()
form.carga()
self.hide()

class Actualizar(QtGui.QWidget):

def __init__(self):

QtGui.QWidget.__init__(self)
self.setFixedSize(400, 151)
self.gridLayout = QtGui.QGridLayout(self)
self.label_nombre = QtGui.QLabel(self)
self.gridLayout.addWidget(self.label_nombre, 0, 0, 1, 1)
self.input_nombre = QtGui.QLineEdit(self)
self.gridLayout.addWidget(self.input_nombre, 0, 2, 1, 1)
self.label_precio = QtGui.QLabel(self)
self.gridLayout.addWidget(self.label_precio, 1, 0, 1, 1)
self.input_precio = QtGui.QLineEdit(self)
self.gridLayout.addWidget(self.input_precio, 1, 2, 1, 1)
self.label_cantidad = QtGui.QLabel(self)
self.gridLayout.addWidget(self.label_cantidad, 2, 0, 1, 2)
self.input_cantidad = QtGui.QLineEdit(self)
self.gridLayout.addWidget(self.input_cantidad, 2, 2, 1, 1)
self.label_id = QtGui.QLabel(self)
self.gridLayout.addWidget(self.label_id, 3, 0, 1, 1)
self.input_id = QtGui.QLineEdit(self)
self.input_id.setDisabled(True)
self.gridLayout.addWidget(self.input_id, 3, 2, 1, 1)
self.boton_actualizar = QtGui.QPushButton(self)
self.gridLayout.addWidget(self.boton_actualizar, 4, 0, 1, 3)
self.setWindowTitle("Agregar producto")
self.label_nombre.setText("Nombre:")
self.label_precio.setText("Precio:")
self.label_cantidad.setText("Cantidad:")
self.label_id.setText("ID:")
self.boton_actualizar.setText("Actualizar")
self.connect(self.boton_actualizar, QtCore.SIGNAL("clicked()"), self.actualizar)

def cargador(self, id="", nombre="", precio="", cantidad=""):

self.input_id.setText(id)
self.input_nombre.setText(nombre)
self.input_precio.setText(precio)
self.input_cantidad.setText(cantidad)

def actualizar(self):

self.id = str(self.input_id.text())
self.nombre = str(self.input_nombre.text())
self.precio = str(self.input_precio.text())
self.cantidad = str(self.input_cantidad.text())
self.conexion = sqlite3.connect("stock.db")
self.get = self.conexion.cursor()
query = "UPDATE stock SET nombre = '%s', precio = %s, cantidad = %s WHERE id = %s " % (self.nombre, int(self.precio), int(self.cantidad), int(self.id))
try:
self.get.execute(query)
self.conexion.commit()
form.carga()
self.hide()
QtGui.QMessageBox.question(self,  'Alerta',  _fromUtf8('Producto actualizado correctamente.'))
except:
QtGui.QMessageBox.question(self,  'Alerta',  _fromUtf8('No se pudo actualizar.'))

app = QtGui.QApplication(sys.argv)
actualizar = Actualizar()
agregar = Agregar()
form = Formulario()
form.show()
app.exec_()

14
Programación en general / [Programa PyQT4 EXE]QuieroCompartir V1
« en: Abril 23, 2014, 03:04:38 am »
Hola, muy buenos días a todos.

En esta oportunidad vengo a compartir un "software" programado en Python en compañía de la librería QT4. Les cuento un poco como funciona el programa...

El programa se ve exactamente así:



Explico de que trata...

Con este programa puedes compartir contenido de forma pública o privada, asociando cada contenido a un ID único. Para tener un control sobre cada contenido
puedes asociarle 2 contraseñas al contenido, 1 pública y 1 privada.

Contraseña pública: Con esta contraseña la gente podrá visualizar tu contenido.
Contraseña privada: Quién tenga acceso a esta contraseña podrá editar el contenido al que está asociado el id.

Para asociar las contraseñas debes rellenar el campo Contraseña con el siguiente formato :

contraseñaprivada:contraseñapública

Por ejemplo: qwerty:root

Clave privada: qwerty (Con esta edito)
Clave pública: root (Con esta visualizo)

Veamos un ejemplo con el ID "saludo_programa" con clave privada "claveprivada" y clave pública "clavepública":

Una vez presiones "Enviar" rellenaremos el programa con la información previamente proporcionada para comprobar si fue correctamente publicado. Una vez hecho damos clic en "Actualizar":


Si quieres editar el contenido, debes rellenar el formulario inferior con el nuevo contenido que deseas para el ID que le especifiques. En el campo de Contraseña solo ingresamos la clave privada. Si todo sale bien el programa nos avisará que nuestro ID a sido actualizado correctamente.

Link de descarga : You are not allowed to view links. Register or Login

Saludos, Javier.

15
Python / Re:[Aporte - Python] Programa Chars-ASCII
« en: Abril 18, 2014, 11:15:37 pm »
Hola !

Mucho que no reducía código,
Código: You are not allowed to view links. Register or Login
for a, b in [(n,z) for n, z in [(str(ord(i)), i) for i in raw_input("Palabra:")]]:
print b, a

Saludos !

Páginas: [1] 2 3 ... 529