Java-Programm in C++ portieren

Status
Nicht offen für weitere Antworten.

Airwolf89

Aktives Mitglied
Hi Leut's,

habe mal ne Frage. Hatte ja, durch Hilfe in diesem Forum nen kleinen Brute-Force-Algorithmus geschrieben. (Nix gefährliches, nur um mal den algorithmus zu verstehen.)

Nebenbei will ich mir auch noch C++ beibringen. Ich wollte nun dieses kleine Programm in C++ nochmal neu schreiben damit ich da nen kleinen Einstieg bekomme.

Ist halt so dass im Code nen Passwort festgelegt ist und das Programm dann halt das PW sucht.

Leider kriege ich einiges noch nicht hin, bzw. kriege ich vom Compiler jede Menge Fehlermeldungen. Könnte von euch vllt. mal jemand drüber gucken und mir sagen was ich da falsch gemacht habe, bzw. was in C++ so nicht geht? Mit den Fehlermeldungen vom Compiler kann ich bis jetzt noch nicht sehr viel anfangen.

IDE ist Netbeans mit C++ PlugIn und CygWin Compiler im Hintergrund, falls das wichtig ist.

In Java funktioniert das Programm tadellos, müsste nur noch nen bissl an der Performace feilen...

Algorithmus in Java:
Java:
package bruteforce;

//~--- JDK imports ------------------------------------------------------------

import java.util.Arrays;

public class BruteForce {
    public static char[]  hackChar   = { 'a' };
    public static String  hackString = "";
    public static int     n          = 1;
    public static char[]  password   = { 'h', 'a', 'l', 'l', 'o' };
    public static boolean isHacked   = false;

    public static void main(String[] args) {
        while ((isHacked == false)) {
            hackChar[0] = ' ';

            for (int k = 97; k < 123; k++) {
                hackChar[0] = (char) k;
                hackString  = new String(hackChar);
                System.out.println(hackString);
                isHacked = check(hackChar);

                if (isHacked == true) {
                    System.out.println("Geknackt, das Passwort lautet: " + hackString);

                    break;
                } else {
                    for (int i = 0; i < hackChar.length; i++) {
                        if (hackChar[i] == 'z') {
                            try {
                                hackChar[i + 1]++;
                            } catch (Exception e) {
                                n++;
                                hackChar = new char[n];

                                for (int j = 0; j < n; j++) {
                                    hackChar[j] = 'a';
                                }
                            }

                            hackChar[i] = 'a';
                        }
                    }
                }
            }
        }
    }

    public static boolean check(char[] hack) {
        if (Arrays.equals(hack, password)) {
            isHacked = true;
        } else {
            isHacked = false;
        }

        return isHacked;
    }
}

Algorithmus in C++
Java:
#include <ios>
#include <stdlib.h>
#include <iostream>
#include <string>


using namespace std;

//globale Variablen
bool isHacked = false;
char hackChar = 'a";
char password[] = 'abc';
string hackString = "";
int n = 1;

/*
 * Main-Funktion
 */
int main(int argc, char** argv) {

    while (isHacked == false) {
        hackChar[0] = ' ';

        for (int k = 97; k < 123; k++) {
            hackChar[0] = (char) k;
            hackString.clear();
            hackString.assign(hackChar);
            cout << hackString << "\n";
            isHacked = check(hackChar);

            if (isHacked == true) {
                cout << "Geknackt, das Passwort lautet: " << hackString;

                break;
            } else {
                for (int i = 0; i < hackChar.length; i++) {
                    if (hackChar[i] == 'z') {
                        try {
                            hackChar[i + 1]++;
                        } catch (...) {
                            n++;
                            hackChar.clear();
                            char hackChar[n];

                            for (int j = 0; j < n; j++) {
                                hackChar[j] = 'a';
                            }
                        }
                        hackChar[i] = 'a';
                    }
                }
            }
        }
    }

    return (EXIT_SUCCESS);
}

/*
 * Check-Funktion um ermitteltes Passwort zu prüfen
 */
bool check(char hack[]) {

    if (strcmp(hack, password) == 0) {
        isHacked = true;
    } else {
        isHacked = false;
    }

    return isHacked;
}

Fehlermeldungen:
Code:
Running "C:\cygwin\bin\make.exe  -f BruteForce CONF=Debug" in H:\Development\C++\BruteForce

g++     BruteForce.cpp   -o BruteForce
BruteForce.cpp:18: error: missing terminating ' character
BruteForce.cpp:19: error: expected primary-expression before "char"
BruteForce.cpp:19: error: expected `,' or `;' before "char"
BruteForce.cpp:19:19: warning: multi-character character constant
BruteForce.cpp: In function `int main(int, char**)':
BruteForce.cpp:29: error: invalid types `char[int]' for array subscript
BruteForce.cpp:32: error: invalid types `char[int]' for array subscript
BruteForce.cpp:34: error: invalid conversion from `char' to `const char*'
BruteForce.cpp:34: error:   initializing argument 1 of `std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::assign(const _CharT*) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]'
BruteForce.cpp:36: error: `check' undeclared (first use this function)
BruteForce.cpp:36: error: (Each undeclared identifier is reported only once for each function it appears in.)
BruteForce.cpp:43: error: request for member `length' in `hackChar', which is of non-class type `char'
BruteForce.cpp:44: error: invalid types `char[int]' for array subscript
BruteForce.cpp:46: error: invalid types `char[int]' for array subscript
BruteForce.cpp:49: error: request for member `clear' in `hackChar', which is of non-class type `char'
BruteForce.cpp:56: error: invalid types `char[int]' for array subscript
BruteForce.cpp: In function `bool check(char*)':
BruteForce.cpp:69: error: `bool check(char*)' used prior to declaration
BruteForce.cpp:71: error: `password' undeclared (first use this function)
make: *** [BruteForce] Error 1

Build failed. Exit value 2.

Danke im voraus.
 
Zuletzt bearbeitet:
1

1337shaddow

Gast
falls du willst hätt ich hier nen Code von nem selfcoded-Bruter:(gibt nur aus. man kann auch alles andere damit anstellen(bsp md5-crypten und mit hash vergleichen =D)
//start
#include <iostream>
#include <conio.h>
#include <Windows.h>
using namespace std;

bool isz_char(char *wort, short aktuelles_zeichen);

int main(void)
{
SetConsoleTitle("1337shaddow´s Bruter");
short aktuelles_zeichen, anzahl_zeichen, counter = -1, taste;
cout<<"Wie viel Zeichen sollen die W\224rter haben?: ";
cin>>anzahl_zeichen;
aktuelles_zeichen = anzahl_zeichen;
aktuelles_zeichen--;
char wort[anzahl_zeichen], abbruch[anzahl_zeichen];
while(counter != anzahl_zeichen)
{
counter++;
wort[counter] = 'a';
}
wort[anzahl_zeichen] = '\0';
strcpy(abbruch, wort);
cout<< wort << endl;
isz_char((char*) &wort, (short) aktuelles_zeichen);
while(strcmp(abbruch, wort) != 0)
{
//Wort ausgeben/verarbeiten
cout<< wort << endl;
isz_char((char*) &wort, (short) aktuelles_zeichen);
}
cin.get();
return 0;
}


bool isz_char(char *wort, short aktuelles_zeichen)
{
if(wort[aktuelles_zeichen] == 'a') wort[aktuelles_zeichen] = 'b';
else if(wort[aktuelles_zeichen] == 'b') wort[aktuelles_zeichen] = 'c';
else if(wort[aktuelles_zeichen] == 'c') wort[aktuelles_zeichen] = 'd';
else if(wort[aktuelles_zeichen] == 'd') wort[aktuelles_zeichen] = 'e';
else if(wort[aktuelles_zeichen] == 'e') wort[aktuelles_zeichen] = 'f';
else if(wort[aktuelles_zeichen] == 'f') wort[aktuelles_zeichen] = 'g';
else if(wort[aktuelles_zeichen] == 'g') wort[aktuelles_zeichen] = 'h';
else if(wort[aktuelles_zeichen] == 'h') wort[aktuelles_zeichen] = 'i';
else if(wort[aktuelles_zeichen] == 'i') wort[aktuelles_zeichen] = 'j';
else if(wort[aktuelles_zeichen] == 'j') wort[aktuelles_zeichen] = 'k';
else if(wort[aktuelles_zeichen] == 'k') wort[aktuelles_zeichen] = 'l';
else if(wort[aktuelles_zeichen] == 'l') wort[aktuelles_zeichen] = 'm';
else if(wort[aktuelles_zeichen] == 'm') wort[aktuelles_zeichen] = 'n';
else if(wort[aktuelles_zeichen] == 'n') wort[aktuelles_zeichen] = 'o';
else if(wort[aktuelles_zeichen] == 'o') wort[aktuelles_zeichen] = 'p';
else if(wort[aktuelles_zeichen] == 'p') wort[aktuelles_zeichen] = 'q';
else if(wort[aktuelles_zeichen] == 'q') wort[aktuelles_zeichen] = 'r';
else if(wort[aktuelles_zeichen] == 'r') wort[aktuelles_zeichen] = 's';
else if(wort[aktuelles_zeichen] == 's') wort[aktuelles_zeichen] = 't';
else if(wort[aktuelles_zeichen] == 't') wort[aktuelles_zeichen] = 'u';
else if(wort[aktuelles_zeichen] == 'u') wort[aktuelles_zeichen] = 'v';
else if(wort[aktuelles_zeichen] == 'v') wort[aktuelles_zeichen] = 'w';
else if(wort[aktuelles_zeichen] == 'w') wort[aktuelles_zeichen] = 'x';
else if(wort[aktuelles_zeichen] == 'x') wort[aktuelles_zeichen] = 'y';
else if(wort[aktuelles_zeichen] == 'y') wort[aktuelles_zeichen] = 'z';
else if(wort[aktuelles_zeichen] == 'z') wort[aktuelles_zeichen] = 'A';
else if(wort[aktuelles_zeichen] == 'A') wort[aktuelles_zeichen] = 'B';
else if(wort[aktuelles_zeichen] == 'B') wort[aktuelles_zeichen] = 'C';
else if(wort[aktuelles_zeichen] == 'C') wort[aktuelles_zeichen] = 'D';
else if(wort[aktuelles_zeichen] == 'D') wort[aktuelles_zeichen] = 'E';
else if(wort[aktuelles_zeichen] == 'E') wort[aktuelles_zeichen] = 'F';
else if(wort[aktuelles_zeichen] == 'F') wort[aktuelles_zeichen] = 'G';
else if(wort[aktuelles_zeichen] == 'G') wort[aktuelles_zeichen] = 'H';
else if(wort[aktuelles_zeichen] == 'H') wort[aktuelles_zeichen] = 'I';
else if(wort[aktuelles_zeichen] == 'I') wort[aktuelles_zeichen] = 'J';
else if(wort[aktuelles_zeichen] == 'J') wort[aktuelles_zeichen] = 'K';
else if(wort[aktuelles_zeichen] == 'K') wort[aktuelles_zeichen] = 'L';
else if(wort[aktuelles_zeichen] == 'L') wort[aktuelles_zeichen] = 'M';
else if(wort[aktuelles_zeichen] == 'M') wort[aktuelles_zeichen] = 'N';
else if(wort[aktuelles_zeichen] == 'N') wort[aktuelles_zeichen] = 'O';
else if(wort[aktuelles_zeichen] == 'O') wort[aktuelles_zeichen] = 'P';
else if(wort[aktuelles_zeichen] == 'P') wort[aktuelles_zeichen] = 'Q';
else if(wort[aktuelles_zeichen] == 'Q') wort[aktuelles_zeichen] = 'R';
else if(wort[aktuelles_zeichen] == 'R') wort[aktuelles_zeichen] = 'S';
else if(wort[aktuelles_zeichen] == 'S') wort[aktuelles_zeichen] = 'T';
else if(wort[aktuelles_zeichen] == 'T') wort[aktuelles_zeichen] = 'U';
else if(wort[aktuelles_zeichen] == 'U') wort[aktuelles_zeichen] = 'V';
else if(wort[aktuelles_zeichen] == 'V') wort[aktuelles_zeichen] = 'W';
else if(wort[aktuelles_zeichen] == 'W') wort[aktuelles_zeichen] = 'X';
else if(wort[aktuelles_zeichen] == 'X') wort[aktuelles_zeichen] = 'Y';
else if(wort[aktuelles_zeichen] == 'Y') wort[aktuelles_zeichen] = 'Z';
else if(wort[aktuelles_zeichen] == 'Z') wort[aktuelles_zeichen] = '1';
else if(wort[aktuelles_zeichen] == '1') wort[aktuelles_zeichen] = '2';
else if(wort[aktuelles_zeichen] == '2') wort[aktuelles_zeichen] = '3';
else if(wort[aktuelles_zeichen] == '3') wort[aktuelles_zeichen] = '4';
else if(wort[aktuelles_zeichen] == '4') wort[aktuelles_zeichen] = '5';
else if(wort[aktuelles_zeichen] == '5') wort[aktuelles_zeichen] = '6';
else if(wort[aktuelles_zeichen] == '6') wort[aktuelles_zeichen] = '7';
else if(wort[aktuelles_zeichen] == '7') wort[aktuelles_zeichen] = '8';
else if(wort[aktuelles_zeichen] == '8') wort[aktuelles_zeichen] = '9';
else if(wort[aktuelles_zeichen] == '9') wort[aktuelles_zeichen] = '0';
else if(wort[aktuelles_zeichen] == '0') wort[aktuelles_zeichen] = ' ';
else if(wort[aktuelles_zeichen] == ' ')
{
wort[aktuelles_zeichen] = 'a';
if(aktuelles_zeichen != 0) isz_char(wort, aktuelles_zeichen - 1);
else return false;
}
if(aktuelles_zeichen != 0) return true;
}
//end
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Java Programm distributen Softwareentwicklung 35
P Grafik-Programm mit JAVA? Softwareentwicklung 21
W Herangehensweise an ein Java Programm Softwareentwicklung 4
G Umwandung von Vb auf Java Softwareentwicklung 1
von Spotz Kommunikation zwischen Java und Container Orchestrator (Microservices) Softwareentwicklung 11
S Microservices in Java Spring: Nebenläufigkeitsprobleme lösen Softwareentwicklung 6
temi Elementfunktionen vs. Nichtelementfunktionen in Java Softwareentwicklung 20
R Umsetzungen in Java vs. Umsetzungen auf Datenbankebene Softwareentwicklung 9
L Module Eclipse Java 9 Softwareentwicklung 12
R Software-Architekt (Schwerpunkt Java) Softwareentwicklung 9
S VB.NET / C# als Java-Entwickler? Softwareentwicklung 2
J Java Kentnisse vertiefen oder andere Programmiersprache probieren? Softwareentwicklung 8
U Java vs. anderen plattformunabhängige Programmiersprachen Softwareentwicklung 8
S JNI Java from C Softwareentwicklung 0
H [Java]Regex Hilfe Softwareentwicklung 3
D Teamspeak Java html app Softwareentwicklung 5
N UML Komponenten als Java-Klassen abbilden Softwareentwicklung 4
S Java Anfänger hat Probleme mit Scanner Softwareentwicklung 6
C Lohnt es sich noch ein neues Projekt in C++ anstatt Java zu realisieren? Softwareentwicklung 4
U Java oder welche Sprache? Softwareentwicklung 98
MrWhite Ist Java gar nicht sooo objektorientiert??! Softwareentwicklung 16
J Java Long-Werte in C++ auslesen Softwareentwicklung 4
K Mit "Java" html-Seite entscripten Softwareentwicklung 6
Airwolf89 Theoretische Frage - In Java Java-Programme schreiben Softwareentwicklung 5
G Mischsprache aus Java & C# Softwareentwicklung 23
H COBOL und Java Softwareentwicklung 17
H Java als Backend, Javascript als View Softwareentwicklung 3
D Sind EJB Komponenten auch mit Java Swing nutzbar? Softwareentwicklung 8
U Decorator Pattern in der Java API Softwareentwicklung 6
J Java Software nach C++ portieren Softwareentwicklung 6
C Unterschiede: C++ vs. C# vs. Java Softwareentwicklung 21
G Umstieg Java/Oracle => C#/MSSQL Softwareentwicklung 13
A Jira durch Java ansprechen Softwareentwicklung 18
M Immutable Objekte und funktionales Programmieren in Java oder Scala Softwareentwicklung 34
B [Web 2.0] Java vs PHP Softwareentwicklung 28
Raidri Flex mit Java Softwareentwicklung 2
L Java + WCF Softwareentwicklung 9
T Kapselung nich vollständig umgesetzt in Java? Softwareentwicklung 4
J Korpus mit Python einlesen - weiterbearbeiten mit Java Softwareentwicklung 4
N c# nach java Softwareentwicklung 14
K Suche freies UML Tool um aus .java dateien Diagramme zu. Softwareentwicklung 8
D Java in KLassen, schon vorhanden? Softwareentwicklung 3
B Was ist besser für Grafiken? Java oder C#? Softwareentwicklung 9
R Java Passwort verschlüsseln --> kompliziert! wirklich doo Softwareentwicklung 13
F vorteile php gegenüber java? Softwareentwicklung 46
M Umwandlung von String in java.sql.Date Softwareentwicklung 2
lolkind Iso Datein per Java über Windows XP brennen Softwareentwicklung 13
U [Diskussion] Java vs. C# Softwareentwicklung 208
J Hardware zugriff mit java? Softwareentwicklung 4
N Für und Wieder von Java und .NET (primär C#) | Performance Softwareentwicklung 6
G java.lang.ArrayIndexOutOfBoundsException Softwareentwicklung 5
E Default Java unter Linux aendern? Softwareentwicklung 3
S arabische Buchstaben in java ?:L Softwareentwicklung 3
L Noch 'ne Perl-Frage. Kehre dann auch reumütig zu Java zurück Softwareentwicklung 10
G Serveranbindung mit java Softwareentwicklung 24
G Umstieg von Delphi zu JAVA (wichtige Fragen!) Softwareentwicklung 41
F Welche Sprache sieht ähnlich aus wie Java? Softwareentwicklung 7
T Suche A Star Java Beispielprogramm Softwareentwicklung 2
D C# zu Java - Übersetzer gesucht. Softwareentwicklung 3
F Windows Media Player in Java? Softwareentwicklung 11
C C code in java umschreiben Softwareentwicklung 9
O java und c# - die zweite. Softwareentwicklung 7
S Problem PJIRC java-applet Softwareentwicklung 4
U Geeignete Plattform für Projekt (JSP, PHP, Java-Anwendung) Softwareentwicklung 7
G C++ in JAVA verpacken Softwareentwicklung 2
D C# vs. java Softwareentwicklung 16
G Darstellung von Java-Projekten mit UML Softwareentwicklung 3
E Java & Performance Softwareentwicklung 9
T Brauche für meinen Java-Code dringend Hilfe Softwareentwicklung 4
B Wo bekommt man fertige Java-Programme (z.B. für Lsg LGS) Softwareentwicklung 3
B Programmierung eines 8051-Assemblers unter Java Softwareentwicklung 3
M Bidirektionale Assoziazion in Java realisieren? Softwareentwicklung 3
J Java <-> C# Softwareentwicklung 1
S c# schneller java - wieso ? Softwareentwicklung 12
D C++ und Java Softwareentwicklung 61
B Batchdatei, Prüfe ob Programm X läuft Softwareentwicklung 2
N Pop-up Programm mit Live-Video Softwareentwicklung 7
fk1 Beginnercode: Pokerdealer Programm Softwareentwicklung 60
C Programm "Road Chat" realisierbar? Softwareentwicklung 2
J Suche noch eine Loesung fuer Kommunikation zwischen Webserver und ein Programm Softwareentwicklung 0
P Benutzeroberfläche Programm Bewertung Softwareentwicklung 2
KranzKrone Architektur für einfaches Gui Programm Softwareentwicklung 6
G Make or Buy? - Tagging-Programm Softwareentwicklung 4
G Linux: Programm mit UI einmalig beim Systemstart ausführen Softwareentwicklung 3
B WHILE und GOTO Programm Softwareentwicklung 32
I Tool / Programm etc. zur Testdokumentation gesucht Softwareentwicklung 2
T Kommerziellen Programm unter Verwendung div. Libraries mit div. Lizenzen Softwareentwicklung 7
Steev Javaprogram aus C/AL-Programm ansteuern Softwareentwicklung 13
clupus Verbindung mit c-Programm Softwareentwicklung 4
V AGB's in Programm einbauen? Softwareentwicklung 3
J Design Patterns in Programm hineinfließen lassen Softwareentwicklung 23
sparrow Welche Lizenz für ein offenes Programm Softwareentwicklung 2
G Suche Programm für Masken Design für Pflichtenheft Softwareentwicklung 5
T Programm mit Passwort schützen. Softwareentwicklung 44
J Finde Fehler im Programm nicht (Klasse Kreis) Softwareentwicklung 1
X Möglichst unverständliches Programm Softwareentwicklung 13
F Kleines Programm für Windows Softwareentwicklung 2
M Kurvendiskussion, Funktions-Plotter, Mathe-Programm. Softwareentwicklung 3

Ähnliche Java Themen

Neue Themen


Oben