首页
社区
课程
招聘
这样做注册机,错在哪里呢?
发表于: 2004-12-22 01:14 5825

这样做注册机,错在哪里呢?

2004-12-22 01:14
5825
用Ollydbg调试软件找到如下代码
004040E0   . 6A 00          PUSH 0
004040E2   . 8BCE           MOV ECX,ESI
004040E4   . E8 4D040000    CALL <JMP.&MFC42.#6334>
004040E9   . 8B46 68        MOV EAX,DWORD PTR DS:[ESI+68]
004040EC   . 8D8C24 5C01000>LEA ECX,DWORD PTR SS:[ESP+15C]
004040F3   . 50             PUSH EAX                                 ; /Arg1
004040F4   . E8 E7F0FFFF    CALL JFSwitch.004031E0                   ; \JFSwitch.004031E0
004040F9   . 85C0           TEST EAX,EAX
004040FB   . 75 1C          JNZ SHORT JFSwitch.00404119
004040FD   . 50             PUSH EAX
004040FE   . 50             PUSH EAX
004040FF   . 68 A0834000    PUSH JFSwitch.004083A0                   ;  ASCII "Register Success!"
00404104   . C746 60 010000>MOV DWORD PTR DS:[ESI+60],1
0040410B   . E8 CC030000    CALL <JMP.&MFC42.#1200>
00404110   . 8BCE           MOV ECX,ESI
00404112   . E8 99020000    CALL <JMP.&MFC42.#4853>
00404117   . EB 15          JMP SHORT JFSwitch.0040412E
00404119   > 6A 00          PUSH 0
0040411B   . 6A 00          PUSH 0
0040411D   . 68 90834000    PUSH JFSwitch.00408390                   ;  ASCII "Register err!"

在4040F4处开中断得到以下提示
0012EF18   004040E9  JFSwitch.004040E9
0012EF1C   000A2C2A  \Arg1 = 000A2C2A
0012EF20   73DCFAE8  OFFSET MFC42.#4234
0012EF24   00406738  JFSwitch.00406738

用keymake1.73填入
中断地址:4040F4
中断次数:1
第一字节:E8
指令长度:5
选择内存方式:寄存器――〉EAX;ECX都不行

麻烦达人解答一下好吗?
附上天逸通用繁简转换工具1.0.  绿色软件附件:JFSwitch.rar

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

收藏
免费 1
支持
分享
最新回复 (8)
雪    币: 390
活跃值: (707)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
2
少用内存注册机……
2004-12-22 08:02
0
雪    币: 332
活跃值: (479)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
3
你看到的注册码在哪呢?
2004-12-22 09:50
0
雪    币: 107
活跃值: (55)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
是呀,注册码应该是在4040F4那个CALL里算出来的吧,
2004-12-22 10:14
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
5
超简单的注册算法:
SN(F(code^********)) ==机器码 then
2004-12-22 11:16
0
雪    币: 1192
活跃值: (1619)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
SN=(ID code XOR 11720707H)的十进制数
2004-12-22 11:42
0
雪    币: 1192
活跃值: (1619)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
进入此CALL[004040F4 . E8 E7F0FFFF CALL JFSwitch.004031E0] ;
*********CALL JFSwitch.004031E0**********
004031E0   /$  6A FF             push -1
004031E2   |.  68 6B4E4000       push JFSwitch.00404E6B                     ;
004031E7   |.  64:A1 00000000    mov eax,dword ptr fs:[0]
004031ED   |.  50                push eax
004031EE   |.  64:8925 00000000  mov dword ptr fs:[0],esp
004031F5   |.  81EC B0000000     sub esp,0B0
004031FB   |.  56                push esi
004031FC   |.  8BF1              mov esi,ecx
004031FE   |.  8D4C24 08         lea ecx,dword ptr ss:[esp+8]
00403202   |.  E8 01140000       call <jmp.&MFC42.#354_CFile::CFile>
00403207   |.  6A 0A             push 0A                                    ;
00403209   |.  6A 00             push 0                                     ;
0040320B   |.  6A 00             push 0                                     ;
0040320D   |.  8D4424 10         lea eax,dword ptr ss:[esp+10]              ; |
00403211   |.  6A 00             push 0                                     ;
00403213   |.  50                push eax                                   ;
00403214   |.  6A 0C             push 0C                                    ;
00403216   |.  6A 00             push 0                                     ;
00403218   |.  68 F8824000       push JFSwitch.004082F8                     ;
0040321D   |.  C78424 DC000000 0>mov dword ptr ss:[esp+DC],0                ; |
00403228   |.  FF15 10604000     call dword ptr ds:[<&KERNEL32.GetVolumeInf>;
0040322E   |.  8B5424 04         mov edx,dword ptr ss:[esp+4]
00403232   |.  8BB6 9C000000     mov esi,dword ptr ds:[esi+9C]
00403238   |.  6A 00             push 0
0040323A   |.  81F2 18019711     xor edx,11970118;得到机器码
00403240   |.  68 02800000       push 8002
00403245   |.  56                push esi
00403246   |.  8D4C24 14         lea ecx,dword ptr ss:[esp+14]
0040324A   |.  895424 10         mov dword ptr ss:[esp+10],edx
0040324E   |.  E8 AF130000       call <jmp.&MFC42.#5186_CFile::Open>
00403253   |.  85C0              test eax,eax
00403255   |.  5E                pop esi
00403256   |.  75 30             jnz short JFSwitch.00403288
00403258   |.  8D4C24 04         lea ecx,dword ptr ss:[esp+4]
0040325C   |.  C78424 B8000000 F>mov dword ptr ss:[esp+B8],-1
00403267   |.  E8 90130000       call <jmp.&MFC42.#665_CFile::~CFile>
0040326C   |.  B8 01000000       mov eax,1
00403271   |.  8B8C24 B0000000   mov ecx,dword ptr ss:[esp+B0]
00403278   |.  64:890D 00000000  mov dword ptr fs:[0],ecx
0040327F   |.  81C4 BC000000     add esp,0BC
00403285   |.  C2 0400           retn 4
00403288   |>  6A 02             push 2
0040328A   |.  68 64FFFFFF       push -9C
0040328F   |.  8D4C24 0C         lea ecx,dword ptr ss:[esp+C]
00403293   |.  E8 5E130000       call <jmp.&MFC42.#5773_CFile::Seek>
00403298   |.  8D4C24 14         lea ecx,dword ptr ss:[esp+14]
0040329C   |.  68 9C000000       push 9C
004032A1   |.  51                push ecx
004032A2   |.  8D4C24 0C         lea ecx,dword ptr ss:[esp+C]
004032A6   |.  E8 45130000       call <jmp.&MFC42.#5442_CFile::Read>
004032AB   |.  8B9424 C0000000   mov edx,dword ptr ss:[esp+C0]
004032B2   |.  8B4C24 00         mov ecx,dword ptr ss:[esp]
004032B6   |.  8BC2              mov eax,edx
004032B8   |.  35 07077211       xor eax,11720707;输入的注册码与11720707相异或
004032BD   |.  3BC1              cmp eax,ecx;比较与机器码是否相等
004032BF   |.  8B4424 38         mov eax,dword ptr ss:[esp+38]
004032C3   |.  74 64             je short JFSwitch.00403329;相等刚跳向成功处理
004032C5   |.  3BC1              cmp eax,ecx
004032C7   |.  74 27             je short JFSwitch.004032F0
004032C9   |.  894C24 38         mov dword ptr ss:[esp+38],ecx
004032CD   |.  6A 02             push 2
004032CF   |.  68 64FFFFFF       push -9C
004032D4   |.  8D4C24 0C         lea ecx,dword ptr ss:[esp+C]
004032D8   |.  E8 19130000       call <jmp.&MFC42.#5773_CFile::Seek>
2004-12-22 12:12
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
这样的加密用windows的计算器就可算出sn,呵呵。
2004-12-22 14:22
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
谢谢龙岱客等大虾的指导,呵呵.
以下为C语言的注册机

#include <stdio.h>
int main()
{
    unsigned long int a;
    printf("Please input your machine id:");
    scanf("%ld",&a);
    printf("Your register number is:%ld",a^292685575);
    getch();
}
2004-12-23 17:19
0
游客
登录 | 注册 方可回帖
返回
//