老文章档案 · 2003 年

rufeng教程 提高篇(4)

天下资讯 · 破解文章 · 2003-09-23 · 作者:人气: · 出处:赢政天下整理收藏)

好了,相信大家看了前三篇后都对于FxTools5.02和ImagXress3.0的注册码运算程式有了较全面的了解了,好了在这一章我们要为它们写注册机了,写注册机最重要是选择语言,用汇编当然是最好的,但对于要在内存里做一个表格,这对于一般的朋友来说,就会有些困难了,为了方便学习大家,所以我打算用tc20来写注册机,有人会问用basic行不行,我想有些软件的注册机可以,但大多不行。好了,现在我们来看一看如何用tc语言来写注册机吧!

首先,我们看一看tc语言和汇编语言的相似之处:

汇编 tc语言

mov =

and &

shr >>

shl <<

xor ^

add +

sub -

cmp if语句

jmp goto

or |

not ~

有了上面的语言符号,你是不是觉得把汇编变为c很容易呢,的确就是这么容易,只要你在编程时小心一点,不要输错,一般来说注册器是很容易编的。

现在我们来看一看如何来编Fxtools5.02注册机了,致于ImagXress3.0的注册机吗!只是密码不同而已,只要把密码一换就可以了,所以就不再重复了,这些工作大家自己完成吧!不过在这里我再次重申,我写注册机的目的只是为了学习的需要,一切人绝不能把它用作商业用途或其它一些非法的方面,否则一切后果由个人自负,如果有人不同意,就请不要看下去了,把本文章删除。

由第一章我们知道,我们必须为注册机先做一个表格,供程式查表。所以在这里,我采用了一个一维数组来完成这个表格。

static int sn0[1050]={0x00,0x00,0x00,0x00,0x96,0x30,0x07,0x77,0x2C,0x61,0x0E,0xEE,0xBA,0x51,0x09,0x99,

0x19,0xC4,0x6D,0x07,0x8F,0xF4,0x6A,0x70,0x35,0xA5,0x63,0xE9,0xA3,0x95,0x64,0x9E,

0x32,0x88,0xDB,0x0E,0xA4,0xB8,0xDC,0x79,0x1E,0xE9,0xD5,0xE0,0x88,0xD9,0xD2,0x97,

0x2B,0x4C,0xB6,0x09,0xBD,0x7C,0xB1,0x7E,0x07,0x2D,0xB8,0xE7,0x91,0x1D,0xBF,0x90,

0x64,0x10,0xB7,0x1D,0xF2,0x20,0xB0,0x6A,0x48,0x71,0xB9,0xF3,0xDE,0x41,0xBE,0x84,

0x7D,0xD4,0xDA,0x1A,0xEB,0xE4,0xDD,0x6D,0x51,0xB5,0xD4,0xF4,0xC7,0x85,0xD3,0x83,

0x56,0x98,0x6C,0x13,0xC0,0xA8,0x6B,0x64,0x7A,0xF9,0x62,0xFD,0xEC,0xC9,0x65,0x8A,

0x4F,0x5C,0x01,0x14,0xD9,0x6C,0x06,0x63,0x63,0x3D,0x0F,0xFA,0xF5,0x0D,0x08,0x8D,

0xC8,0x20,0x6E,0x3B,0x5E,0x10,0x69,0x4C,0xE4,0x41,0x60,0xD5,0x72,0x71,0x67,0xA2,

0xD1,0xE4,0x03,0x3C,0x47,0xD4,0x04,0x4B,0xFD,0x85,0x0D,0xD2,0x6B,0xB5,0x0A,0xA5,

0xFA,0xA8,0xB5,0x35,0x6C,0x98,0xB2,0x42,0xD6,0xC9,0xBB,0xDB,0x40,0xF9,0xBC,0xAC,

0xE3,0x6C,0xD8,0x32,0x75,0x5C,0xDF,0x45,0xCF,0x0D,0xD6,0xDC,0x59,0x3D,0xD1,0xAB,

0xAC,0x30,0xD9,0x26,0x3A,0x00,0xDE,0x51,0x80,0x51,0xD7,0xC8,0x16,0x61,0xD0,0xBF,

0xB5,0xF4,0xB4,0x21,0x23,0xC4,0xB3,0x56,0x99,0x95,0xBA,0xCF,0x0F,0xA5,0xBD,0xB8,

0x9E,0xB8,0x02,0x28,0x08,0x88,0x05,0x5F,0xB2,0xD9,0x0C,0xC6,0x24,0xE9,0x0B,0xB1,

0x87,0x7C,0x6F,0x2F,0x11,0x4C,0x68,0x58,0xAB,0x1D,0x61,0xC1,0x3D,0x2D,0x66,0xB6,

0x90,0x41,0xDC,0x76,0x06,0x71,0xDB,0x01,0xBC,0x20,0xD2,0x98,0x2A,0x10,0xD5,0xEF,

0x89,0x85,0xB1,0x71,0x1F,0xB5,0xB6,0x06,0xA5,0xE4,0xBF,0x9F,0x33,0xD4,0xB8,0xE8,

0xA2,0xC9,0x07,0x78,0x34,0xF9,0x00,0x0F,0x8E,0xA8,0x09,0x96,0x18,0x98,0x0E,0xE1,

0xBB,0x0D,0x6A,0x7F,0x2D,0x3D,0x6D,0x08,0x97,0x6C,0x64,0x91,0x01,0x5C,0x63,0xE6,

0xF4,0x51,0x6B,0x6B,0x62,0x61,0x6C,0x1C,0xD8,0x30,0x65,0x85,0x4E,0x00,0x62,0xF2,

0xED,0x95,0x06,0x6C,0x7B,0xA5,0x01,0x1B,0xC1,0xF4,0x08,0x82,0x57,0xC4,0x0F,0xF5,

0xC6,0xD9,0xB0,0x65,0x50,0xE9,0xB7,0x12,0xEA,0xB8,0xBE,0x8B,0x7C,0x88,0xB9,0xFC,

0xDF,0x1D,0xDD,0x62,0x49,0x2D,0xDA,0x15,0xF3,0x7C,0xD3,0x8C,0x65,0x4C,0xD4,0xFB,

0x58,0x61,0xB2,0x4D,0xCE,0x51,0xB5,0x3A,0x74,0x00,0xBC,0xA3,0xE2,0x30,0xBB,0xD4,

0x41,0xA5,0xDF,0x4A,0xD7,0x95,0xD8,0x3D,0x6D,0xC4,0xD1,0xA4,0xFB,0xF4,0xD6,0xD3,

0x6A,0xE9,0x69,0x43,0xFC,0xD9,0x6E,0x34,0x46,0x88,0x67,0xAD,0xD0,0xB8,0x60,0xDA,

0x73,0x2D,0x04,0x44,0xE5,0x1D,0x03,0x33,0x5F,0x4C,0x0A,0xAA,0xC9,0x7C,0x0D,0xDD,

0x3C,0x71,0x05,0x50,0xAA,0x41,0x02,0x27,0x10,0x10,0x0B,0xBE,0x86,0x20,0x0C,0xC9,

0x25,0xB5,0x68,0x57,0xB3,0x85,0x6F,0x20,0x09,0xD4,0x66,0xB9,0x9F,0xE4,0x61,0xCE,

0x0E,0xF9,0xDE,0x5E,0x98,0xC9,0xD9,0x29,0x22,0x98,0xD0,0xB0,0xB4,0xA8,0xD7,0xC7,

0x17,0x3D,0xB3,0x59,0x81,0x0D,0xB4,0x2E,0x3B,0x5C,0xBD,0xB7,0xAD,0x6C,0xBA,0xC0,

0x20,0x83,0xB8,0xED,0xB6,0xB3,0xBF,0x9A,0x0C,0xE2,0xB6,0x03,0x9A,0xD2,0xB1,0x74,

0x39,0x47,0xD5,0xEA,0xAF,0x77,0xD2,0x9D,0x15,0x26,0xDB,0x04,0x83,0x16,0xDC,0x73,

0x12,0x0B,0x63,0xE3,0x84,0x3B,0x64,0x94,0x3E,0x6A,0x6D,0x0D,0xA8,0x5A,0x6A,0x7A,

0x0B,0xCF,0x0E,0xE4,0x9D,0xFF,0x09,0x93,0x27,0xAE,0x00,0x0A,0xB1,0x9E,0x07,0x7D,

0x44,0x93,0x0F,0xF0,0xD2,0xA3,0x08,0x87,0x68,0xF2,0x01,0x1E,0xFE,0xC2,0x06,0x69,

0x5D,0x57,0x62,0xF7,0xCB,0x67,0x65,0x80,0x71,0x36,0x6C,0x19,0xE7,0x06,0x6B,0x6E,

0x76,0x1B,0xD4,0xFE,0xE0,0x2B,0xD3,0x89,0x5A,0x7A,0xDA,0x10,0xCC,0x4A,0xDD,0x67,

0x6F,0xDF,0xB9,0xF9,0xF9,0xEF,0xBE,0x8E,0x43,0xBE,0xB7,0x17,0xD5,0x8E,0xB0,0x60,

0xE8,0xA3,0xD6,0xD6,0x7E,0x93,0xD1,0xA1,0xC4,0xC2,0xD8,0x38,0x52,0xF2,0xDF,0x4F,

0xF1,0x67,0xBB,0xD1,0x67,0x57,0xBC,0xA6,0xDD,0x06,0xB5,0x3F,0x4B,0x36,0xB2,0x48,

0xDA,0x2B,0x0D,0xD8,0x4C,0x1B,0x0A,0xAF,0xF6,0x4A,0x03,0x36,0x60,0x7A,0x04,0x41,

0xC3,0xEF,0x60,0xDF,0x55,0xDF,0x67,0xA8,0xEF,0x8E,0x6E,0x31,0x79,0xBE,0x69,0x46,

0x8C,0xB3,0x61,0xCB,0x1A,0x83,0x66,0xBC,0xA0,0xD2,0x6F,0x25,0x36,0xE2,0x68,0x52,

0x95,0x77,0x0C,0xCC,0x03,0x47,0x0B,0xBB,0xB9,0x16,0x02,0x22,0x2F,0x26,0x05,0x55,

0xBE,0x3B,0xBA,0xC5,0x28,0x0B,0xBD,0xB2,0x92,0x5A,0xB4,0x2B,0x04,0x6A,0xB3,0x5C,

0xA7,0xFF,0xD7,0xC2,0x31,0xCF,0xD0,0xB5,0x8B,0x9E,0xD9,0x2C,0x1D,0xAE,0xDE,0x5B,

0xB0,0xC2,0x64,0x9B,0x26,0xF2,0x63,0xEC,0x9C,0xA3,0x6A,0x75,0x0A,0x93,0x6D,0x02,

0xA9,0x06,0x09,0x9C,0x3F,0x36,0x0E,0xEB,0x85,0x67,0x07,0x72,0x13,0x57,0x00,0x05,

0x82,0x4A,0xBF,0x95,0x14,0x7A,0xB8,0xE2,0xAE,0x2B,0xB1,0x7B,0x38,0x1B,0xB6,0x0C,

0x9B,0x8E,0xD2,0x92,0x0D,0xBE,0xD5,0xE5,0xB7,0xEF,0xDC,0x7C,0x21,0xDF,0xDB,0x0B,

0xD4,0xD2,0xD3,0x86,0x42,0xE2,0xD4,0xF1,0xF8,0xB3,0xDD,0x68,0x6E,0x83,0xDA,0x1F,

0xCD,0x16,0xBE,0x81,0x5B,0x26,0xB9,0xF6,0xE1,0x77,0xB0,0x6F,0x77,0x47,0xB7,0x18,

0xE6,0x5A,0x08,0x88,0x70,0x6A,0x0F,0xFF,0xCA,0x3B,0x06,0x66,0x5C,0x0B,0x01,0x11,

0xFF,0x9E,0x65,0x8F,0x69,0xAE,0x62,0xF8,0xD3,0xFF,0x6B,0x61,0x45,0xCF,0x6C,0x16,

0x78,0xE2,0x0A,0xA0,0xEE,0xD2,0x0D,0xD7,0x54,0x83,0x04,0x4E,0xC2,0xB3,0x03,0x39,

0x61,0x26,0x67,0xA7,0xF7,0x16,0x60,0xD0,0x4D,0x47,0x69,0x49,0xDB,0x77,0x6E,0x3E,

0x4A,0x6A,0xD1,0xAE,0xDC,0x5A,0xD6,0xD9,0x66,0x0B,0xDF,0x40,0xF0,0x3B,0xD8,0x37,

0x53,0xAE,0xBC,0xA9,0xC5,0x9E,0xBB,0xDE,0x7F,0xCF,0xB2,0x47,0xE9,0xFF,0xB5,0x30,

0x1C,0xF2,0xBD,0xBD,0x8A,0xC2,0xBA,0xCA,0x30,0x93,0xB3,0x53,0xA6,0xA3,0xB4,0x24,

0x05,0x36,0xD0,0xBA,0x93,0x06,0xD7,0xCD,0x29,0x57,0xDE,0x54,0xBF,0x67,0xD9,0x23,

0x2E,0x7A,0x66,0xB3,0xB8,0x4A,0x61,0xC4,0x02,0x1B,0x68,0x5D,0x94,0x2B,0x6F,0x2A,

0x37,0xBE,0x0B,0xB4,0xA1,0x8E,0x0C,0xC3,0x1B,0xDF,0x05,0x5A,0x8D,0xEF,0x02,0x2D

};

看了这个数组,大家是否会问,你是如何生成这个数组的,是一个一个地输入去吗?这个当然不是了,如果这样,这工作可要请老兄你来做了,这注册机我是绝对不会做了。哈。哈。。。。。。

既然大家问到,我就顺便说一说吧!首先大家看一看第一章的表1,为了方便,我copy到这里来了。

附表1.

013F:01446000 00 00 00 00 96 30 07 77-2C 61 0E EE BA 51 09 99 .....0.w,a...Q..

013F:01446010 19 C4 6D 07 8F F4 6A 70-35 A5 63 E9 A3 95 64 9E ..m...jp5.c...d.

013F:01446020 32 88 DB 0E A4 B8 DC 79-1E E9 D5 E0 88 D9 D2 97 2......y........

013F:01446030 2B 4C B6 09 BD 7C B1 7E-07 2D B8 E7 91 1D BF 90 +L...|.~.-......

013F:01446040 64 10 B7 1D F2 20 B0 6A-48 71 B9 F3 DE 41 BE 84 d.... .jHq...A..

013F:01446050 7D D4 DA 1A EB E4 DD 6D-51 B5 D4 F4 C7 85 D3 83 }......mQ.......

013F:01446060 56 98 6C 13 C0 A8 6B 64-7A F9 62 FD EC C9 65 8A V.l...kdz.b...e.

013F:01446070 4F 5C 01 14 D9 6C 06 63-63 3D 0F FA F5 0D 08 8D O\...l.cc=......

013F:01446080 C8 20 6E 3B 5E 10 69 4C-E4 41 60 D5 72 71 67 A2 . n;^.iL.A`.rqg.

013F:01446090 D1 E4 03 3C 47 D4 04 4B-FD 85 0D D2 6B B5 0A A5 ...<G..K....k...

013F:014460A0 FA A8 B5 35 6C 98 B2 42-D6 C9 BB DB 40 F9 BC AC ...5l..B....@...

013F:014460B0 E3 6C D8 32 75 5C DF 45-CF 0D D6 DC 59 3D D1 AB .l.2u\.E....Y=..

013F:014460C0 AC 30 D9 26 3A 00 DE 51-80 51 D7 C8 16 61 D0 BF .0.&:..Q.Q...a..

013F:014460D0 B5 F4 B4 21 23 C4 B3 56-99 95 BA CF 0F A5 BD B8 ...!#..V........

013F:014460E0 9E B8 02 28 08 88 05 5F-B2 D9 0C C6 24 E9 0B B1 ...(..._....$...

013F:014460F0 87 7C 6F 2F 11 4C 68 58-AB 1D 61 C1 3D 2D 66 B6 .|o/.LhX..a.=-f.

013F:01446100 90 41 DC 76 06 71 DB 01-BC 20 D2 98 2A 10 D5 EF .A.v.q... ..*...

013F:01446110 89 85 B1 71 1F B5 B6 06-A5 E4 BF 9F 33 D4 B8 E8 ...q........3...

013F:01446120 A2 C9 07 78 34 F9 00 0F-8E A8 09 96 18 98 0E E1 ...x4...........

013F:01446130 BB 0D 6A 7F 2D 3D 6D 08-97 6C 64 91 01 5C 63 E6 ..j-=m..ld..\c.

013F:01446140 F4 51 6B 6B 62 61 6C 1C-D8 30 65 85 4E 00 62 F2 .Qkkbal..0e.N.b.

013F:01446150 ED 95 06 6C 7B A5 01 1B-C1 F4 08 82 57 C4 0F F5 ...l{.......W...

013F:01446160 C6 D9 B0 65 50 E9 B7 12-EA B8 BE 8B 7C 88 B9 FC ...eP.......|...

013F:01446170 DF 1D DD 62 49 2D DA 15-F3 7C D3 8C 65 4C D4 FB ...bI-...|..eL..

013F:01446180 58 61 B2 4D CE 51 B5 3A-74 00 BC A3 E2 30 BB D4 Xa.M.Q.:t....0..

013F:01446190 41 A5 DF 4A D7 95 D8 3D-6D C4 D1 A4 FB F4 D6 D3 A..J...=m.......

013F:014461A0 6A E9 69 43 FC D9 6E 34-46 88 67 AD D0 B8 60 DA j.iC..n4F.g...`.

013F:014461B0 73 2D 04 44 E5 1D 03 33-5F 4C 0A AA C9 7C 0D DD s-.D...3_L...|..

013F:014461C0 3C 71 05 50 AA 41 02 27-10 10 0B BE 86 20 0C C9 <q.P.A.'..... ..

013F:014461D0 25 B5 68 57 B3 85 6F 20-09 D4 66 B9 9F E4 61 CE %.hW..o ..f...a.

013F:014461E0 0E F9 DE 5E 98 C9 D9 29-22 98 D0 B0 B4 A8 D7 C7 ...^...)".......

013F:014461F0 17 3D B3 59 81 0D B4 2E-3B 5C BD B7 AD 6C BA C0 .=.Y....;\...l..

013F:01446200 20 83 B8 ED B6 B3 BF 9A-0C E2 B6 03 9A D2 B1 74 ..............t

013F:01446210 39 47 D5 EA AF 77 D2 9D-15 26 DB 04 83 16 DC 73 9G...w...&.....s

013F:01446220 12 0B 63 E3 84 3B 64 94-3E 6A 6D 0D A8 5A 6A 7A ..c..;d.>jm..Zjz

013F:01446230 0B CF 0E E4 9D FF 09 93-27 AE 00 0A B1 9E 07 7D ........'......}

013F:01446240 44 93 0F F0 D2 A3 08 87-68 F2 01 1E FE C2 06 69 D.......h......i

013F:01446250 5D 57 62 F7 CB 67 65 80-71 36 6C 19 E7 06 6B 6E ]Wb..ge.q6l...kn

013F:01446260 76 1B D4 FE E0 2B D3 89-5A 7A DA 10 CC 4A DD 67 v....+..Zz...J.g

013F:01446270 6F DF B9 F9 F9 EF BE 8E-43 BE B7 17 D5 8E B0 60 o.......C......`

013F:01446280 E8 A3 D6 D6 7E 93 D1 A1-C4 C2 D8 38 52 F2 DF 4F ....~......8R..O

013F:01446290 F1 67 BB D1 67 57 BC A6-DD 06 B5 3F 4B 36 B2 48 .g..gW.....?K6.H

013F:014462A0 DA 2B 0D D8 4C 1B 0A AF-F6 4A 03 36 60 7A 04 41 .+..L....J.6`z.A

013F:014462B0 C3 EF 60 DF 55 DF 67 A8-EF 8E 6E 31 79 BE 69 46 ..`.U.g...n1y.iF

013F:014462C0 8C B3 61 CB 1A 83 66 BC-A0 D2 6F 25 36 E2 68 52 ..a...f...o%6.hR

013F:014462D0 95 77 0C CC 03 47 0B BB-B9 16 02 22 2F 26 05 55 .w...G....."/&.U

013F:014462E0 BE 3B BA C5 28 0B BD B2-92 5A B4 2B 04 6A B3 5C .;..(....Z.+.j.\

013F:014462F0 A7 FF D7 C2 31 CF D0 B5-8B 9E D9 2C 1D AE DE 5B ....1......,...[

013F:01446300 B0 C2 64 9B 26 F2 63 EC-9C A3 6A 75 0A 93 6D 02 ..d.&.c...ju..m.

013F:01446310 A9 06 09 9C 3F 36 0E EB-85 67 07 72 13 57 00 05 ....?6...g.r.W..

013F:01446320 82 4A BF 95 14 7A B8 E2-AE 2B B1 7B 38 1B B6 0C .J...z...+.{8...

013F:01446330 9B 8E D2 92 0D BE D5 E5-B7 EF DC 7C 21 DF DB 0B ...........|!...

013F:01446340 D4 D2 D3 86 42 E2 D4 F1-F8 B3 DD 68 6E 83 DA 1F ....B......hn...

013F:01446350 CD 16 BE 81 5B 26 B9 F6-E1 77 B0 6F 77 47 B7 18 ....[&...w.owG..

013F:01446360 E6 5A 08 88 70 6A 0F FF-CA 3B 06 66 5C 0B 01 11 .Z..pj...;.f\...

013F:01446370 FF 9E 65 8F 69 AE 62 F8-D3 FF 6B 61 45 CF 6C 16 ..e.i.b...kaE.l.

013F:01446380 78 E2 0A A0 EE D2 0D D7-54 83 04 4E C2 B3 03 39 x.......T..N...9

013F:01446390 61 26 67 A7 F7 16 60 D0-4D 47 69 49 DB 77 6E 3E a&g...`.MGiI.wn>

013F:014463A0 4A 6A D1 AE DC 5A D6 D9-66 0B DF 40 F0 3B D8 37 Jj...Z..f..@.;.7

013F:014463B0 53 AE BC A9 C5 9E BB DE-7F CF B2 47 E9 FF B5 30 S.........G...0

013F:014463C0 1C F2 BD BD 8A C2 BA CA-30 93 B3 53 A6 A3 B4 24 ........0..S...$

013F:014463D0 05 36 D0 BA 93 06 D7 CD-29 57 DE 54 BF 67 D9 23 .6......)W.T.g.#

013F:014463E0 2E 7A 66 B3 B8 4A 61 C4-02 1B 68 5D 94 2B 6F 2A .zf..Ja...h].+o*

013F:014463F0 37 BE 0B B4 A1 8E 0C C3-1B DF 05 5A 8D EF 02 2D 7..........Z...-

首先,我是用VB编了一个程式,把前面的地址和后面的ASCII部分都删去了,在每个十六进制数前补0x,最后连中间的-号也删去了,对于我编的VB程式,我会把它修改一下放上来到时大家就不用管了,用软件生成这个数组好了。

好了,到了第二部分了,为了说明的方便,我就按原程式来用TC编,一部分对一部分这样大家就可以很容易地看出来了,思路也比较清楚。

首先我们来编call 0144100里的程序:

大家看一下原程序如下:

:CALL 01441000

0137:01441000 MOV EAX,[01449290] 把sn1送EAX

0137:01441005 MOV EDX,[ESP+04] 重取字母

0137:01441009 MOV ECX,EAX 把sn1送ECX

0137:0144100B AND ECX,000000FF 取出CL来

0137:01441011 XOR ECX,EDX CL与字母XOR

0137:01441013 SHR EAX,08 EAX右移8位

0137:01441016 MOV EDX,[ECX*4+01446000] 查表

0137:0144101D XOR EDX,EAX EAX与字母XOR后放回EDX

0137:0144101F MOV [01449290],EDX EDX送回sn1

0137:01441025 RET

为了方便,变量我们用原来的变量,但为了不会冲突,我在所有的

变量后面都加上1,这样就没问题了。

说明:eax1为eax,ecx1为ecx,edx1为edx,sn1为[01449290],name[i]为[esp+04]

l为字符串的长度。

for(;i<l;i++)

{

eax1=0;

eax1=sn1; mov eax,[01449290]

edx1=name[i]; mov edx,[esp+04]

ecx1=eax1; mov ecx,eax

ecx1=ecx1&0xff; and ecx,000000ff

ecx1=ecx1^edx1; xor ecx,edx

eax1=eax1>>8; shr eax,08

t1=sn0[ecx1*4];

t2=sn0[ecx1*4+1];

t3=sn0[ecx1*4+2];

t4=sn0[ecx1*4+3];

t2=t2<<8;

t3=t3<<16;

t4=t4<<24;

edx1=t1+t2+t3+t4; mov edx,[ecx*4+01446000]

edx1=edx1^eax1; xor edx,eax

sn1=edx1; mov [01449290],edx

}

看完上面的程式变换,大家是不是觉得用tc来编注册机太方便了,所以下面的部分我就不说明了,大家自己看吧!

unsigned long esi1=0,nam=0,com=0,ema=0,ser=0,reg=0;

static int a1[7];

int i=0,l1=0,t=0,test=0,k=0;

char name1[15],name2[15],name3[15],name4[22];

printf("Registration Name:"); /*输入部分*/

gets(name1);

printf("Orgamination Name:");

gets(name2);

printf("E-mail Address:");

gets(name3);

printf("Serial Number:");

gets(name4);

l1=strlen(name1); /*计算部分*/

nam=call1(name1,nam,l1);

l1=strlen(name2);

com=call1(name2,nam,l1);

l1=strlen(name3);

ema=call1(name3,com,l1);

l1=strlen(name4);

for(k=0;k<=l1;k++) /*变换字母部分*/

{

if((name4[k]<123) && (name4[k]>96)) name4[k]=name4[k]-32;

}

ser=call1(name4,ema,l1);

a1[0]=0; /*逆算注册码部分*/

for(i=0;ser-a1[i]>=35;i++)

{

a1[i]=ser%35;

ser=(ser-a1[i])/35;

}

if (ser!=0)

{a1[i]=ser;

i=i+1;

}

for(t=0;t<i;t++) /*格式整理输出部分*/

{

test=a1[t];

if (a1[t]>=24)

{a1[t]=a1[t]+1;

}

if (a1[t]>=10) a1[t]=a1[t]+55;

if (a1[t]<10) a1[t]=a1[t]+48;

}

printf("Registration:");

for(t=i;t>=0;t--)

{

printf("%c",a1[t]);

}

好我到此为止,我们介绍了注册机的编程过程了,对于一个注册机的编制有了一定的了解,我想自这刻起,大家都步入了一个更高的水平吧!要知,对于一个Cracker来说,最高的目标不是破解程式的本身,而是把人家的程式分析透彻,从而写出注册机,这时的满足感是无法形容的。

好了,下面是完整的注册机程式了,可在TC2.0下编译通过。

unsigned long call1(name,sn1,l)

char name[];

unsigned long sn1;

int l;

{

unsigned long eax1=0,ecx1=0,esi1=0,edx1=0,code=0,t1=0,t2=0,t3=0,t4=0;

int esp4=0,i=0;

static int sn0[1050]={0x00,0x00,0x00,0x00,0x96,0x30,0x07,0x77,0x2C,0x61,0x0E,0xEE,0xBA,0x51,0x09,0x99,

0x19,0xC4,0x6D,0x07,0x8F,0xF4,0x6A,0x70,0x35,0xA5,0x63,0xE9,0xA3,0x95,0x64,0x9E,

0x32,0x88,0xDB,0x0E,0xA4,0xB8,0xDC,0x79,0x1E,0xE9,0xD5,0xE0,0x88,0xD9,0xD2,0x97,

0x2B,0x4C,0xB6,0x09,0xBD,0x7C,0xB1,0x7E,0x07,0x2D,0xB8,0xE7,0x91,0x1D,0xBF,0x90,

0x64,0x10,0xB7,0x1D,0xF2,0x20,0xB0,0x6A,0x48,0x71,0xB9,0xF3,0xDE,0x41,0xBE,0x84,

0x7D,0xD4,0xDA,0x1A,0xEB,0xE4,0xDD,0x6D,0x51,0xB5,0xD4,0xF4,0xC7,0x85,0xD3,0x83,

0x56,0x98,0x6C,0x13,0xC0,0xA8,0x6B,0x64,0x7A,0xF9,0x62,0xFD,0xEC,0xC9,0x65,0x8A,

0x4F,0x5C,0x01,0x14,0xD9,0x6C,0x06,0x63,0x63,0x3D,0x0F,0xFA,0xF5,0x0D,0x08,0x8D,

0xC8,0x20,0x6E,0x3B,0x5E,0x10,0x69,0x4C,0xE4,0x41,0x60,0xD5,0x72,0x71,0x67,0xA2,

0xD1,0xE4,0x03,0x3C,0x47,0xD4,0x04,0x4B,0xFD,0x85,0x0D,0xD2,0x6B,0xB5,0x0A,0xA5,

0xFA,0xA8,0xB5,0x35,0x6C,0x98,0xB2,0x42,0xD6,0xC9,0xBB,0xDB,0x40,0xF9,0xBC,0xAC,

0xE3,0x6C,0xD8,0x32,0x75,0x5C,0xDF,0x45,0xCF,0x0D,0xD6,0xDC,0x59,0x3D,0xD1,0xAB,

0xAC,0x30,0xD9,0x26,0x3A,0x00,0xDE,0x51,0x80,0x51,0xD7,0xC8,0x16,0x61,0xD0,0xBF,

0xB5,0xF4,0xB4,0x21,0x23,0xC4,0xB3,0x56,0x99,0x95,0xBA,0xCF,0x0F,0xA5,0xBD,0xB8,

0x9E,0xB8,0x02,0x28,0x08,0x88,0x05,0x5F,0xB2,0xD9,0x0C,0xC6,0x24,0xE9,0x0B,0xB1,

0x87,0x7C,0x6F,0x2F,0x11,0x4C,0x68,0x58,0xAB,0x1D,0x61,0xC1,0x3D,0x2D,0x66,0xB6,

0x90,0x41,0xDC,0x76,0x06,0x71,0xDB,0x01,0xBC,0x20,0xD2,0x98,0x2A,0x10,0xD5,0xEF,

0x89,0x85,0xB1,0x71,0x1F,0xB5,0xB6,0x06,0xA5,0xE4,0xBF,0x9F,0x33,0xD4,0xB8,0xE8,

0xA2,0xC9,0x07,0x78,0x34,0xF9,0x00,0x0F,0x8E,0xA8,0x09,0x96,0x18,0x98,0x0E,0xE1,

0xBB,0x0D,0x6A,0x7F,0x2D,0x3D,0x6D,0x08,0x97,0x6C,0x64,0x91,0x01,0x5C,0x63,0xE6,

0xF4,0x51,0x6B,0x6B,0x62,0x61,0x6C,0x1C,0xD8,0x30,0x65,0x85,0x4E,0x00,0x62,0xF2,

0xED,0x95,0x06,0x6C,0x7B,0xA5,0x01,0x1B,0xC1,0xF4,0x08,0x82,0x57,0xC4,0x0F,0xF5,

0xC6,0xD9,0xB0,0x65,0x50,0xE9,0xB7,0x12,0xEA,0xB8,0xBE,0x8B,0x7C,0x88,0xB9,0xFC,

0xDF,0x1D,0xDD,0x62,0x49,0x2D,0xDA,0x15,0xF3,0x7C,0xD3,0x8C,0x65,0x4C,0xD4,0xFB,

0x58,0x61,0xB2,0x4D,0xCE,0x51,0xB5,0x3A,0x74,0x00,0xBC,0xA3,0xE2,0x30,0xBB,0xD4,

0x41,0xA5,0xDF,0x4A,0xD7,0x95,0xD8,0x3D,0x6D,0xC4,0xD1,0xA4,0xFB,0xF4,0xD6,0xD3,

0x6A,0xE9,0x69,0x43,0xFC,0xD9,0x6E,0x34,0x46,0x88,0x67,0xAD,0xD0,0xB8,0x60,0xDA,

0x73,0x2D,0x04,0x44,0xE5,0x1D,0x03,0x33,0x5F,0x4C,0x0A,0xAA,0xC9,0x7C,0x0D,0xDD,

0x3C,0x71,0x05,0x50,0xAA,0x41,0x02,0x27,0x10,0x10,0x0B,0xBE,0x86,0x20,0x0C,0xC9,

0x25,0xB5,0x68,0x57,0xB3,0x85,0x6F,0x20,0x09,0xD4,0x66,0xB9,0x9F,0xE4,0x61,0xCE,

0x0E,0xF9,0xDE,0x5E,0x98,0xC9,0xD9,0x29,0x22,0x98,0xD0,0xB0,0xB4,0xA8,0xD7,0xC7,

0x17,0x3D,0xB3,0x59,0x81,0x0D,0xB4,0x2E,0x3B,0x5C,0xBD,0xB7,0xAD,0x6C,0xBA,0xC0,

0x20,0x83,0xB8,0xED,0xB6,0xB3,0xBF,0x9A,0x0C,0xE2,0xB6,0x03,0x9A,0xD2,0xB1,0x74,

0x39,0x47,0xD5,0xEA,0xAF,0x77,0xD2,0x9D,0x15,0x26,0xDB,0x04,0x83,0x16,0xDC,0x73,

0x12,0x0B,0x63,0xE3,0x84,0x3B,0x64,0x94,0x3E,0x6A,0x6D,0x0D,0xA8,0x5A,0x6A,0x7A,

0x0B,0xCF,0x0E,0xE4,0x9D,0xFF,0x09,0x93,0x27,0xAE,0x00,0x0A,0xB1,0x9E,0x07,0x7D,

0x44,0x93,0x0F,0xF0,0xD2,0xA3,0x08,0x87,0x68,0xF2,0x01,0x1E,0xFE,0xC2,0x06,0x69,

0x5D,0x57,0x62,0xF7,0xCB,0x67,0x65,0x80,0x71,0x36,0x6C,0x19,0xE7,0x06,0x6B,0x6E,

0x76,0x1B,0xD4,0xFE,0xE0,0x2B,0xD3,0x89,0x5A,0x7A,0xDA,0x10,0xCC,0x4A,0xDD,0x67,

0x6F,0xDF,0xB9,0xF9,0xF9,0xEF,0xBE,0x8E,0x43,0xBE,0xB7,0x17,0xD5,0x8E,0xB0,0x60,

0xE8,0xA3,0xD6,0xD6,0x7E,0x93,0xD1,0xA1,0xC4,0xC2,0xD8,0x38,0x52,0xF2,0xDF,0x4F,

0xF1,0x67,0xBB,0xD1,0x67,0x57,0xBC,0xA6,0xDD,0x06,0xB5,0x3F,0x4B,0x36,0xB2,0x48,

0xDA,0x2B,0x0D,0xD8,0x4C,0x1B,0x0A,0xAF,0xF6,0x4A,0x03,0x36,0x60,0x7A,0x04,0x41,

0xC3,0xEF,0x60,0xDF,0x55,0xDF,0x67,0xA8,0xEF,0x8E,0x6E,0x31,0x79,0xBE,0x69,0x46,

0x8C,0xB3,0x61,0xCB,0x1A,0x83,0x66,0xBC,0xA0,0xD2,0x6F,0x25,0x36,0xE2,0x68,0x52,

0x95,0x77,0x0C,0xCC,0x03,0x47,0x0B,0xBB,0xB9,0x16,0x02,0x22,0x2F,0x26,0x05,0x55,

0xBE,0x3B,0xBA,0xC5,0x28,0x0B,0xBD,0xB2,0x92,0x5A,0xB4,0x2B,0x04,0x6A,0xB3,0x5C,

0xA7,0xFF,0xD7,0xC2,0x31,0xCF,0xD0,0xB5,0x8B,0x9E,0xD9,0x2C,0x1D,0xAE,0xDE,0x5B,

0xB0,0xC2,0x64,0x9B,0x26,0xF2,0x63,0xEC,0x9C,0xA3,0x6A,0x75,0x0A,0x93,0x6D,0x02,

0xA9,0x06,0x09,0x9C,0x3F,0x36,0x0E,0xEB,0x85,0x67,0x07,0x72,0x13,0x57,0x00,0x05,

0x82,0x4A,0xBF,0x95,0x14,0x7A,0xB8,0xE2,0xAE,0x2B,0xB1,0x7B,0x38,0x1B,0xB6,0x0C,

0x9B,0x8E,0xD2,0x92,0x0D,0xBE,0xD5,0xE5,0xB7,0xEF,0xDC,0x7C,0x21,0xDF,0xDB,0x0B,

0xD4,0xD2,0xD3,0x86,0x42,0xE2,0xD4,0xF1,0xF8,0xB3,0xDD,0x68,0x6E,0x83,0xDA,0x1F,

0xCD,0x16,0xBE,0x81,0x5B,0x26,0xB9,0xF6,0xE1,0x77,0xB0,0x6F,0x77,0x47,0xB7,0x18,

0xE6,0x5A,0x08,0x88,0x70,0x6A,0x0F,0xFF,0xCA,0x3B,0x06,0x66,0x5C,0x0B,0x01,0x11,

0xFF,0x9E,0x65,0x8F,0x69,0xAE,0x62,0xF8,0xD3,0xFF,0x6B,0x61,0x45,0xCF,0x6C,0x16,

0x78,0xE2,0x0A,0xA0,0xEE,0xD2,0x0D,0xD7,0x54,0x83,0x04,0x4E,0xC2,0xB3,0x03,0x39,

0x61,0x26,0x67,0xA7,0xF7,0x16,0x60,0xD0,0x4D,0x47,0x69,0x49,0xDB,0x77,0x6E,0x3E,

0x4A,0x6A,0xD1,0xAE,0xDC,0x5A,0xD6,0xD9,0x66,0x0B,0xDF,0x40,0xF0,0x3B,0xD8,0x37,

0x53,0xAE,0xBC,0xA9,0xC5,0x9E,0xBB,0xDE,0x7F,0xCF,0xB2,0x47,0xE9,0xFF,0xB5,0x30,

0x1C,0xF2,0xBD,0xBD,0x8A,0xC2,0xBA,0xCA,0x30,0x93,0xB3,0x53,0xA6,0xA3,0xB4,0x24,

0x05,0x36,0xD0,0xBA,0x93,0x06,0xD7,0xCD,0x29,0x57,0xDE,0x54,0xBF,0x67,0xD9,0x23,

0x2E,0x7A,0x66,0xB3,0xB8,0x4A,0x61,0xC4,0x02,0x1B,0x68,0x5D,0x94,0x2B,0x6F,0x2A,

0x37,0xBE,0x0B,0xB4,0xA1,0x8E,0x0C,0xC3,0x1B,0xDF,0x05,0x5A,0x8D,0xEF,0x02,0x2D

};

for(;i<l;i++)

{

eax1=0;

eax1=sn1;

edx1=name[i];

ecx1=eax1;

ecx1=ecx1&0xff;

ecx1=ecx1^edx1;

eax1=eax1>>8;

t1=sn0[ecx1*4];

t2=sn0[ecx1*4+1];

t3=sn0[ecx1*4+2];

t4=sn0[ecx1*4+3];

t2=t2<<8;

t3=t3<<16;

t4=t4<<24;

edx1=t1+t2+t3+t4;

edx1=edx1^eax1;

sn1=edx1;

}

return(sn1);

}

main()

{

unsigned long esi1=0,nam=0,com=0,ema=0,ser=0,reg=0;

static int a1[7];

int i=0,l1=0,t=0,test=0,k=0;

char name1[15],name2[15],name3[15],name4[22];

printf("Registration Name:");

gets(name1);

printf("Orgamination Name:");

gets(name2);

printf("E-mail Address:");

gets(name3);

printf("Serial Number:");

gets(name4);

l1=strlen(name1);

nam=call1(name1,nam,l1);

l1=strlen(name2);

com=call1(name2,nam,l1);

l1=strlen(name3);

ema=call1(name3,com,l1);

l1=strlen(name4);

for(k=0;k<=l1;k++)

{

if((name4[k]<123) && (name4[k]>96)) name4[k]=name4[k]-32;

}

ser=call1(name4,ema,l1);

a1[0]=0;

for(i=0;ser-a1[i]>=35;i++)

{

a1[i]=ser%35;

ser=(ser-a1[i])/35;

}

if (ser!=0)

{a1[i]=ser;

i=i+1;

}

for(t=0;t<i;t++)

{

test=a1[t];

if (a1[t]>=24)

{a1[t]=a1[t]+1;

}

if (a1[t]>=10) a1[t]=a1[t]+55;

if (a1[t]<10) a1[t]=a1[t]+48;

}

printf("Registration:");

for(t=i;t>=0;t--)

{

printf("%c",a1[t]);

}

}

但大家有没有发现,上面的程式还没有用,相信大家一定看了第二和第三章了知道这两个软件是靠密码来检查是否注册的,注册码只是帮助输入密码的工具。不过我不准备再写注册机了,因为只要找到一个合适的密码就可以用了,如果大家想提高自己你水平,也可以把算密码的程式写出来,但小弟最近太忙,没时间写

这程式了,如果有人写出来了,请给小弟Email一份过来,最好和原程式一起,等小弟补上去。

好了,以上就是一个软件从破解到写出注册机的过程,很艰辛吧!的确,crack软件就是这么辛苦的了,由于小弟水平有限,可能会有所错漏,请各位多多包函了。

文章也写了《初学者入门》和《提高篇》的四篇了,但由于到目前为止,还没有收到有人对文章的意见,所以在这里问一问,大家看了这么几篇文章后,是否有所感想,如有什么话想说,请来信指教。

(出处:赢政天下整理收藏)

相关资讯:

相关软件:

→ 特别推荐

→ 热点TOP10

我为人人《《==》》人人为我

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright ? 1998-2003 winzheng.com

All Rights Reserved.

特别感谢 蓝芒科技 提供下载站及论坛服务器

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史