コード例 #1
0
ファイル: main.cpp プロジェクト: jclehner/routerkeygenPC
int main(int argc, char * argv[]) {
    if (argc > 1) {
        QCoreApplication app(argc, argv);
        QCmdLineParser parser;
        parser.addOption("-s", QCmdLineArgument::StoreValue, QObject::tr("SSID"), "--ssid", "network_name");
        parser.addOption("-m", QCmdLineArgument::StoreValue, QObject::tr("MAC address"), "--mac", "mac_address");
        parser.addOption("-v", QCmdLineArgument::StoreTrue, QObject::tr("Version"), "--version");
        parser.addOption("-k", QCmdLineArgument::StoreTrue, QObject::tr("Print keygen in form kgname:candidate"), "--kg");
        parser.addOption("-q", QCmdLineArgument::StoreTrue, QObject::tr("Print only calculated keys"), "--quiet");
        QString error = "";
        QVariantMap options = parser.parse(QCoreApplication::arguments(), &error);
        if ( !error.isEmpty() ) {
            std::cout << error.toUtf8().data() << std::endl <<  parser.help().toUtf8().data();
            return -1;
        }
        if ( options.value("v", false).toBool() ) {
            std::cout << QObject::tr("Version: %1").arg(PROJECT_VERSION).toUtf8().data() << std::endl;
        }
        if ( options.contains("s") || options.contains("m") ) {
            WirelessMatcher m;
            QString mac = options.value("m", "").toString().toUpper();
            if ( mac.length()>0 && mac.count(QRegExp("^([0-9A-F]{2}[:-]){5}([0-9A-F]{2})$")) == 0 ) {
                mac = "";
                if ( !options.value("q", false).toBool() )
                    std::cout << QObject::tr("Invalid MAC. It will not be used.").toUtf8().data() << std::endl;
            }
            QString ssid = options.value("s", "").toString();
            QScanResult wifi(ssid, mac);
            wifi.checkSupport(m);
            QVector<Keygen *> * keygens = wifi.getKeygens();
            if (keygens == NULL ) {
                if ( !options.value("q", false).toBool() )
                    std::cout << QObject::tr("Out of memory.").toUtf8().data() << std::endl;
                return -100;
            }
            if ( keygens->size() == 0) {
                if ( !options.value("q", false).toBool() )
                    std::cout << QObject::tr("Unsupported network. Check the MAC address and the SSID.").toUtf8().data() << std::endl;
                return -2;
            }
            if ( !options.value("q", false).toBool() )
                std::cout << QObject::tr("Calculating keys. This can take a while.").toUtf8().data() << std::endl;
            QVector<QString> results;
            bool kg = options.value("k", false).toBool();
            for ( int i = 0; i < keygens->size(); ++i ){
                try {
                    QVector<QString> r = keygens->at(i)->getResults();
                    if (kg) {
                        foreach (QString s, r) {
                             results.append(keygens->at(i)->kgname + ":" + s);
                         }
                    } else {
                        results +=r;
                    }
                } catch (int e) {
コード例 #2
0
ファイル: main.cpp プロジェクト: cesanta/mongoose
int main() {
  struct mg_mgr mgr;

  Serial pc(SERIAL_TX, SERIAL_RX, 115200);
  printf("Mongoose demo\n");
  led_green = 1; /* off */
  led_blue = 1;  /* off */

  SimpleLinkInterface wifi(PG_10, PG_11, SPI_MOSI, SPI_MISO, SPI_SCK, SPI_CS);

  sl_NetAppStop(SL_NET_APP_HTTP_SERVER_ID);

  wifi.connect(WIFI_STA_SSID, WIFI_STA_PASS);

  const char *ip = wifi.get_ip_address();
  const char *gw = wifi.get_gateway();
  const char *mac = wifi.get_mac_address();
  printf("IP address is: %s\n", ip ? ip : "No IP");
  printf("GW address is: %s\n", gw ? gw : "No IP");
  printf("MAC address is: %s\n", mac ? mac : "No MAC");

  mg_mgr_init(&mgr, NULL);

  const char *err;
  struct mg_bind_opts opts = {};
  opts.error_string = &err;
  mg_connection *nc = mg_bind_opt(&mgr, HTTP_SERVER_PORT, ev_handler, opts);
  if (nc == NULL) {
    printf("Failed to create listener: %s\r\n", err);
    led_red = 0; /* on */
    return 1;
  }
  mg_set_protocol_http_websocket(nc);
  printf("Server address: http://%s:%s\n", ip, HTTP_SERVER_PORT);

  while (true) {
    mg_mgr_poll(&mgr, 1000);
    led_green = !led_green;
  }
}
コード例 #3
0
ファイル: main.cpp プロジェクト: Jorgelig/routerkeygenPC
int main(int argc, char * argv[]) {
    QApplication app(argc, argv);
    QTranslator translator;
    QApplication::setOrganizationName("com.doublecheck");
    QApplication::setApplicationName(PROJECT_NAME);
    QApplication::setApplicationVersion(PROJECT_VERSION);
    QString qmFile = app.applicationName().toLower() + "_" + QLocale::system().name();
    if ( translator.load(qmFile,":/lang") )
        app.installTranslator(&translator);
    QCmdLineParser parser;
    parser.setApplicationName(QCoreApplication::applicationName());
    parser.addOption("-s", QCmdLineArgument::StoreValue, QObject::tr("SSID"), "--ssid", "network_name");
    parser.addOption("-m", QCmdLineArgument::StoreValue, QObject::tr("MAC address"), "--mac", "mac_address");
    parser.addOption("-v", QCmdLineArgument::StoreTrue, QObject::tr("Version"), "--version");
    parser.addOption("-q", QCmdLineArgument::StoreTrue, QObject::tr("Print only calculated keys"), "--quiet");
    parser.addOption("--no-gui", QCmdLineArgument::StoreTrue, QObject::tr("No UI launch"));
    QString error = "";
    QVariantMap options = parser.parse(QCoreApplication::arguments(), &error);
    if ( !error.isEmpty() ){
        std::cout << error.toUtf8().data() << std::endl <<  parser.help().toUtf8().data();
        return -1;
    }
    if ( options.value("v", false).toBool() ){
        std::cout << QObject::tr("Version: %1").arg(app.applicationVersion()).toUtf8().data() << std::endl;
        return 0;
    }
    if ( options.contains("s") || options.contains("m") ){
        WirelessMatcher m;
        QString mac = options.value("m", "").toString().toUpper();
        if ( mac.length()>0 && mac.count(QRegExp("^([0-9A-F]{2}[:-]){5}([0-9A-F]{2})$")) == 0 ){
            mac = "";
            if ( !options.value("q", false).toBool() )
                std::cout << QObject::tr("Invalid MAC. It will not be used.").toUtf8().data() << std::endl;
        }
        QString ssid = options.value("s", "").toString();
        QScanResult wifi(ssid,mac);
        wifi.checkSupport(m);
        QVector<Keygen *> * keygens = wifi.getKeygens();
        if (keygens == NULL ){
            if ( !options.value("q", false).toBool() )
                std::cout << QObject::tr("Out of memory.").toUtf8().data() << std::endl;
            return -100;
        }
        if ( keygens->size() == 0){
            if ( !options.value("q", false).toBool() )
                std::cout << QObject::tr("Unsupported network. Check the MAC address and the SSID.").toUtf8().data() << std::endl;
            return -2;
        }
        if ( !options.value("q", false).toBool() )
            std::cout << QObject::tr("Calculating keys. This can take a while.").toUtf8().data() << std::endl;
        QVector<QString> results;
        for ( int i = 0; i < keygens->size(); ++i ){
            try{
                QVector<QString> r = keygens->at(i)->getResults();
                foreach (QString s, r) {
                    results.append(s);
                }
            }catch (int e){
                if ( !options.value("q", false).toBool() )
                    std::cout << QObject::tr("Errors while calculating.").toUtf8().data() << std::endl;
                return -3;
            }
        }
        if (results.isEmpty()) {
            if ( !options.value("q", false).toBool() )
                std::cout << QObject::tr("No keys were calculated.").toUtf8().data() << std::endl;
            return -1;
        }else{
            if ( !options.value("q", false).toBool() )
                std::cout << QObject::tr("Calculated Passwords for %1").arg(wifi.getSsidName()).toUtf8().data() << std::endl;
            for (int i = 0; i < results.size(); ++i)
                std::cout <<  results.at(i).toLatin1().data() << std::endl;
            return 0;
        }
    }