Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++/CLI WinForms Как собрать проект? https://www.cyberforum.ru/ cpp-cli-winforms/ thread1622419.html
Помогите собрать проект Windows Forms C++, да так, чтобы его могли прочитать на другом ПК, у которого нет среды VS. Обычный .exe файл, которые находится в папке Debug/проект.exe не подходит. На...
C++/CLI WinForms Открыть таблицу в dataGridView
Пожалуйста, помогите! Уже 3 день сижу, пытаюсь найти какую либо информацию об этом, но нет, все либо на С# либо не то. МНЕ НАДО открыть электронную таблицу(типа ексель) через openFileDialog и...
C++/CLI WinForms Ошибка-конец файла обнаружен ранее, чем левая фигурная скобка '{' https://www.cyberforum.ru/ cpp-cli-winforms/ thread1622017.html
В общем вылазит такая ошибка, значит где то не хватает скобки(ок). Не пойму где. Вот код(ниже прикрепил саму прогу): #pragma once #include <math.h> #include <string.h> namespace Primer2 { ...
C++/CLI WinForms Перемещение объектов WindowsForms Данная программа должна позволять перемещать объект типа PictureBox по форме, однако при самом перемещении отображается 2 объекта, которые перемещаются одновременно и при отпускании клавиши мыши... https://www.cyberforum.ru/ cpp-cli-winforms/ thread1621632.html
Отсутствует ucrtbased.dll C++/CLI WinForms
Всем привет. По учёбе требовалось написать простую программу для отображения графика. Использовал MVS2015 С++, CLR, формы. Всё прекрасно запускалось и работало... до тех пор, пока не попробовал...
C++/CLI WinForms Помощник отладки управляемого кода "FatalExecutionEngineError" обнаружил неполадку Помощник отладки управляемого кода "FatalExecutionEngineError" обнаружил неполадку в "C:\Users\Администратор\documents\visual studio 2010\Projects\hoho\Debug\hoho.exe". Дополнительные сведения: В... https://www.cyberforum.ru/ cpp-cli-winforms/ thread1621412.html
C++/CLI WinForms Перейти на другую страницу. XAML https://www.cyberforum.ru/ cpp-cli-winforms/ thread1620081.html
нужно обработать клик, чтоб перейти на другую страницу( DinPage.xaml ) при нажатие на кнопку Din_Click вот у нас часть XAML кода <Button x:Name="DinButton" Content="Динамическая" Height="65"...
Необъявленный идентификатор при использовании DataGridView C++/CLI WinForms
Пожалуйста помогите исправить ошибку. фул код: #pragma once namespace My312 { using namespace System; using namespace System::ComponentModel;
C++/CLI WinForms Добавление текста из TextBox в файл https://www.cyberforum.ru/ cpp-cli-winforms/ thread1618581.html
Необходимо добавить текст, расположенный в TextBox в файл. Есть код для записи текст в файл, но при этом предыдущий текст в файле удаляется. File::WriteAllLines("C:\\Результаты.txt",...
C++/CLI WinForms Как включить скроллбар формы если один из компонентов становится шире формы? https://www.cyberforum.ru/ cpp-cli-winforms/ thread1618121.html
Всем привет. Есть форма, она запускается на весь экран. На форме есть Image, который по ходу работы увеличивается и становится шире, но форма не дает увидеть что там за ней. Форма в конструкторе...
C++/CLI WinForms [Win Forms] Как остановить программу, пока пользователь не выберет вариант из listBox
Я пытаюсь реализовать переводчик, но столкнулся с такой проблемой: Допустим, у мы ввели строку "Я увлекаюсь программированием". У нас в базе нет слова "увлекаюсь", и, допустим, есть похожие...
C++/CLI WinForms Гистограмма яркости OpenCV https://www.cyberforum.ru/ cpp-cli-winforms/ thread1616071.html
Скажите пожалуйста в чем ошибка ??? Есть фото, необходимо реализовать гистограмму яркости этого изображения. #include<opencv2/core/core.hpp> #include<opencv2/highgui/highgui.hpp>...
0 / 0 / 1
Регистрация: 13.11.2014
Сообщений: 34
0

Программа "Переборщик паролей" не отвечает - C++/CLI WinForms - Ответ 8530212

22.12.2015, 20:27. Показов 618. Ответов 1
Метки (Все метки)

День добрый. Было задание написать программу, которая считывает пароль, введенный пользователем, запоминает его, а потом подбирает его, используя все коды символов ASCII. В общем-то оно всё есть, но есть проблема - работает только при длине пароля 3 символа или меньше. Если больше, то просто зависает, ничего не происходит, никаких ошибок и исключений не выдает, в диспетчере статус "не отвечает". И вторая проблема - не срабатывает первый return из variadic_loop. То есть в if (pass==givenPass) заходит, cout срабатывает, а return - нет, то есть при найденном верном пароле продолжает крутиться до упора, поэтому, например, время работы приходится считать внутри функции.

MyForm.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
#pragma once
#include <ctime>
#include <iostream>
#include <string>
#include <stdlib.h>
#include <string.h>
#include <msclr\marshal_cppstd.h>
using namespace std;
using namespace System::Runtime::InteropServices;
 
char* FormPass(int j, char* interPass, char* givenPass);
bool TryPass(char* possPass, char* givenPass);
char * and_SysStringToChar(System::String^ string);
string variadic_loop(size_t i, size_t n, int *t, int v, char ascii[], string givenPass);
System::String^  and_CharToSysString(char* ch);
 
unsigned int start_time;
unsigned int end_time;
 
 
namespace ProjectName {    // here
 
    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;
 
    
 
    /// <summary>
    /// Сводка для MyForm
    /// </summary>
    public ref class MyForm : public System::Windows::Forms::Form
    {
    public:
        MyForm(void)
        {
            InitializeComponent();
            //
            //TODO: добавьте код конструктора
            //
        }
 
    protected:
        /// <summary>
        /// Освободить все используемые ресурсы.
        /// </summary>
        ~MyForm()
        {
            if (components)
            {
                delete components;
            }
        }
    private: System::Windows::Forms::TextBox^  textBox1;
    private: System::Windows::Forms::Button^  button1;
    private: System::Windows::Forms::Label^  label1;
    private: System::Windows::Forms::Label^  label2;
    private: System::Windows::Forms::Label^  label3;
    protected:
 
    private:
        /// <summary>
        /// Требуется переменная конструктора.
        /// </summary>
        System::ComponentModel::Container ^components;
 
#pragma region Windows Form Designer generated code
        /// <summary>
        /// Обязательный метод для поддержки конструктора - не изменяйте
        /// содержимое данного метода при помощи редактора кода.
        /// </summary>
        void InitializeComponent(void)
        {
            this->textBox1 = (gcnew System::Windows::Forms::TextBox());
            this->button1 = (gcnew System::Windows::Forms::Button());
            this->label1 = (gcnew System::Windows::Forms::Label());
            this->label2 = (gcnew System::Windows::Forms::Label());
            this->label3 = (gcnew System::Windows::Forms::Label());
            this->SuspendLayout();
            // 
            // textBox1
            // 
            this->textBox1->Location = System::Drawing::Point(42, 43);
            this->textBox1->Name = L"textBox1";
            this->textBox1->PasswordChar = '*';
            this->textBox1->Size = System::Drawing::Size(100, 20);
            this->textBox1->TabIndex = 0;
            // 
            // button1
            // 
            this->button1->Location = System::Drawing::Point(167, 41);
            this->button1->Name = L"button1";
            this->button1->Size = System::Drawing::Size(75, 23);
            this->button1->TabIndex = 1;
            this->button1->Text = L"button1";
            this->button1->UseVisualStyleBackColor = true;
            this->button1->Click += gcnew System::EventHandler(this, &MyForm::button1_Click);
            // 
            // label1
            // 
            this->label1->AutoSize = true;
            this->label1->Location = System::Drawing::Point(42, 94);
            this->label1->Name = L"label1";
            this->label1->Size = System::Drawing::Size(48, 13);
            this->label1->TabIndex = 2;
            this->label1->Text = L"Пароль:";
            // 
            // label2
            // 
            this->label2->AutoSize = true;
            this->label2->Location = System::Drawing::Point(96, 94);
            this->label2->Name = L"label2";
            this->label2->Size = System::Drawing::Size(19, 13);
            this->label2->TabIndex = 3;
            this->label2->Text = L"***";
            // 
            // label3
            // 
            this->label3->AutoSize = true;
            this->label3->Location = System::Drawing::Point(42, 122);
            this->label3->Name = L"label3";
            this->label3->Size = System::Drawing::Size(43, 13);
            this->label3->TabIndex = 4;
            this->label3->Text = L"Время:";
            // 
            // MyForm
            // 
            this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
            this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
            this->ClientSize = System::Drawing::Size(284, 261);
            this->Controls->Add(this->label3);
            this->Controls->Add(this->label2);
            this->Controls->Add(this->label1);
            this->Controls->Add(this->button1);
            this->Controls->Add(this->textBox1);
            this->Name = L"MyForm";
            this->Text = L"MyForm";
            this->ResumeLayout(false);
            this->PerformLayout();
 
        }
#pragma endregion
 
    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) 
    
    {
                 string dispPass;
                 if (textBox1->Text != "")
                 {
                     textBox1->BackColor = SystemColors::Window;
 
                     start_time = clock(); // начальное время
 
                     int asciitotal = 256;
                     char ascii[256];
                     for (int i = 0; i < asciitotal; i++)
                     {
                         ascii[i] = i;
                     }
 
                     string givenPass;
                     givenPass = msclr::interop::marshal_as<std::string>(textBox1->Text);
 
                     int len = textBox1->Text->Length;
 
                     cout << givenPass<<endl;
 
                     int *t = new int[len];
                     t[len] = { 0 };
 
                     dispPass=variadic_loop(0, len, t, asciitotal, ascii, givenPass);
 
                    // cout << foundPass;
 
                     label2->Text = gcnew String(dispPass.c_str());
 
                    
                     unsigned int search_time = end_time - start_time; // искомое время
                     this->label3->Text = "Время: " + search_time / 1000 + " с";
                 }
 
                 else
                 {
                     textBox1->BackColor = Color::Salmon;
                 }
    }
};
}
 
string foundPass="";
string variadic_loop(size_t i, size_t n, int *t, int v, char ascii[], string givenPass)
{
    //char* foundPass = new char[n];
    //char* pass = new char[n];
 
    string pass="";
    for (int x = 0; x < n;x++)
        pass.append("x");
 
    for (t[i] = 32; t[i] < v; t[i]++)
    {
        if (n == i + 1)
        {
            for (int x = 0; x < n; x++)
                pass[x] = ascii[t[x]];
            //cout << pass << endl;
            if (pass==givenPass)
            {
                end_time = clock(); // конечное время
                foundPass = "";
                foundPass = foundPass.append(pass);
                cout << "yes"<<endl;
                cout << foundPass << endl;
                //break;
                return foundPass;
 
            }
            continue;
        }
        variadic_loop(i + 1, n, t, v, ascii, givenPass);
    }
 
 
    //cout << "no" << endl;
    //
    return foundPass;
}
MyForm.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "MyForm.h" // here
 
using namespace ProjectName; // here
 
[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
 
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false);
 
    Application::Run(gcnew MyForm()); // here
 
 
    return 0;
}
MS Visual Studio 2013, если важно

Вернуться к обсуждению:
Программа "Переборщик паролей" не отвечает C++/CLI WinForms
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.12.2015, 20:27
Готовые ответы и решения:

Кнопки "Свернуть" "Развернуть" "Закрыть"
Подскажите, как определить, что была нажата одна из кнопок &quot;Свернуть&quot;, &quot;Развернуть&quot;, &quot;Закрыть&quot;, из...

Почему "не отвечает" программа при выполнении "in"?
Почему у меня программа вылетает если я выполняю &quot;in&quot; на 60h порт? Пробовал программу запустить...

При автозапуске программы через реестр программа "не отвечает"
Доброго времени. Добавил свою программу в автозапуск в реестре. Программа сама скрытая (это такая...

Переборщик паролей
Очень интересует как написать скрипт который будет перебирать пароли ... Хотя бы чтобы перебирал...

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.12.2015, 20:27

"Программа не отвечает" (сложные расчеты)
Приложение выполняет сложные длительные расчеты. Кликнул - ждешь 2-4 минуты. Я прилепил внизу окна...

Как сделать полный перебор паролей от "A" до "Z" включая цифры?
Здравствуйте. У меня возник такой вопрос: как сделать полный перебор паролей от &quot;A&quot; до &quot;Z&quot; включая...

Программа "Не отвечает"
Программа выполняет сложные расчеты в одном методе. После 10секунд благополучного(по прогресбару)...

Как написать регулярное выражение для выдергивания английских букв и символов: "+", ",", ":", "-", " ", "!", "?" и "."
Не могу ни как собразить как написать регулярное выражение для выдергивания английских букв и...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru