Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: overxfl0w13 en 18 Julio 2012, 21:48 pm



Título: [Aporte] Qt4 Gold Serial Recover
Publicado por: overxfl0w13 en 18 Julio 2012, 21:48 pm
EDIT: He actualizado retirando los serials del ejecutable y añadiéndolos a un archivo .db con sqlite tal como recomendó Astaroth. Con esto dejo a los usuarios del foro añadir nuevos serials al archivo database y cuando haya suficientes serials nuevos añadidos se irá modificando el programa, solo hay que comunicarlo :)

(http://i49.tinypic.com/24entjt.png)

Recuerdo que tiene que estar instalado Qt4 a no ser que se descargue el exe. Dejo el code:

Headers

Window.hpp:
Código
  1. #include <QtGui>
  2. #include <QSqlDatabase>
  3. #include <QSqlQuery>
  4. #include <QVariant>
  5.  
  6. class window : public QObject
  7. {
  8.    Q_OBJECT
  9.  
  10.    public:
  11.        window();
  12.        ~window();
  13.  
  14.    private slots:
  15.        void serialOffice();
  16.        void serialNero();
  17.        void serialPhotoshop();
  18.        void serialTuneup();
  19.        void distribuirSlots();
  20.  
  21.    public:
  22.        QWidget *mainWindow;
  23.        QVBoxLayout *mainLayout;
  24.        QPixmap *imageLabel;
  25.        QLabel *mainImage,*mainSpace,*mainCongratulations;
  26.        QComboBox *mainMenu;
  27.        QListWidget *mostrarSerial;
  28.        QPushButton *pasarSerial;
  29.        QSound *mainSong;
  30.        QString serial;
  31.        QSqlDatabase DataBase;
  32.        QSqlQuery consultaSerial;
  33.  
  34. };

Sources

Window.cpp:
Código
  1. #include "window.hpp"
  2.  
  3.  
  4. void window::distribuirSlots()
  5. {
  6.    if(mainMenu->currentText() == "Office Professional 2010") serialOffice();
  7.    if(mainMenu->currentText() == "Nero 11 Platinum") serialNero();
  8.    if(mainMenu->currentText() == "Adobe Photoshop CS6") serialPhotoshop();
  9.    if(mainMenu->currentText() == "TuneUp Utilities 2012") serialTuneup();
  10.  
  11. }
  12.  
  13. void window::serialOffice()
  14. {
  15.    mostrarSerial->clear();
  16.    QSqlQuery consultaSerial(QString("select serial from office"));
  17.    consultaSerial.exec();
  18.    while(consultaSerial.next())
  19.    {
  20.    serial = QString(consultaSerial.value(0).toString());
  21.    mostrarSerial->addItem(serial);
  22.    }
  23.    mostrarSerial->show();
  24. }
  25.  
  26. void window::serialNero()
  27. {
  28.    mostrarSerial->clear();
  29.    QSqlQuery consultaSerial(QString("select serial from nero"));
  30.    consultaSerial.exec();
  31.    while(consultaSerial.next())
  32.    {
  33.    serial = QString(consultaSerial.value(0).toString());
  34.    mostrarSerial->addItem(serial);
  35.    }
  36.    mostrarSerial->show();
  37. }
  38.  
  39. void window::serialPhotoshop()
  40. {
  41.    mostrarSerial->clear();
  42.    QSqlQuery consultaSerial(QString("select serial from photoshop"));
  43.    consultaSerial.exec();
  44.    while(consultaSerial.next())
  45.    {
  46.    serial = QString(consultaSerial.value(0).toString());
  47.    mostrarSerial->addItem(serial);
  48.    }
  49.    mostrarSerial->show();
  50. }
  51.  
  52. void window::serialTuneup()
  53. {
  54.    mostrarSerial->clear();
  55.    QSqlQuery consultaSerial(QString("select serial from tuneup"));
  56.    consultaSerial.exec();
  57.    while(consultaSerial.next())
  58.    {
  59.    serial = QString(consultaSerial.value(0).toString());
  60.    mostrarSerial->addItem(serial);
  61.    }
  62.    mostrarSerial->show();
  63. }
  64.  
  65.  
  66. window::window()
  67. {
  68.    /********** Declaración de atributos **********/
  69.  
  70.    mainWindow = new QWidget;
  71.    imageLabel = new QPixmap("Resources/Images/Image.png");
  72.    mainSpace = new QLabel(" ");
  73.    mainCongratulations = new QLabel;
  74.    mainLayout = new QVBoxLayout;
  75.    mainImage = new QLabel;
  76.    mainMenu = new QComboBox;
  77.    mostrarSerial = new QListWidget;
  78.    pasarSerial = new QPushButton("Aceptar");
  79.    mainSong = new QSound("Resources/Sound/song.wav");
  80.  
  81.    /********** Construcción Ventana **********/
  82.  
  83.    mainSong->setLoops(20);
  84.    mainCongratulations->setAlignment(Qt::AlignRight);
  85.    mainCongratulations->setText("<font size=3 color=#f3ca26>By Overxfl0w to elhacker.net</font>");
  86.    mainWindow->setWindowTitle("Gold Serial Recover");
  87.    mainSong->play();
  88.    mainWindow->setMinimumSize(300,400);
  89.    mainWindow->setMaximumSize(300,400);
  90.    mainImage->setPixmap(*imageLabel);
  91.    mainImage->setAlignment(Qt::AlignHCenter);
  92.    mainImage->setScaledContents(true);
  93.    mainMenu->addItem("Office Professional 2010");
  94.    mainMenu->addItem("Nero 11 Platinum");
  95.    mainMenu->addItem("Adobe Photoshop CS6");
  96.    mainMenu->addItem("TuneUp Utilities 2012");
  97.  
  98.  
  99.    /********** Adición de Capas **********/
  100.  
  101.    mainLayout->addWidget(mainImage);
  102.    mainLayout->addWidget(mainSpace);
  103.    mainLayout->addWidget(mainMenu);
  104.    mainLayout->addWidget(mostrarSerial);
  105.    mainLayout->addWidget(pasarSerial);
  106.    mainLayout->addWidget(mainCongratulations);
  107.    mainWindow->setLayout(mainLayout);
  108.    mainWindow->show();
  109.  
  110.   /********** Conexión Botones **********/
  111.  
  112.    QObject::connect(pasarSerial,SIGNAL(clicked()),this,SLOT(distribuirSlots()));
  113.  
  114.    /********* Conexión DataBase *********/
  115.  
  116.    QSqlDatabase DataBase = QSqlDatabase::addDatabase("QSQLITE");
  117.    DataBase.setDatabaseName("database.db");
  118.    DataBase.open();
  119. }
  120.  
  121. window::~window()
  122. {
  123.   DataBase.close();
  124.   delete mainWindow;
  125.   delete imageLabel;
  126.   delete mainLayout;
  127.   delete mainImage;
  128.   delete mainMenu;
  129.   delete mostrarSerial;
  130.   delete mainSpace;
  131.   delete mainCongratulations;
  132.   delete pasarSerial;
  133.   delete mainSong;
  134. }
  135.  
  136.  

Main.cpp:
Código
  1. #include "window.hpp"
  2. int main(int argc, char *argv[])
  3. {
  4.    QApplication a(argc, argv);
  5.    window window;
  6.    return a.exec();
  7. }
  8.  

El archivo database.db que contiene los serials es éste:

http://www.mediafire.com/?fq5jxk7bw9552lu (http://www.mediafire.com/?fq5jxk7bw9552lu)

Y el .exe completo con las .dll (debido a esto ocupa un gran tamaño) aquí:

http://www.mediafire.com/?dsy1bygykgxnkcm (http://www.mediafire.com/?
dsy1bygykgxnkcm)

Espero que sea de vuestro agrado y podáis colaborar con el proyecto  ;-)


Título: Re: [Aporte] Qt4 Gold Serial Recover
Publicado por: avesudra en 18 Julio 2012, 22:36 pm
¡Muy buena la idea!  ;-) Aunque ten cuidado con las empresas no te vayan a coger por piratilla  :xD Una preguntilla , ¿porque no compilas las librerías Qt estáticamente y distribuyes el ejecutable ? Por ejemplo en lo del chat quería probarlo pero no me funcionaba porque me faltaba SMFL aunque no sé si se puede compilar estáticamente ésta última pero ya te digo que sería util para el que quiera verlo y nó instalar SMFL Qt u otras librerías.

¡Un saludo y gracias por el gran aporte!


Título: Re: [Aporte] Qt4 Gold Serial Recover
Publicado por: overxfl0w13 en 18 Julio 2012, 22:42 pm
¡Muy buena la idea!  ;-) Aunque ten cuidado con las empresas no te vayan a coger por piratilla  :xD Una preguntilla , ¿porque no compilas las librerías Qt estáticamente y distribuyes el ejecutable ? Por ejemplo en lo del chat quería probarlo pero no me funcionaba porque me faltaba SMFL aunque no sé si se puede compilar estáticamente ésta última pero ya te digo que sería util para el que quiera verlo y nó instalar SMFL Qt u otras librerías.

¡Un saludo y gracias por el gran aporte!

bueno lo del piratilla  :xD. Voy a hacerlo como tu me dices y en un momento pego links :).

Actualizaré el post del chat también con links :D


Título: Re: [Aporte] Qt4 Gold Serial Recover
Publicado por: BlackZeroX en 18 Julio 2012, 22:55 pm
Usa SQLite para que el almacenamiento de los seriales sean externos al ejecutable.

Dulces Lunas!¡.


Título: Re: [Aporte] Qt4 Gold Serial Recover
Publicado por: overxfl0w13 en 18 Julio 2012, 22:57 pm
Usa SQLite para que sean los seriales ajenos a el ejecutable.

Dulces Lunas!¡.

Se, tenía pensado hacerlo, así me ahorro líneas y problemas, también se me había ocurrido abrir una db en byethost por ejemplo, accesible por los users de elhacker para añadir nuevos serials.

De todas formas, eso plantea otro problema y es que no puedes ver los serials sin conexión a internet, así que mejor será dejarlo estar, hasta que me apetezca hacer otra versión xD.

Muchas Gracias Astaroth  ;D


Título: Re: [Aporte] Qt4 Gold Serial Recover
Publicado por: Puntoinfinito en 20 Julio 2012, 16:20 pm
Eres increíble tío... esto en un mes?


Título: Re: [Aporte] Qt4 Gold Serial Recover
Publicado por: overxfl0w13 en 21 Julio 2012, 01:38 am
Eres increíble tío... esto en un mes?

jaja se hace lo que se puede, tampoco es tan difícil, lo jodido es mantener el code y mejorar la eficiencia :).

A ver si te pones ya con C++, un saludo :)


Título: Re: [Aporte] Qt4 Gold Serial Recover
Publicado por: Puntoinfinito en 21 Julio 2012, 11:06 am
Estoy en ello!!
Ya he echo mi "Hello world!"

Jaja, saludos.


Título: Re: [Aporte] Qt4 Gold Serial Recover
Publicado por: BlackZeroX en 21 Julio 2012, 11:13 am
Se, tenía pensado hacerlo, así me ahorro líneas y problemas, también se me había ocurrido abrir una db en byethost por ejemplo, accesible por los users de elhacker para añadir nuevos serials.

De todas formas, eso plantea otro problema y es que no puedes ver los serials sin conexión a internet, así que mejor será dejarlo estar, hasta que me apetezca hacer otra versión xD.

Muchas Gracias Astaroth  ;D

SQLite es una BDD lite (simple y sencilla pero potente) no requiere de conexión a Internet...

P.D.: Un mes es demasiado tiempo para algo así... a lo menos en un mes se escriben mas de 5000 a 10 000 lineas... aun que difiere según la destreza del planteamiento (diseño y estructura-miento del codigo y algoritmo).

Dulces Lunas!¡.


Título: Re: [Aporte] Qt4 Gold Serial Recover
Publicado por: maxim_o en 21 Julio 2012, 13:00 pm
Creo que no se refiere a que haya estado un mes para crear este proyecto....
Sino que empezó con C/C++ hace un mes....


Título: Re: [Aporte] Qt4 Gold Serial Recover
Publicado por: overxfl0w13 en 21 Julio 2012, 14:01 pm
SQLite es una BDD lite (simple y sencilla pero potente) no requiere de conexión a Internet...

P.D.: Un mes es demasiado tiempo para algo así... a lo menos en un mes se escriben mas de 5000 a 10 000 lineas... aun que difiere según la destreza del planteamiento (diseño y estructura-miento del codigo y algoritmo).

Dulces Lunas!¡.

BlackZeroX en un mes da tiempo a escribir 200 veces las lineas que tiene el programa este  :xD. Se refería a que llevo apenas un mes con C++. Por cierto voy a animarme a probar SQLite entonces si dices que no requiere conexión a internet, así si sería buena idea :).

EDIT: Vaya que si es buena, es una verdadera maravilla y se lleva de lujo con qt  ;-)

Un saludo  :)


Título: Re: [Aporte] Qt4 Gold Serial Recover
Publicado por: overxfl0w13 en 22 Julio 2012, 13:11 pm
Modificado el post inicial, con el traspaso de serials a un archivo .db, así podéis añadir los que queráis al archivo.

Un saludo  :)


Título: Re: [Aporte] Qt4 Gold Serial Recover
Publicado por: anonimo12121 en 23 Julio 2012, 21:42 pm
Qué guapo tio!!! sigue así lo voy a probar.


Título: Re: [Aporte] Qt4 Gold Serial Recover
Publicado por: overxfl0w13 en 23 Julio 2012, 23:11 pm
Qué guapo tio!!! sigue así lo voy a probar.

Gracias xafi se hace lo que se puede :D, colabora añadiendo serials no me seas mal colega ¬¬  ;-)