小编Phi*_*l-R的帖子

多线程强力密码破解算法

我在C++中创建了一个多线程程序,使用强力算法来破解长度为7个字符的密码(仅限小写字符).

我的算法大多是7个嵌套的for循环,从a到z并测试每个可能的组合.

现在,我正在以这种方式划分我的工作:
如果我有3个工作线程,则
线程1:axxxxxx到ixxxxxx
线程2:jxxxxxx到rxxxxxx
线程3:sxxxxxx到zxxxxxx

所以3个线程将继续循环,直到找到匹配.

主线程将等待第一个线程返回.

我的问题是:这是在我的线程之间划分工作的最佳方法吗?你对我如何更有效率有任何想法吗?

而且,即使它不是我审讯的主要部分,你能想到比7 for-loop迭代更好的方法吗?

(请注意,此程序适用于学校项目,而不是真正破解密码)

c++ algorithm multithreading brute-force

3
推荐指数
1
解决办法
3662
查看次数

手动设置指针值

我正在使用C.我正在尝试做的是一个函数,它将返回一个包含指向对象的地址的int.然后,使用我收到的int(包含地址),并构建一个指向该地址的指针.

示例:

MyClass* obj = SomeMethodReturningAPointerOfMyClass();
int address = (int) &obj;
return address;
Run Code Online (Sandbox Code Playgroud)

我认为它适用于这一部分.我得到的值是-4197276.(也许我完全错了?)

然后,另一方面,我想做的事情如下:

MyClass* obj = (MyClass*) address;
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为我无法访问任何obj方法而不会收到错误.


我找到了一种方法:

MyClass* obj = SomeMethodReturningAPointerOfMyClass();
machine->registers[2] = (int)obj;
Run Code Online (Sandbox Code Playgroud)

然后,在我收到整数的另一种方法中:

MyClass* obj = (MyClass*)address;
Run Code Online (Sandbox Code Playgroud)

我可以完美地完成对象!可能不是那么干净但它应该为它的用途做好工作!

感谢所有花时间回答的人!

c int pointers pointer-address

0
推荐指数
1
解决办法
2738
查看次数