首页
社区
课程
招聘
[求助]riijj的Crackme (1) 的详解看不懂啊。。。。。。
发表于: 2009-5-9 23:07 4287

[求助]riijj的Crackme (1) 的详解看不懂啊。。。。。。

2009-5-9 23:07
4287
Ok!我承认我是菜鸟。。。。。。
那位大侠能救小弟于水火之中?
原文链接:
http://bbs.pediy.com/showthread.php?s=&threadid=7505&highlight=riijj

很多指令没见过,感觉讲的莫名其妙。我都不知道怎么来的,人家就知道系列号的ASCII码在哪里了。。。。。。就是算法分析那部分。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 485
活跃值: (12)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
2
用OD实际跟踪看看,注意看寄存器和堆栈,注意看API调用和返回值
2009-5-10 07:33
0
雪    币: 200
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
好好学习,天天向上。等我学会了,我一定要把这个文章从头到脚再写一遍,帮助像我一样的小菜鸟!!!
2009-5-10 10:04
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
00401064   .  E8 C7010000   call    00401230
这句是关键,应该好好分析一下

以下C语言写的注册机,希望对你有帮助(实际上就是上面那个函数,程序写的烂,对付着看吧^_^)
#include<stdio.h>
#include<string.h>

int main()
{
        //name[]存用户名,buffer2[]存注册码
        char name[16],buffer[16],buffer2[16];

        printf("input name\n");
        scanf("%s",name);
                // tempa 代表eax,tempc代表ecx,tempd代表edx,t4050ac代表[4050ac]
        unsigned int tempa,tempc,tempd,t4050ac,i;

        tempa=name[0];
        tempc=name[1];

        tempc=tempa%tempc;
        tempa=0xFFFFFFFF;
        tempd=name[2];
        tempc*=tempd;
        tempc++;
        tempa=tempa/tempc;
        t4050ac=tempa;
        for(i=0;i<15;i++)
        {
                t4050ac=t4050ac*0x343fd+0x269ec3;
                tempa=t4050ac/65536&0x7FFF;
                buffer[i]=tempa%0x1a+0x41;
        }
        i=0;
        while(i<strlen(name))
        {
                tempd=name[i]/32*123;
                while(tempd>0)
                {
                        t4050ac=t4050ac*0x343fd+0x269ec3;
                        tempa=t4050ac/65536&0x7FFF;
                        tempd--;
                }
                t4050ac=t4050ac*0x343fd+0x269ec3;
                tempa=t4050ac/65536&0x7FFF;
                buffer2[i]=tempa%0x1a+0x41;
                i++;
        }
        buffer2[i]=NULL;
        printf("%s",buffer2);
}
2009-5-10 14:56
0
游客
登录 | 注册 方可回帖
返回
//