首页
社区
课程
招聘
[求助]关于狗壳的时间限制求助
发表于: 2006-9-28 10:14 7757

[求助]关于狗壳的时间限制求助

2006-9-28 10:14
7757
收藏
免费 0
支持
分享
最新回复 (29)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
26
诚如nig前辈所说,只要改一个二进制位即可。

不过,不是改那个标志位,我昨天晚上把那个标志位改成0,结果程序依然无法运行。后来我找到存放时间常数的地方,年的计算是由 493B XOR 4EED之后得到。我把49改成了46,这样异或之后的结果就从07D6变成了08D6,年的限制就成了2262年。改完后测试成功。

现在还有个小bug,因为狗壳生成的.his文件还在,所以电脑系统的时间在改小之后,程序依然会提示找不到狗,今天一定要把这个bug搞定。
2006-9-30 09:03
0
雪    币: 238
活跃值: (230)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
27
最初由 北溟 发布
诚如nig前辈所说,只要改一个二进制位即可。

不过,不是改那个标志位,我昨天晚上把那个标志位改成0,结果程序依然无法运行。后来我找到存放时间常数的地方,年的计算是由 493B XOR 4EED之后得到。我把49改成了46,这样异或之后的结果就从07D6变成了08D6,年的限制就成了2262年。改完后测试成功。

现在还有个小bug,因为狗壳生成的.his文件还在,所以电脑系统的时间在改小之后,程序依然会提示找不到狗,今天一定要把这个bug搞定。


呵,修改狗壳时间限制及上面所说的BUG是没问题,网上类似的破解教程多得很,下面还有一个关口,到2007年一过期后就要进行注册,呵,狗+序列号注册,不过没关系,照样可以搞掉,还是比较简单的。呵呵


要是能下载到这个公司的其他软件就好了,最好是网络版,哈
2006-9-30 20:39
0
雪    币: 223
活跃值: (292)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
28
注册机代码,没事的试试,看看可以不,我这能注册
//本人写代码习惯不好,请各位将就看吧。
#include "string.h"
#include "stdio.h"
#include <conio.h>
unsigned long getd(unsigned long d) //这段程序代码是从他原程序中抄出来的
{
        _asm{
                mov eax,d
            push ebx
                push esi
push edi
push ebp
sub esp,0xC
mov bl,1
lea esi,dword ptr ds:[eax+1]
        jmp short _A64
_A26:                mov dword ptr ss:[esp+8],esi
        fild dword ptr ss:[esp+8]
        fsqrt
        fstp qword ptr ss:[esp]
        wait
        fld qword ptr ss:[esp]
        call _F4
        xor edi,edi
        mov ecx,eax
        sub ecx,2
        jl short _A5B
        inc ecx
        mov ebp,2
_A4B:  mov eax,esi
        cdq
        idiv ebp
        mov eax,edx
        test eax,eax
        jnz short _A57
        inc edi
_A57:  inc ebp
        dec ecx
        jnz short _A4B
_A5B: test edi,edi
        jnz short _A63
        xor ebx,ebx
        jmp short _A64
_A63: inc esi
_A64: test bl,bl
        jnz short _A26
        mov eax,esi
        add esp,0xC
        pop ebp
        pop edi
        pop esi
        pop ebx
    mov d,eax
    jmp next
_F4:   sub esp,0xC
fstcw word ptr ss:[esp]
fstcw word ptr ss:[esp+2]
wait
or word ptr ss:[esp+2],0xF00
fldcw word ptr ss:[esp+2]
fistp qword ptr ss:[esp+4]
wait
fldcw word ptr ss:[esp]
pop ecx
pop eax
pop edx
ret
next:
}
return(d);
}
char mkc(char c)
{
        if(c<='Z'&&c>='Q'){return('Z'-c+0x30);}
        else if(c>='K'&&c<='P'){return(0x50-c+0x41);}
        else return('0');
}
char mkc1(char c)
{
        if(c>=0x41&&c<=0x4a)return(c-0x11);
        else if(c>=0x4b&&c<=0x50)return(c-0xa);
        else return('0');
}
int get_c(char c)
{
        if(c>='0'&&c<='9')return(c-'0');
        else if(c>='A'&&c<='F')return(c-'A'+10);
        else return(0);
}
void jc()
{
        char oldsn[100]="ZOTTQVZTWQLNBDFFHCDEM";
        char newsn[26],shuchu[30];
        char c;
        int i;
        unsigned long sn1,sn2,sn3,sn4;
next:
        printf("请输入序列号(大写):");
        scanf("%s",oldsn);
        if(strlen(oldsn)!=21){printf("序列号必须是21位!!!!\r\n");goto next;}
        for(i=0;i<12;i++){
                oldsn[i]=mkc(oldsn[i]);
        }
        for(i=12;i<21;i++){
                oldsn[i]=mkc1(oldsn[i]);
        }
        memset(newsn,0,25);
        memset(shuchu,0,30);
        memcpy(newsn,oldsn,6);
        sscanf(newsn,"%lX",&sn1);
        memcpy(newsn,oldsn+6,6);
        sscanf(newsn,"%lX",&sn2);
        memcpy(newsn,oldsn+12,7);
        sscanf(newsn,"%ld",&sn3);
        sscanf(oldsn+19,"%lX",&sn4);
        sn3=getd(sn3);
        sprintf(newsn,"%08X%08X%07d",sn1,sn2,sn3);
        sn4=0;
        for(i=0;i<23;i++){sn4+=get_c(newsn[i]);}
        sn1*=sn4;
        sn2*=sn4;
        sprintf(newsn,"%08X%08X%07d%02X",sn1,sn2,sn3,sn4);
        for(i=0;i<16;i++)
        {
                newsn[i]=15-get_c(newsn[i])+0x4b;
        }
        for(i=16;i<23;i++)
        {
                newsn[i]=10-get_c(newsn[i])+0x41;
                if(newsn[i]==0x51)newsn[i]='A';
        }
        for(i=23;i<25;i++)
        {
                newsn[i]=get_c(newsn[i])+0x41;
        }
        for(i=0;i<5;i++)
        {
                memcpy(shuchu+i*6,newsn+i*5,5);
                if(i!=4){shuchu[i*6+5]='-';}
        }
        printf("注册码:%s\r\n按任意键退出.......",shuchu);
        _getch();
}
int main(int argc, char* argv[])
{
jc();
return 0;
}

还有不知道为什么,脱壳后的程序只能在脱壳的机子上运行,换个就非法操作了,比较晕呀.
2006-10-2 10:37
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
29
最初由 okpj 发布
呵,修改狗壳时间限制及上面所说的BUG是没问题,网上类似的破解教程多得很,下面还有一个关口,到2007年一过期后就要进行注册,呵,狗+序列号注册,不过没关系,照样可以搞掉,还是比较简单的。呵呵


要是能下载到这个公司的其他软件就好了,最好是网络版,哈


昨天晚上已经全搞定,2007年的注册问题是个小case,我懒得算注册码,就暴掉了。
答应朋友十月一日搞定,没想到居然连一天都没提前,幸好没失信。没办法,第一次破东西,太没经验了。
谢谢okpj前辈的注册机,以后多向您请教,不知道可不可以?
2006-10-2 18:15
0
雪    币: 223
活跃值: (292)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
30
最初由 okpj 发布
呵,修改狗壳时间限制及上面所说的BUG是没问题,网上类似的破解教程多得很,下面还有一个关口,到2007年一过期后就要进行注册,呵,狗+序列号注册,不过没关系,照样可以搞掉,还是比较简单的。呵呵


要是能下载到这个公司的其他软件就好了,最好是网络版,哈


你用IE打开 http://218.9.66.138/hwkjwz/download/ 看看吧,应该有这个软件的网络版的,应该是这个文件吧nzglwlbV4.0.rar
可以返回到上一级目录看网页.
2006-10-2 19:13
0
游客
登录 | 注册 方可回帖
返回
//