一个简单的CUDA 破解 SHA-1 的程序修改,求各位程序员帮忙看下,等了2天了,没人回...

cai123321cai 2010-06-16 02:33:51
前几天下了个cuda跑sha1的源码,编译通过了,

但是只能跑单纯的sha1加密,sha1(pass)

我想跑sha1('hex_salt'+'pass') //salt是16进制的

由于不懂c++不知道怎么修改,望各位帮忙看看

另外还想再加个字典破解,暴力跑效率不好

cuda论坛都没几个人,等了2个晚上了,还没解决,所以这里再发一篇,

每天在线等待高手回答

程序代码 http://cuda.csdn.net/News.aspx?id=7c2219e0-ced0-430d-900d-9f3675508767

部分代码
printf( "Start with %d passwords %d-%d\n", PassCountr, StartLength, StopLength-1);
while ((StartLength < StopLength)&(PassCountr>0))
{

for (int i=0;i<10;i++) ret[i]=0;
char * pb = (char *)&ret[1];

for (int i=0;i<StartLength;i++) pb[i]=CharSet[Plain[i]];
CUDA_SAFE_CALL(cudaMemcpyToSymbol(nVPlain , Plain, 16*4));
CUDA_SAFE_CALL(cudaMemcpy(dret, &ret, 40 , cudaMemcpyHostToDevice));
if (Short_Hash==0)
{
sha1<<<BLOKS,THREADS>>>(dcompslow,dTnext,dTabI,dret);
} else sha1_short<<<BLOKS,THREADS>>>(dcompslow,dTnext,dTabI,dret);
cudaThreadSynchronize();

CUDA_SAFE_CALL(cudaMemcpy(ret, dret, 40 , cudaMemcpyDeviceToHost));

if (((ret[7]==0) && (ret[0]!=5))|(ret[8]==5))
{
printf("X.Z. nVidia driver fall down \n");
FreeMem();
return(0);
}

if (ret[0]==5)
{
printf("Found Pass:%s:%.40s:%s \n",Pass[ret[5]].name,Pass[ret[5]].hash,&ret[1]);
if (OutPas!=INVALID_HANDLE_VALUE)
{
char OutPasS[100];
strcpy(OutPasS,Pass[ret[5]].name);
strcat(OutPasS,":");
strcat(OutPasS,(LPTSTR)&ret[1]);
strcat(OutPasS,"\x0d\x0a");
int IB=strlen(OutPasS);
WriteFile(OutPas,OutPasS,IB,(LPDWORD)&IB,0);
}

补充一点:
我是一个php分析员,这几天被逼得没办法,操起vs编译c++,自己解决不了,
问了好多人,竟然没人愿意帮我,要么就是推托,
我学php的,实在是不懂c++ ,也不能转行去学c++啊,连基础都没

我问了好多个群,有人说不懂sha1加密,我不知道他们怎么想的,

补充一点,我要做的是修改传入的参数,程序本身只能单纯sha1加密,我要加个调料

--------程序运行----------
a = "123";
sha1(a);
-------------------------
修改为
a = "123";
b = "";
strcat(b,"\x23");
strcat(b,a);
sha1(b); // sha1("#123")
-------------------------
这样不就能实现 sha1('hex_salt'+'pass')么,
他们怎么都跟我说不懂sha1,没办法帮我.....
直接调用不就行了,跑去分析sha1干嘛

继续坐等高手解答
...全文
576 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
cai123321cai 2010-06-19
  • 打赏
  • 举报
回复
继续顶
cai123321cai 2010-06-18
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 yangyunzhao 的回复:]
引用 19 楼 cai123321cai 的回复:
程序代码 http://cuda.csdn.net/News.aspx?id=7c2219e0-ced0-430d-900d-9f3675508767

这里是完整源代码,

晕,找人帮你修改代码?

一般不会有人愿意的,只会告诉你如何去改,不会帮你去改的。
[/Quote]

我是php分析员,

我哪里会c++啊
yangyunzhao 2010-06-18
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 cai123321cai 的回复:]
程序代码 http://cuda.csdn.net/News.aspx?id=7c2219e0-ced0-430d-900d-9f3675508767

这里是完整源代码,
[/Quote]
晕,找人帮你修改代码?

一般不会有人愿意的,只会告诉你如何去改,不会帮你去改的。
cai123321cai 2010-06-18
  • 打赏
  • 举报
回复
继续顶
cai123321cai 2010-06-17
  • 打赏
  • 举报
回复
继续顶,坐等强人
ganmu 2010-06-17
  • 打赏
  • 举报
回复
偶是来看偶有几分的
cai123321cai 2010-06-17
  • 打赏
  • 举报
回复
继续顶,坐等强人
cai123321cai 2010-06-17
  • 打赏
  • 举报
回复
继续顶,等强人
cai123321cai 2010-06-17
  • 打赏
  • 举报
回复
程序代码 http://cuda.csdn.net/News.aspx?id=7c2219e0-ced0-430d-900d-9f3675508767

这里是完整源代码,
cai123321cai 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 yangyunzhao 的回复:]
引用 15 楼 cai123321cai 的回复:
--------程序运行----------
a = "123";
sha1(a);
-------------------------
修改为
a = "123";
b = "";
strcat(b,"\x23");
strcat(b,a);
sha1(b); // sha1("#123")
---------------……
[/Quote]

楼上的,注意这个sha1,是作者自己写的加密函数
我下载过来用的,想修改下传入参数
yangyunzhao 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 cai123321cai 的回复:]
--------程序运行----------
a = "123";
sha1(a);
-------------------------
修改为
a = "123";
b = "";
strcat(b,"\x23");
strcat(b,a);
sha1(b); // sha1("#123")
-------------------------

有好多人说,这样不就解决了……
[/Quote]
C还是C++?
如果是C++,就在头文件里面
#include <string>
using std::string;

在代码处:

string str = a;
str += b;

sha1(str.c_str(0);

如果是C,就在头文件那里
#include <string.h>
代码那里

char * str = new char[strlen(a) + strlen(b) + 1];
strncpy(str, a, strlen(a));
strncpy(str+strlen(a), b, strlen(b));
str[strlen(a) + strlen(b) + 1 - 1] = '\0';
sha1(str);

是不是这个意思?
cai123321cai 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 trymybest121 的回复:]
1. 建议楼主将代码量减少至关键代码
2. 将代码排版好,并有针对性的提出问题
[/Quote]

我不懂c++
看不出哪里关键,要改哪里,所以来问的,

我只是个php分析的啊.....
cai123321cai 2010-06-17
  • 打赏
  • 举报
回复
--------程序运行----------
a = "123";
sha1(a);
-------------------------
修改为
a = "123";
b = "";
strcat(b,"\x23");
strcat(b,a);
sha1(b); // sha1("#123")
-------------------------

有好多人说,这样不就解决了么,

声明:我知道程序原理,可是具体到这个程序,该怎么改?改哪里?

坐等强人
trymybest121 2010-06-17
  • 打赏
  • 举报
回复
1. 建议楼主将代码量减少至关键代码
2. 将代码排版好,并有针对性的提出问题
cai123321cai 2010-06-17
  • 打赏
  • 举报
回复
继续顶,

问了几十个群,高手无数,至今无人能答


继续坐等强人
cai123321cai 2010-06-16
  • 打赏
  • 举报
回复
奇怪,为什么没人回,

我只是想修改个参数,实现sha1('hex_salt'+'pass')

不关cuda的事,更不关sha1加密的事啊

问了好几个群,有的说看不懂sha1加密,

我是修改参数而已.....

实现sha1('hex_salt'+'pass')
cai123321cai 2010-06-16
  • 打赏
  • 举报
回复
顶起来,继续等
cai123321cai 2010-06-16
  • 打赏
  • 举报
回复
继续顶,坐等强人
joejoe1991 2010-06-16
  • 打赏
  • 举报
回复
up up
cai123321cai 2010-06-16
  • 打赏
  • 举报
回复

在线等,求解,

各位路过的,就算解决不了,也帮忙顶一下,

多谢各位
加载更多回复(4)

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧