Esempio n. 1
0
void ProcessCommands( void )
{
    InitOmfUtil();
    if( !Options.new_library ) {
        WalkInputLib();
    }
    DelModules();
    AddModules();
    CleanFileTab();
    if( Options.modified || Options.new_library ) {
        WriteNewLib();
    }
    if( Options.list_contents ) {
        ListContents();
    }
    EmitWarnings();
    FiniOmfUtil();
}
Esempio n. 2
0
void ExtractVolume::ExtractVol(){
    QString ZipFile = globFile;
    qDebug() << ZipFile;
    if(ZipFile.endsWith(".KryptV")){
        if (ui->txtPass1->text() == ""){
            QMessageBox msgBox;
            msgBox.setText("Error");
           // msgBox.setIcon();
            msgBox.setInformativeText("Please enter a password!");
            msgBox.setStandardButtons(QMessageBox::Ok);
            msgBox.setDefaultButton(QMessageBox::Ok);
            int ret = msgBox.exec();
           // return 0;
            this->Clear();
        } else if(!ui->chk1Pass->isChecked() && (ui->txtPass2->text() == "" || ui->txtPass3->text() == "")){
            QMessageBox msgBox;
            msgBox.setText("Missing Password(s)");
           // msgBox.setIcon();
            msgBox.setInformativeText("Please enter a second and/or third password!");
            msgBox.setStandardButtons(QMessageBox::Ok);
            msgBox.setDefaultButton(QMessageBox::Ok);
            int ret = msgBox.exec();
            //return 0;
            this->Clear();
        } else{

            if (ui->chk1Pass->isChecked() && ui->chkUseKeyfile->isChecked()){
                QString NewDir = QFileDialog::getSaveFileName(this, "Save the extracted volume", "", "Any (*.*)");
                QFileInfo name = NewDir;
                QString base = name.baseName();
                QString tempZip = dir + "/" + base + ".zip";


                BotanWrapper cWrapper;

                QString hashedPassword = (ui->txtPass1->text() + globKeyFile);
                QString skein512 = QSkeinHash(hashedPassword, QSkeinHash::hb512).toHexString();
                        cWrapper.setPassword(skein512);
                        cWrapper.setPassword2(skein512);
                        cWrapper.setPassword3(skein512);


                cWrapper.DecryptFile(ZipFile, tempZip);

                //List the contents of a zip file
                ListContents(tempZip);


                //Decompress an archive to a directory
                DecompressDir(tempZip,NewDir);

QFile elIF(tempZip);
elIF.remove();

            QMessageBox msgBox;
            msgBox.setText("Success!");
           // msgBox.setIcon();
            msgBox.setInformativeText("Volume successfully extracted!");
            msgBox.setStandardButtons(QMessageBox::Ok);
            msgBox.setDefaultButton(QMessageBox::Ok);
            int ret = msgBox.exec();
            //return 0;
            this->Clear();
            } else if(ui->chk1Pass->isChecked() && !ui->chkUseKeyfile->isChecked()){
                QString NewDir = QFileDialog::getSaveFileName(this, "Save the extracted volume", "", "Any (*.*)");
                QFileInfo name = NewDir;
                QString base = name.baseName();
                QString tempZip = dir + "/" + base + ".zip";


                BotanWrapper cWrapper;
                cWrapper.setPassword(ui->txtPass1->text());
                cWrapper.setPassword2(ui->txtPass1->text());
                cWrapper.setPassword3(ui->txtPass1->text());


                cWrapper.DecryptFile(ZipFile, tempZip);

                //List the contents of a zip file
                ListContents(tempZip);


                //Decompress an archive to a directory
                DecompressDir(tempZip,NewDir);

QFile elIF(tempZip);
elIF.remove();

            QMessageBox msgBox;
            msgBox.setText("Success!");
           // msgBox.setIcon();
            msgBox.setInformativeText("Volume successfully extracted!");
            msgBox.setStandardButtons(QMessageBox::Ok);
            msgBox.setDefaultButton(QMessageBox::Ok);
            int ret = msgBox.exec();
            //return 0;
            this->Clear();
            } else if(ui->chkUseKeyfile->isChecked() && !ui->chk1Pass->isChecked()){
                QString NewDir = QFileDialog::getSaveFileName(this, "Save the extracted volume", "", "Any (*.*)");
                QFileInfo name = NewDir;
                QString base = name.baseName();
                QString tempZip = dir + "/" + base + ".zip";


                BotanWrapper cWrapper;

                QString hashedPassword = (ui->txtPass1->text() + globKeyFile);
                QString hashedPassword2 = (ui->txtPass2->text() + globKeyFile);
                QString hashedPassword3 = (ui->txtPass3->text() + globKeyFile);
                QString skein512 = QSkeinHash(hashedPassword, QSkeinHash::hb512).toHexString();
                QString skein5122 = QSkeinHash(hashedPassword2, QSkeinHash::hb512).toHexString();
                QString skein5123 = QSkeinHash(hashedPassword3, QSkeinHash::hb512).toHexString();
                        cWrapper.setPassword(skein512);
                        cWrapper.setPassword2(skein5122);
                        cWrapper.setPassword3(skein5123);


                cWrapper.DecryptFile(ZipFile, tempZip);

                //List the contents of a zip file
                ListContents(tempZip);


                //Decompress an archive to a directory
                DecompressDir(tempZip,NewDir);

QFile elIF(tempZip);
elIF.remove();

            QMessageBox msgBox;
            msgBox.setText("Success!");
           // msgBox.setIcon();
            msgBox.setInformativeText("Volume successfully extracted!");
            msgBox.setStandardButtons(QMessageBox::Ok);
            msgBox.setDefaultButton(QMessageBox::Ok);
            int ret = msgBox.exec();
            //return 0;
            this->Clear();
            } else{

        QString NewDir = QFileDialog::getSaveFileName(this, "Save the extracted volume", "", "Any (*.*)");
        QFileInfo name = NewDir;
        QString base = name.baseName();
        QString tempZip = dir + "/" + base + ".zip";


        BotanWrapper cWrapper;
        cWrapper.setPassword(ui->txtPass1->text());
        cWrapper.setPassword2(ui->txtPass2->text());
        cWrapper.setPassword3(ui->txtPass3->text());


        cWrapper.DecryptFile(ZipFile, tempZip);

        //List the contents of a zip file
        ListContents(tempZip);


        //Decompress an archive to a directory
        DecompressDir(tempZip,NewDir);

QFile elIF(tempZip);
elIF.remove();

    QMessageBox msgBox;
    msgBox.setText("Success!");
   // msgBox.setIcon();
    msgBox.setInformativeText("Volume successfully extracted!");
    msgBox.setStandardButtons(QMessageBox::Ok);
    msgBox.setDefaultButton(QMessageBox::Ok);
    int ret = msgBox.exec();
    //return 0;
    this->Clear();
            }}} else{
        QMessageBox msgBox;
        msgBox.setText("Error!");
       // msgBox.setIcon();
        msgBox.setInformativeText("The selected file is not a volume created with this program and cannot\n be extracted.");
        msgBox.setStandardButtons(QMessageBox::Ok);
        msgBox.setDefaultButton(QMessageBox::Ok);
        int ret = msgBox.exec();
        //return 0;
        this->Clear();
    }

}