首页
社区
课程
招聘
[分享]国外的一款非常不错的屏保,大家试试!
发表于: 2004-12-9 18:13 7706

[分享]国外的一款非常不错的屏保,大家试试!

2004-12-9 18:13
7706
  已经弄了一个下午了,丝毫找不见软件在什么地方作了比较,然后就提示注册码不正确!
  大家试试,挺不错的,其实不注册也能用的,我只是想了解算法!
附件:water.rar

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 1
支持
分享
最新回复 (15)
雪    币: 204
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
吃饭去了,晚上重来,
2004-12-9 18:14
0
雪    币: 390
活跃值: (707)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
3
又是为了找注册码而注册kanxue的……
2004-12-9 18:20
0
雪    币: 204
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
不是,唉!那我自己来吧,大家不要帮我了!
2004-12-9 18:21
0
雪    币: 390
活跃值: (707)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
5
那么先说抱歉。

可以告诉你的是,用了CRC32。

一般顺序:peid->ida/dede+od

另外,如果你在破解中遇到麻烦,这里的人肯定会帮你。但你不能把一个程序扔上来就说“大家试试”什么的。

它说错误肯定有对应的字符串的,再找找。
2004-12-9 18:43
0
雪    币: 204
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
不是,这个软件本来就没有加壳,是VC编的,它只有对录入的用户名和注册码作较验,看是否属于0到9,以及字符,然后就对注册码做两次转换,但不知道转换了两次,就莫名走向报告注册码错误的窗口,没有发现什么地方下了桩!

老大,别说抱歉了,不然别人会骂我的,都是我的不对!
谢谢你!
2004-12-9 20:18
0
雪    币: 211
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
搞不懂汇编,更不懂算法;
一阵乱改,似乎是成功了。附件:WSS_Cracked.rar
2004-12-9 20:46
0
雪    币: 204
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
谢谢,是暴破吗,有没有过程,大概给我讲一下吧,老大,我想听课!:)
2004-12-9 20:56
0
雪    币: 204
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
哈哈,全给NOP掉了,谢谢!
2004-12-9 21:06
0
雪    币: 204
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
最好是有算法就好了,可是水平有限!得碰砖努力了!
2004-12-9 21:10
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
我也能爆破,用OD就可以了,要改三四个地方才行,找到出错信息后一直向上寻找关键跳转,至于算法,难得去研究,何况本人汇编不行.
2004-12-10 22:34
0
雪    币: 230
活跃值: (180)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
12
d61K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3I4G2L8X3N6Y4j5h3#2W2i4K6u0W2j5$3!0E0i4K6u0r3k6X3W2D9k6i4y4Q4x3V1k6%4j5i4c8W2M7Y4y4U0M7X3g2W2L8Y4y4S2N6X3g2J5i4K6u0W2P5X3W2H3

//注册码(仅供测试)
name=User
key=ad4ac571264de6f682941d413c3b2ed6e0eddcd8fb9afc94

//注册机(仅供参考)

#include "string.h"
#include "stdlib.h"

unsigned char deal_char(unsigned char ch,int mode)
{
    unsigned char c;
    c=mode?ch>>4:ch&0x0F;
    c=c<10?c+'0':c-10+'a';
    return c;
}

void deal_key(char *name,char *key)
{
    unsigned char c,m1,m2,m3,b1[256],*p,*t;
    unsigned long sum=0;
    unsigned int i,j,len=40;
    if(!name||!key) return;
      strlwr(name); //lower name
    for(i=0;i<len;i++)
      key[i]=rand()%2?'0'+rand()%10:'a'+rand()%6;
    c=rand();
    key[0]=deal_char(c,1);    key[1]=deal_char(c,0);
    m1=((c+0x15)*12+c)*12;
    key[24]=deal_char(m1,1);  key[25]=deal_char(m1,0);
    m2=0x60+((c+0x15)*13+c)*13;
    key[26]=deal_char(m2,1);  key[27]=deal_char(m2,0);
    m3=len+strlen(name)*2+((c+0x15)*14+c)*14;
    key[28]=deal_char(m3,1);  key[29]=deal_char(m3,0);
    for(i=0,j=1;i<len/2;i++,j+=2){ p=b1+i; t=(unsigned char *)key+j;
      *p=((*(t-1)+(*(t-1)<=0x57?0xD0:0xA9))<<4)+(*t+(*t<=0x57?0xD0:0xA9)); }
    p=b1;
    memcpy(b1+len/2,name,strlen(name));
    for(i=0;i<strlen(name);i++){ c=(b1[len/2+i]>>4)+((b1[len/2+i]&0x0F)<<4);  //change order
      c+=((*p+0x15)*(len/2+i)+*p)*(len/2+i);
      b1[len/2+i]+=((*p+0x15)*(len/2+i)+*p)*(len/2+i);
      key[40+i*2]=deal_char(c,1);
      key[40+i*2+1]=deal_char(c,0);}      
    len+=strlen(name)*2;
    for(i=0;i<len/2;i++){ if(i) *(p+i)-=((*p+0x15)*i+*p)*i;
            if(i<15||i>16) sum+=(*(p+i)>>4)+(*(p+i)&0x0F);}
    m1=(((unsigned char)sum&0x0F)<<4)+((unsigned char)(sum>>4)&0x0F)+((*p+0x15)*15+*p)*15;
    key[30]=deal_char(m1,1);        key[31]=deal_char(m1,0);
    m2=(((unsigned char)(sum>>8)&0x0F)<<4)+((unsigned char)(sum>>12)&0x0F)+((*p+0x15)*16+*p)*16;
    key[32]=deal_char(m2,1);        key[33]=deal_char(m2,0);
    key[len]='\0'; //end of key
}

int main(int argc, char* argv[])
{
    char * str="User";
    char name[256];
    char key[256];
    strcpy(name,str);
    deal_key(name,key);
    printf("name=%s\nkey=\n",str,key);
    return 0;
}

BTW: 机子显卡烂,看不到屏保效果,哪位兄弟贴个图?
2004-12-11 14:32
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
楼上厉害,帮你顶一下喽。。。
2004-12-11 22:44
0
雪    币: 204
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
老大,不错,谢谢。我得得好好学习了,有没有过程,最好也发上来,非常感谢谢,现在我还迷糊着呢!
现在还有一个问题,注册窗口是个顶层窗口,挡在最前面影响调试,能不能将其通过修改参数将其改为一般窗口?看了一下,其所调用的函数DialogParamBoxA的参数好像没有这个功能的!

是Delphi的我通过修改Form资源就可以实现,但VC就不会了,看了其他几个正常窗口的DialogParamBoxA生成参数,也跟不出什么结果来!
2004-12-16 00:17
0
雪    币: 204
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
qINGfENG 老大,我对C不懂,能不能解释一下呢?
2004-12-16 00:30
0
雪    币: 204
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
效果图,在桌面上显示水波效果,而且可以变色!
2004-12-18 23:01
0
游客
登录 | 注册 方可回帖
返回