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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Temas
Páginas: 1 [2] 3
11  Programación / Programación C/C++ / [Aporte] Qt4 Gold Serial Recover 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 :)



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

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

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

Espero que sea de vuestro agrado y podáis colaborar con el proyecto  ;-)
12  Programación / Programación C/C++ / Chat Qt4/SFML en: 16 Julio 2012, 01:48 am
Buenas compañeros :D.

Xeracker y yo llevamos un par de días codeando un chat funcional y así de paso aprender un poco de interfaces en C++, el resultado creo que ha sido bastante bueno y a pesar de que aún tiene algunos bugs y falta la implementación de algunas funciones del mismo, está en condiciones de publicarse su code por si algún usuario quiere ayudar o dar opiniones y hacer críticas.

Scan:



De momento falta la función de mostrar los usuarios en el ListBox derecho, de imprimir los emoticonos en el campo de texto entre muchas otras que iremos añadiendo :)

A continuación os dejo el source de todos los archivos:

Headers

App.hpp
Código
  1. #include "Window.hpp"
  2. #include "Client.hpp"
  3.  
  4. class App
  5. {
  6.    Window window;
  7.    Client client;
  8.    void Thread();
  9.    sf::Thread thread;
  10. public:
  11.    App() : thread(&App::Thread, this), window("Anonimo") { thread.launch(); }
  12.  
  13. };
  14.  

Client.hpp
Código
  1. #include <SFML/Network.hpp>
  2.  
  3. class Client
  4. {
  5.    sf::IpAddress ServerAddress;
  6.    sf::TcpSocket Socket;
  7.    sf::Packet Packet;
  8.    void Receiver();
  9.    void Status();
  10.    void Sender();
  11.    bool connected;
  12.    bool updated;
  13. public:
  14.    Client();
  15.    sf::Thread R, S;
  16.    sf::Packet Receive();
  17.    void Send(sf::Packet);
  18.    bool IsConnected();
  19.    bool IsUpToDate();
  20. };
  21.  

Window.hpp:
Código
  1. #include <QObject>
  2. #include <QtGui>
  3. #include <QFile>
  4. class Window : public QObject
  5. {
  6.    Q_OBJECT
  7.  
  8. public:
  9.  
  10.    Window(QString usu);
  11.    ~Window();
  12.    void Iconos();
  13.    void Write(QString, QString);
  14.    void ModificarEstado(bool estado);
  15.    bool IsTextUpToDate() { return TextUpdated; }
  16.    bool IsNickUpToDate() { return NickUpdated; }
  17.    QString GetText(), GetNick();
  18.  
  19. private slots:
  20.  
  21.    void Send();
  22.    void logueoUsuario();
  23.    void configUser();
  24.    void escribirWink();
  25.    void escribirHappy();
  26.    void escribirHeart();
  27.    void escribirLaughter();
  28.    void escribirSad();
  29.    void escribirUuh();
  30.    void escribirWhoa();
  31.  
  32. private:
  33.  
  34.    /* Constructores De Ventana*/
  35.    QLineEdit *TextEdit;
  36.    QLineEdit *UserEdit;
  37.  
  38.    QPushButton *SendButton;
  39.    QPushButton *LogButton;
  40.    QPushButton *CLogButton;
  41.  
  42.    QTextEdit *TextBox;
  43.    QListWidget *UserBox;
  44.  
  45.    QVBoxLayout *mainLayout;
  46.    QVBoxLayout *chatLayout;
  47.    QVBoxLayout *usersLayout;
  48.  
  49.    QHBoxLayout *buttonLayout;
  50.    QHBoxLayout *usutextLayout;
  51.    QHBoxLayout *emoLayout;
  52.    QWidget *window;
  53.  
  54.    QString usuario, estado;
  55.  
  56.    QLabel *etiqueta;
  57.    QLabel *imagenChat;
  58.    QLabel *imagenConectados;
  59.  
  60.    /*Emoticonos y Capa Emoticonos*/
  61.    QPushButton *emoWink, *emoHappy, *emoHeart, *emoLaughter, *emoSad, *emoUuh, *emoWhoa;
  62.  
  63.    bool TextUpdated, NickUpdated;
  64.  
  65.  
  66. };
  67.  

Sources

App.cpp:
Código
  1. #include "App.hpp"
  2.  
  3. void App::Thread()
  4. {
  5.    while(1)
  6.    {
  7.        if(!client.IsUpToDate())
  8.        {
  9.            QString t1, t2;
  10.            sf::String s1, s2;
  11.            client.Receive() >> s1 >> s2;
  12.            t1 = s1.toAnsiString().c_str();
  13.            t2 = s2.toAnsiString().c_str();
  14.            window.Write(t1,t2);
  15.        }
  16.  
  17.        if(!window.IsTextUpToDate())
  18.        {
  19.            sf::String str=window.GetText().toStdWString();
  20.            sf::Packet Pack;
  21.            Pack << 1 << str;
  22.            client.Send(Pack);
  23.            Pack.clear();
  24.        }
  25.  
  26.        if(!window.IsNickUpToDate())
  27.        {
  28.            sf::String str=window.GetNick().toStdWString();
  29.            sf::Packet Pack;
  30.            Pack << 0 << str;
  31.            client.Send(Pack);
  32.            Pack.clear();
  33.        }
  34.        if(client.IsConnected())
  35.        {
  36.             window.ModificarEstado(true);
  37.        }
  38.  
  39.    }
  40. }
  41.  

Client.cpp:
Código
  1. #include "Client.hpp"
  2.  
  3. Client::Client() : R(&Client::Receiver, this), S(&Client::Sender, this), updated(true)
  4. {
  5.    Socket.connect("**************", 25569);
  6.    R.launch();
  7.    S.launch();
  8. }
  9.  
  10. void Client::Receiver() //Receiver Thread
  11. {
  12.    while(1)
  13.    {
  14.        sf::Packet buffer;
  15.        Socket.receive(buffer);
  16.        Packet = buffer;
  17.        buffer.clear();
  18.        updated=false;
  19.    }
  20.  
  21. }
  22.  
  23.  
  24. void Client::Sender() //Sender Thread
  25. {
  26.  
  27. }
  28.  
  29.  
  30. sf::Packet Client::Receive()
  31. {
  32.    updated=true;
  33.    return Packet;
  34. }
  35.  
  36. void Client::Send(sf::Packet Pack)
  37. {
  38.    connected = (Socket.send(Pack) == sf::Socket::Done);
  39. }
  40.  
  41. bool Client::IsUpToDate()
  42. {
  43.    return updated;
  44. }
  45.  
  46. bool Client::IsConnected()
  47. {
  48.    return connected;
  49. }
  50.  
  51.  
  52.  

Window.cpp:
Código
  1. #include "Window.hpp"
  2. void Window::ModificarEstado(bool status)
  3. {
  4.    if(status) estado = "Conectado";
  5.    else estado = "Desconectado";
  6.    window->setWindowTitle("Nick: "+usuario+" <---> Estado: "+estado);
  7. }
  8. void Window::escribirWink()
  9. {
  10.    TextEdit->insert(QString(" ;) "));
  11. }
  12.  
  13. void Window::escribirHappy()
  14. {
  15.    TextEdit->insert(QString(" :) "));
  16. }
  17.  
  18. void Window::escribirHeart()
  19. {
  20.    TextEdit->insert(QString(" (L) "));
  21. }
  22.  
  23. void Window::escribirLaughter()
  24. {
  25.    TextEdit->insert(QString(" :D "));
  26. }
  27.  
  28. void Window::escribirSad()
  29. {
  30.    TextEdit->insert(QString(" :( "));
  31. }
  32.  
  33. void Window::escribirUuh()
  34. {
  35.    TextEdit->insert(QString(" ¬¬ "));
  36. }
  37.  
  38. void Window::escribirWhoa()
  39. {
  40.    TextEdit->insert(QString(" :O "));
  41. }
  42.  
  43. void Window::Iconos()
  44. {
  45.    /* Emoticonos */
  46.  
  47.    emoWink = new QPushButton;
  48.    emoHappy = new QPushButton;
  49.    emoHeart = new QPushButton;
  50.    emoLaughter = new QPushButton;
  51.    emoSad = new QPushButton;
  52.    emoUuh = new QPushButton;
  53.    emoWhoa = new QPushButton;
  54.    QObject::connect(emoWink,SIGNAL(clicked()),this,SLOT(escribirWink()));
  55.    QObject::connect(emoHappy,SIGNAL(clicked()),this,SLOT(escribirHappy()));
  56.    QObject::connect(emoHeart,SIGNAL(clicked()),this,SLOT(escribirHeart()));
  57.    QObject::connect(emoLaughter,SIGNAL(clicked()),this,SLOT(escribirLaughter()));
  58.    QObject::connect(emoSad,SIGNAL(clicked()),this,SLOT(escribirSad()));
  59.    QObject::connect(emoUuh,SIGNAL(clicked()),this,SLOT(escribirUuh()));
  60.    QObject::connect(emoWhoa,SIGNAL(clicked()),this,SLOT(escribirWhoa()));
  61.    emoWink->setIcon(QIcon("emoticonos/guinyo.png"));
  62.    emoHappy->setIcon(QIcon("emoticonos/happy.png"));
  63.    emoHeart->setIcon(QIcon("emoticonos/heart.png"));
  64.    emoLaughter->setIcon(QIcon("emoticonos/laughter.png"));
  65.    emoSad->setIcon(QIcon("emoticonos/sad.png"));
  66.    emoUuh->setIcon(QIcon("emoticonos/uhh.png"));
  67.    emoWhoa->setIcon(QIcon("emoticonos/whoa.png"));
  68.  
  69.    /* Capa Horizontal Emoticonos */
  70.  
  71.    emoLayout = new QHBoxLayout;
  72.    emoLayout->addWidget(emoWink);
  73.    emoLayout->addWidget(emoHappy);
  74.    emoLayout->addWidget(emoHeart);
  75.    emoLayout->addWidget(emoLaughter);
  76.    emoLayout->addWidget(emoSad);
  77.    emoLayout->addWidget(emoUuh);
  78.    emoLayout->addWidget(emoWhoa);
  79.  
  80.    /* Anidacion capa horizontal en vertical */
  81.  
  82.    mainLayout->addLayout(emoLayout);
  83.  
  84. }
  85.  
  86. void Window::configUser()
  87. {
  88.    usuario = UserEdit->text();
  89.    NickUpdated=false;
  90.    delete etiqueta;
  91.    delete UserEdit;
  92.    delete CLogButton;
  93.    window->setWindowTitle("Nick: "+usuario+" <---> Estado: "+estado);
  94.    SendButton = new QPushButton("Enviar");
  95.    TextEdit = new QLineEdit;
  96.    SendButton->setIcon(QIcon("emoticonos/aceptar.png"));
  97.    QObject::connect(SendButton,SIGNAL(clicked()),this,SLOT(Send()));
  98.    mainLayout->addWidget(TextEdit);
  99.    mainLayout->addWidget(SendButton);
  100.    window->setLayout(mainLayout);
  101.    window->show();
  102. }
  103.  
  104. void Window::Write(QString user, QString msg)
  105. {
  106.    TextBox->append(user+": "+msg);
  107. }
  108.  
  109. void Window::Send()
  110. {
  111.    if(TextEdit->text()!= "")
  112.    {
  113.        TextUpdated=false;
  114.        TextEdit->clear();
  115.    }
  116. }
  117.  
  118. QString Window::GetText()
  119. {
  120.    TextUpdated=true;
  121.    return TextEdit->text();
  122. }
  123.  
  124. QString Window::GetNick()
  125. {
  126.    NickUpdated=true;
  127.    return usuario;
  128. }
  129.  
  130.  
  131. void Window::logueoUsuario()
  132. {
  133.    delete LogButton;
  134.    delete SendButton;
  135.    delete TextEdit;
  136.    CLogButton = new QPushButton("Aceptar");
  137.    CLogButton->setIcon(QIcon("emoticonos/aceptar.png"));
  138.    QObject::connect(CLogButton,SIGNAL(clicked()),this,SLOT(configUser()));
  139.    UserEdit = new QLineEdit;
  140.    etiqueta = new QLabel("Inserta nickname");
  141.    etiqueta->setAlignment(Qt::AlignCenter);
  142.    mainLayout->addWidget(etiqueta);
  143.    mainLayout->addWidget(UserEdit);
  144.    mainLayout->addWidget(CLogButton);
  145.    window->setLayout(mainLayout);
  146.    window->show();
  147.  
  148. }
  149.  
  150. Window::Window(QString user) : usuario(user), TextUpdated(true), NickUpdated(false)
  151. {
  152.    window = new QWidget;
  153.    LogButton = new QPushButton("Loguear");
  154.    LogButton->setIcon(QIcon("emoticonos/llave.png"));
  155.    QObject::connect(LogButton,SIGNAL(clicked()),this,SLOT(logueoUsuario()));
  156.    TextBox = new QTextEdit;
  157.    TextBox->setReadOnly(true);
  158.    TextBox->setMinimumSize(QSize(550,0));
  159.    UserBox = new QListWidget;
  160.    imagenChat = new QLabel("Chat");
  161.    QImage imageChat("emoticonos/chat.png");
  162.    imagenChat->setPixmap(QPixmap::fromImage(imageChat));
  163.    imagenChat->setAlignment(Qt::AlignCenter);
  164.    QLabel *etiquetaChat = new QLabel("Chat");
  165.    etiquetaChat->setAlignment(Qt::AlignCenter);
  166.    imagenConectados = new QLabel("Conectados");
  167.    QImage imageUsers("emoticonos/conectados.png");
  168.    imagenConectados->setPixmap(QPixmap::fromImage(imageUsers));
  169.    imagenConectados->setAlignment(Qt::AlignCenter);
  170.    QLabel *etiquetaConectados = new QLabel("Usuarios Conectados");
  171.    etiquetaConectados->setAlignment(Qt::AlignCenter);
  172.    usutextLayout = new QHBoxLayout;
  173.    TextEdit = new QLineEdit;
  174.    SendButton = new QPushButton("Enviar");
  175.    SendButton->setIcon(QIcon("emoticonos/aceptar.png"));
  176.    chatLayout = new QVBoxLayout;
  177.    usersLayout = new QVBoxLayout;
  178.    mainLayout = new QVBoxLayout;
  179.    buttonLayout = new QHBoxLayout;
  180.    window->setMinimumSize(700,500);
  181.    window->setMaximumSize(700,500);
  182.    QObject::connect(SendButton,SIGNAL(clicked()),this,SLOT(Send()));
  183.    chatLayout->addWidget(imagenChat);
  184.    chatLayout->addWidget(etiquetaChat);
  185.    chatLayout->addWidget(TextBox);
  186.    usersLayout->addWidget(imagenConectados);
  187.    usersLayout->addWidget(etiquetaConectados);
  188.    usersLayout->addWidget(UserBox);
  189.    usutextLayout->addLayout(chatLayout);
  190.    usutextLayout->addLayout(usersLayout);
  191.    mainLayout->addLayout(usutextLayout);
  192.    Iconos();
  193.    mainLayout->addWidget(TextEdit);
  194.    buttonLayout->addWidget(SendButton);
  195.    buttonLayout->addWidget(LogButton);
  196.    mainLayout->addLayout(buttonLayout);
  197.    window->setLayout(mainLayout);
  198.    window->show();
  199. }
  200.  
  201. Window::~Window() {}

main.cpp:
Código
  1. #include "App.hpp"
  2.  
  3. int main(int argc,char *argv[])
  4. {
  5.    QApplication Qt(argc,argv);
  6.    App *app = new App();
  7.    return Qt.exec();
  8. }
  9.  

Server.cpp:
Código
  1. #include <SFML/Network.hpp>
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. struct Client{
  6.    sf::TcpSocket s;
  7.    bool connected;
  8.    sf::String alias;
  9. } Client[256];
  10.  
  11. int main(int argc, char *argv[])
  12. {
  13.  
  14.    sf::TcpListener Server;
  15.    sf::SocketSelector Selector;
  16.    int Port = 25569;
  17.  
  18.    for(int i=0; i<256; i++) Client[i].connected=false, Client[i].alias="Unknown";
  19.  
  20.    Server.listen(Port);
  21.    cout << "Escuchando puerto " << Port << " TCP..." << endl;
  22.    Selector.add(Server);
  23.  
  24.    while (Selector.wait())
  25.    {
  26.        if (Selector.isReady(Server))
  27.        {
  28.            for(int i=0; i<256; i++)
  29.            {
  30.                if(!Client[i].connected)
  31.                {
  32.                    sf::Packet Packet;
  33.                    Server.accept(Client[i].s);
  34.                    cout << "Client connected (ID: " << i << ", IP: " << Client[i].s.getRemoteAddress() << ")" << endl;
  35.                    Selector.add(Client[i].s);
  36.                    Client[i].connected=true;
  37.                    break;
  38.                }
  39.            }
  40.        }
  41.        else
  42.        {
  43.            for(int i=0; i<256; i++)
  44.            {
  45.                if(Selector.isReady(Client[i].s))
  46.                {
  47.                    sf::Packet Packet;
  48.                    if(Client[i].s.receive(Packet) == sf::Socket::Done)
  49.                    {
  50.                        int com;
  51.                        Packet >> com;
  52.                        switch (com)
  53.                        {
  54.                            case 0:
  55.                                Client[i].alias.clear();
  56.                                Packet >> Client[i].alias;
  57.                                cout << "Client " << i << " ha cambiado su alias a \"" << Client[i].alias.toAnsiString() << "\"." << endl;
  58.                            break;
  59.                            case 1:
  60.                                sf::String Msg;
  61.                                Packet >> Msg;
  62.                                cout << Client[i].alias.toAnsiString() << ": " << Msg.toAnsiString() << endl;
  63.  
  64.                                Packet.clear();
  65.                                Packet << Client[i].alias << Msg;
  66.  
  67.                                for (int i=0; i<256; i++)
  68.                                    if(Client[i].connected)
  69.                                        Client[i].s.send(Packet);
  70.  
  71.                        }
  72.                        break;
  73.                    }
  74.                    else
  75.                    {
  76.                        cerr << Client[i].alias.toAnsiString() << " se ha desconectado (ID: " << i << ", IP: " << Client[i].s.getRemoteAddress() << ")" << endl;
  77.                        Selector.remove(Client[i].s);
  78.                        Client[i].connected=false;
  79.                        Client[i].alias="Unknown";
  80.                        break;
  81.                    }
  82.                }
  83.            }
  84.        }
  85.    }
  86. }


Con todo el code ya publicado, pongo link con un .rar que contiene lo archivos necesarios para compilar desde CodeBlocks junto con los emoticonos y las imágenes del programa.

http://www.mediafire.com/?9h7mlte60p6h2qd

Aclaro que se necesita tener instaladas la librerías Qt y SFML, si tenéis algún problema con su instalación subiré el .rar con las .dll de las librerias necesarias para el correcto funcionamiento del chat.

Un saludo a todos y esperamos que os guste :)
13  Programación / Programación C/C++ / Acceder a variables de una clase desde otra clase? en: 11 Julio 2012, 22:06 pm
Buenas compañeros, me ha surgido otro problema. El caso es que quiero modificar desde una clase, una variable de otra en la cual ya he declarado un objeto, he probado pasando como parámetros punteros,referencias e incluso el objeto(cosa que daba error) y no consigo modificar el nombre.

¿Existe alguna manera de llevar a cabo esta modificación?

Gracias  ;-)
14  Programación / Programación C/C++ / Slots QT en: 10 Julio 2012, 13:20 pm
Estaba buscando documentación de Qt y la verdad es que hay bastante buena, pero no consigo encontrar una buena explicación sobre como hacer mis propios slots. Lo que quiero hacer, es que al pulsar un botón determinado se descargue mediante wget un archivo.

¿ Alguien sabe de algún sitio o puede dar una breve explicación?.

EDIT:  más o menos tengo la idea de como hacerlo pero se me está quedando grande, tengo éste code, pero hay cosas que no me cuadran.

Código
  1. #include <QtGui>
  2. #include <QObject>
  3.  
  4. class Clase : public QObject
  5. {
  6.    Q_OBJECT
  7.  
  8.    public slots:
  9.        void descarga() const;
  10.  
  11. };
  12.  
  13. void Clase::descarga() const
  14. {
  15.    system("wget http://overxfl0w.synergize.co");
  16. }
  17.  
  18. int main(int argc,char *argv[])
  19. {
  20.    QApplication app(argc,argv);
  21.    QPushButton descargar("Overxfl0w");
  22.    Clase slot1;
  23.    QObject::connect(&descargar,SIGNAL(clicked()),&app,SLOT(slot1.descarga()));
  24.    descargar.show();
  25. }
  26.  
  27.  

El error es  "referencia a `vtable for Clase` sin definir".

Gracias  :)
15  Programación / Programación C/C++ / Problema ejercicio en: 29 Junio 2012, 14:50 pm
Buenas, me he puesto a hacer un ejercicio para practicar y la verdad es que se me ha enrevesado un poco, no sé porque.

El ejercicio consiste en crear una clase y sus métodos para que este programa logre funcionar:

Código
  1. #include <iostream>
  2. #include "Fraccion.hpp"
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. Fraccion f1(1.0,4.0);
  8. Fraccion f2(1.0,2.0);
  9. Fraccion f3;
  10. Fraccion f4(4);
  11. Fraccion suma = f1.Suma(f2);
  12. Fraccion resta = f1.Resta(f3);
  13. Fraccion producto = f1.Multiplica(f4);
  14. Fraccion cociente = f1.Divide(f2);
  15. cout << "Primera Fraccion: " << f1.Prt() << endl;
  16. cout << "Segunda Fraccion: " << f2.Prt() << endl;
  17. cout << "Tercera Fraccion: " << f3.Prt() << endl;
  18. cout << "Cuarta Fraccion: " << f4.Prt() << endl;
  19. cout << "Suma " << suma.Prt() << endl;
  20. cout << "Resta " << resta.Prt() << endl;
  21. cout << "Producto " << producto.Prt() << endl;
  22. cout << "Cociente " << cociente.Prt() << endl;
  23. return 0;
  24. }
  25.  

Vale, hasta ahí bien, esta es la clase que he creado, junto con sus métodos:

Código
  1. class Fraccion
  2. {
  3. public:
  4. Fraccion(float numerador,float denominador);
  5. ~Fraccion();
  6. int Suma(Fraccion objeto);
  7. int Resta(Fraccion objeto);
  8. int Multiplica(Fraccion objeto);
  9. int Divide(Fraccion objeto);
  10. float Prt() const;
  11. private:
  12. float fraccion,resultado;
  13. };
  14.  
  15.  
  16. Fraccion::Fraccion(float numerador = 0.0,float denominador = 1.0)
  17. {
  18. fraccion = numerador / denominador;
  19. resultado = numerador / denominador;
  20. }
  21.  
  22. Fraccion::~Fraccion(){}
  23.  
  24. int Fraccion::Suma(Fraccion objeto)
  25. {
  26. this->resultado = this->fraccion + objeto.fraccion;
  27. return 0;
  28. }
  29.  
  30. int Fraccion::Resta(Fraccion objeto)
  31. {
  32. this->resultado = this->fraccion - objeto.fraccion;
  33. return 0;
  34. }
  35.  
  36. int Fraccion::Multiplica(Fraccion objeto)
  37. {
  38. this->resultado = this->fraccion * objeto.fraccion;
  39. return 0;
  40. }
  41.  
  42. int Fraccion::Divide(Fraccion objeto)
  43. {
  44. this->resultado = this->fraccion / objeto.fraccion;
  45. return 0;
  46. }
  47.  
  48. float Fraccion::Prt() const
  49. {
  50. return this->resultado;
  51. }
  52.  

Muy posiblemente el error esté en las variables porque me he hecho un lío con ambas y no obtengo la salida esperada.

Un saludo y gracias de antemano :)
16  Programación / Programación C/C++ / Problema Librería SFML en: 27 Junio 2012, 14:03 pm
No consigo instalar correctamente la librería ya que pruebo los samples que trae consigo y no corre ninguno, consigue compilar bien, pero a la hora de enlazarlo falla.

Estoy en Debian, y he colocado los archivos en sus carpetas correspondientes, concretamente:

/usr/include/
/usr/lib/
/usr/src/

Los errores que me lanza IDE son el orden siguiente:

Pong.cpp:(.text+0x30b): undefined reference to `sf::Image::Image()'
/tmp/ccplj7Gr.o: In function `sf::Sprite::~Sprite()':
Pong.cpp:(.text._ZN2sf6SpriteD1Ev[sf::Sprite::~Sprite()]+0x2e): undefined reference to `sf::Drawable::~Drawable()'

La mayor parte, "undefined reference to"

El caso es ese, no consigo hacer funcionar ningún cpp que haga uso de la librería, uso Geany como IDE y he probado a compilar y linkear desde la terminal con:

g++ -o pong.cpp -libsfml-graphics

Pero nada, ni de una forma ni de otra, ¿ Alguna Idea ?

Un saludo :)
17  Foros Generales / Foro Libre / Videos José Mota en: 7 Junio 2012, 13:58 pm
Me ha dado por crear un post con una recopilación de vídeos de este señor, que como él pocos hay en el mundillo del humor. Aquí os los dejo para amenizar un poco el día y sacaros unas risas :D











18  Programación / Scripting / ¿ Captura de teclado linux ? en: 6 Junio 2012, 15:47 pm
Quería ponerme a hacer un keylogger que enviase los datos desde la víctima hasta un cliente, la conexión iba a hacerla mediante sockets.

Sin embargo, he estado mirando posibles librerías que me permitiesen la captura de teclado y solo he visto PyHook y Win32Api pero ninguna compatible con sistemas Linux.

¿ Sabéis si existe alguna que me pueda ayudar a desarrollarlo ?

Gracias :)
19  Foros Generales / Foro Libre / Selectividad en: 5 Junio 2012, 21:15 pm
No he visto ningún tema sobre esto, tal vez puede ser que no haya buscado bien.

Pero me gustaría preguntaros vuestras experiencias sobre la PAU que a mi me toca dentro de una semana y estoy que no me lamo  :xD

¿Como fue?¿Difícil,fácil?

Un saludo :)
20  Programación / Desarrollo Web / Tabla Fija Con Scroll Html en: 4 Junio 2012, 14:45 pm
El problema visual es éste:

[img width="300" height="300"]http://www.subirimagenes.net/pictures/3c9a969b556a628b3ea9875a1a76e9ca.png[/img]

Tengo que situar una tabla centrada con un tamaño fijo y con scroll para que el texto no la redimensione.

He probado diversas maneras, pero a lo único que he llegado es a dejar fija la tabla y el texto a sobresalir por sus extremos.

¿ Alguna Idea ?

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