Nisy 发表于 2007-8-12 01:46:49

手机图片电子书籍生成器 V4.0 注册分析

软件大小: 183 KB
软件语言: 简体中文
软件类别: 国产软件 / 共享版 / 电子阅读
应用平台: Win9x/NT/2000/XP/2003
更新时间: 2006-12-27 12:13:06

天空下载: http://www1.skycn.com/soft/25892.html

软件介绍:
    本软件能够把电脑上的电子书籍、文本文件、ASCII码文件大规模的转化成能在手机和数码相机上适用的图片,图文中的字体、背影颜色和字的颜色可随意设置,极为方遍渴望读书的朋友阅读。对于一些喜欢看网络小说、新闻的朋友是不错的选择。软件功能:把电子书籍、网络小说等文字内容转化成图片书籍。使用本软件的条件为:1、手机可以浏览图片或有数码相机,并能够把电脑上的图片传输到手机和数码相机上。2、手机或数码相机的可用于存储的空间大于10M。3、不需要有电脑,在网吧即可完成操作。手机图片电子书籍生成器 2.00,又称移动版,是有VC编写,不需要.net平台的支持,可以在WIN98,2000,XP中运行。对于没有电脑的朋友,可能把安装后的文件夹考到手机内存卡或数码相机存储卡中使用,也可以只在内存卡中存储注册文件,需要使用软件时,其它文件从网上下载文件压缩包(不需安装,下载即可使用),如果已经注册,把程序包解压后放对注册盘中,把注册文件拷入应用程序所在目录,即可使用。

破文声名:软件暴破不难,软件的注册和验证流程很典型,所以本文重点放在来分析软件的验证过程,写给新手,高手可飘过。

00404C70   .6A FF         PUSH -1                                     ;我们在这里下断点
00404C72   .68 D8574400   PUSH 手机图片.004457D8                     ;歌QE; SE 处理程序安装
00404C77   .64:A1 0000000>MOV EAX,DWORD PTR FS:
00404C7D   .50            PUSH EAX
00404C7E   .64:8925 00000>MOV DWORD PTR FS:,ESP
00404C85   .83EC 20       SUB ESP,20
00404C88   .55            PUSH EBP
00404C89   .56            PUSH ESI
00404C8A   .8BF1          MOV ESI,ECX
00404C8C   .57            PUSH EDI
00404C8D   .8D4C24 18   LEA ECX,DWORD PTR SS:
00404C91   .E8 1AD6FFFF   CALL 手机图片.004022B0
00404C96   .C74424 34 000>MOV DWORD PTR SS:,0
00404C9E   .E8 0C280200   CALL 手机图片.004274AF
00404CA3   .8B10          MOV EDX,DWORD PTR DS:
00404CA5   .8BC8          MOV ECX,EAX
00404CA7   .FF52 0C       CALL DWORD PTR DS:
00404CAA   .83C0 10       ADD EAX,10
00404CAD   .894424 0C   MOV DWORD PTR SS:,EAX
00404CB1   .C64424 34 01MOV BYTE PTR SS:,1
00404CB6   .E8 F4270200   CALL 手机图片.004274AF
00404CBB   .8B10          MOV EDX,DWORD PTR DS:
00404CBD   .8BC8          MOV ECX,EAX
00404CBF   .FF52 0C       CALL DWORD PTR DS:
00404CC2   .8D78 10       LEA EDI,DWORD PTR DS:
00404CC5   .897C24 10   MOV DWORD PTR SS:,EDI
00404CC9   .6A 01         PUSH 1
00404CCB   .8BCE          MOV ECX,ESI
00404CCD   .C64424 38 02MOV BYTE PTR SS:,2
00404CD2   .E8 C1EE0100   CALL 手机图片.00423B98
00404CD7   .8D46 78       LEA EAX,DWORD PTR DS:
00404CDA   .50            PUSH EAX
00404CDB   .8D4C24 1C   LEA ECX,DWORD PTR SS:
00404CDF   .E8 1CCDFFFF   CALL 手机图片.00401A00
00404CE4   .8B46 74       MOV EAX,DWORD PTR DS:
00404CE7   .51            PUSH ECX
00404CE8   .83E8 10       SUB EAX,10
00404CEB   .896424 18   MOV DWORD PTR SS:,ESP
00404CEF   .8BEC          MOV EBP,ESP
00404CF1   .50            PUSH EAX
00404CF2   .E8 59C8FFFF   CALL 手机图片.00401550
00404CF7   .83C0 10       ADD EAX,10
00404CFA   .83C4 04       ADD ESP,4
00404CFD   .8D4C24 1C   LEA ECX,DWORD PTR SS:
00404D01   .8945 00       MOV DWORD PTR SS:,EAX
00404D04   .E8 97E0FFFF   CALL 手机图片.00402DA0                     ;算法CALL 我们F7跟进
00404D09   .84C0          TEST AL,AL
00404D0B   .74 4A         JE SHORT 手机图片.00404D57
00404D0D   .8B46 74       MOV EAX,DWORD PTR DS:
00404D10   .51            PUSH ECX
00404D11   .83E8 10       SUB EAX,10
00404D14   .896424 18   MOV DWORD PTR SS:,ESP
00404D18   .8BEC          MOV EBP,ESP
00404D1A   .50            PUSH EAX
00404D1B   .E8 30C8FFFF   CALL 手机图片.00401550
00404D20   .83C0 10       ADD EAX,10
00404D23   .83C4 04       ADD ESP,4
00404D26   .8D4C24 1C   LEA ECX,DWORD PTR SS:
00404D2A   .8945 00       MOV DWORD PTR SS:,EAX
00404D2D   .E8 6EE4FFFF   CALL 手机图片.004031A0                      ;该CALL保存我们输入的注册信息 我们F7跟进
00404D32   .6A 00         PUSH 0
00404D34   .6A 00         PUSH 0
00404D36   .68 B0964400   PUSH 手机图片.004496B0                     ;注册成功!
00404D3B   .8BCE          MOV ECX,ESI
00404D3D   .E8 07EC0100   CALL 手机图片.00423949
00404D42   .8B16          MOV EDX,DWORD PTR DS:
00404D44   .8BCE          MOV ECX,ESI
00404D46   .FF92 4C010000 CALL DWORD PTR DS:
00404D4C   .6A 00         PUSH 0
00404D4E   .8BCE          MOV ECX,ESI
00404D50   .E8 43EE0100   CALL 手机图片.00423B98
00404D55   .EB 10         JMP SHORT 手机图片.00404D67
00404D57   >6A 00         PUSH 0
00404D59   .6A 00         PUSH 0
00404D5B   .68 A0964400   PUSH 手机图片.004496A0                     ;非法注册码!
00404D60   .8BCE          MOV ECX,ESI
00404D62   .E8 E2EB0100   CALL 手机图片.00423949

我们F7跟进算法CALL后,看到信息窗口有三处调用,一会我们来说明一下这三处调用起什么作用。
局部调用来自 00403265, 00403789, 00404D04(该地址是注册时候的验证)

00402DA0   $6A FF         PUSH -1
00402DA2   .68 18554400   PUSH 手机图片.00445518                     ;SE 处理程序安装
00402DA7   .64:A1 0000000>MOV EAX,DWORD PTR FS:
00402DAD   .50            PUSH EAX
00402DAE   .64:8925 00000>MOV DWORD PTR FS:,ESP
00402DB5   .83EC 20       SUB ESP,20
00402DB8   .53            PUSH EBX
00402DB9   .55            PUSH EBP
00402DBA   .56            PUSH ESI
00402DBB   .57            PUSH EDI
00402DBC   .8BF1          MOV ESI,ECX
00402DBE   .C74424 38 000>MOV DWORD PTR SS:,0
00402DC6   .E8 E4460200   CALL 手机图片.004274AF
00402DCB   .8B10          MOV EDX,DWORD PTR DS:
00402DCD   .8BC8          MOV ECX,EAX
00402DCF   .FF52 0C       CALL DWORD PTR DS:
00402DD2   .83C0 10       ADD EAX,10
00402DD5   .894424 14   MOV DWORD PTR SS:,EAX
00402DD9   .C64424 38 01MOV BYTE PTR SS:,1
00402DDE   .E8 CC460200   CALL 手机图片.004274AF
00402DE3   .8B10          MOV EDX,DWORD PTR DS:
00402DE5   .8BC8          MOV ECX,EAX
00402DE7   .FF52 0C       CALL DWORD PTR DS:
00402DEA   .83C0 10       ADD EAX,10
00402DED   .894424 18   MOV DWORD PTR SS:,EAX
00402DF1   .C64424 38 02MOV BYTE PTR SS:,2
00402DF6   .E8 B4460200   CALL 手机图片.004274AF
00402DFB   .8B10          MOV EDX,DWORD PTR DS:
00402DFD   .8BC8          MOV ECX,EAX
00402DFF   .FF52 0C       CALL DWORD PTR DS:
00402E02   .83C0 10       ADD EAX,10
00402E05   .894424 20   MOV DWORD PTR SS:,EAX
00402E09   .C64424 38 03MOV BYTE PTR SS:,3
00402E0E   .E8 9C460200   CALL 手机图片.004274AF
00402E13   .8B10          MOV EDX,DWORD PTR DS:
00402E15   .8BC8          MOV ECX,EAX
00402E17   .FF52 0C       CALL DWORD PTR DS:
00402E1A   .83C0 10       ADD EAX,10
00402E1D   .894424 10   MOV DWORD PTR SS:,EAX
00402E21   .C64424 38 04MOV BYTE PTR SS:,4
00402E26   .E8 84460200   CALL 手机图片.004274AF
00402E2B   .8B10          MOV EDX,DWORD PTR DS:
00402E2D   .8BC8          MOV ECX,EAX
00402E2F   .FF52 0C       CALL DWORD PTR DS:
00402E32   .83C0 10       ADD EAX,10
00402E35   .894424 1C   MOV DWORD PTR SS:,EAX
00402E39   .8B46 08       MOV EAX,DWORD PTR DS:
00402E3C   .51            PUSH ECX
00402E3D   .83E8 10       SUB EAX,10
00402E40   .B3 05         MOV BL,5
00402E42   .896424 2C   MOV DWORD PTR SS:,ESP
00402E46   .8BFC          MOV EDI,ESP
00402E48   .50            PUSH EAX
00402E49   .885C24 40   MOV BYTE PTR SS:,BL
00402E4D   .E8 FEE6FFFF   CALL 手机图片.00401550
00402E52   .83C0 10       ADD EAX,10
00402E55   .8907          MOV DWORD PTR DS:,EAX
00402E57   .8B6C24 48   MOV EBP,DWORD PTR SS:
00402E5B   .83C5 F0       ADD EBP,-10
00402E5E   .896424 34   MOV DWORD PTR SS:,ESP
00402E62   .8BFC          MOV EDI,ESP
00402E64   .55            PUSH EBP
00402E65   .C64424 44 06MOV BYTE PTR SS:,6
00402E6A   .E8 E1E6FFFF   CALL 手机图片.00401550
00402E6F   .83C0 10       ADD EAX,10
00402E72   .8907          MOV DWORD PTR DS:,EAX
00402E74   .83C4 04       ADD ESP,4
00402E77   .8D4424 2C   LEA EAX,DWORD PTR SS:
00402E7B   .50            PUSH EAX
00402E7C   .8BCE          MOV ECX,ESI
00402E7E   .885C24 44   MOV BYTE PTR SS:,BL
00402E82   .E8 99FAFFFF   CALL 手机图片.00402920
00402E87   .50            PUSH EAX
00402E88   .8D4C24 14   LEA ECX,DWORD PTR SS:
00402E8C   .C64424 3C 07MOV BYTE PTR SS:,7
00402E91   .E8 6AEBFFFF   CALL 手机图片.00401A00
00402E96   .8B4424 24   MOV EAX,DWORD PTR SS:
00402E9A   .885C24 38   MOV BYTE PTR SS:,BL
00402E9E   .83C0 F0       ADD EAX,-10
00402EA1   .8D48 0C       LEA ECX,DWORD PTR DS:
00402EA4   .83CA FF       OR EDX,FFFFFFFF
00402EA7   .F0:0FC111   LOCK XADD DWORD PTR DS:,EDX         ;LOCK 前缀
00402EAB   .4A            DEC EDX
00402EAC   .85D2          TEST EDX,EDX
00402EAE   .7F 08         JG SHORT 手机图片.00402EB8
00402EB0   .8B08          MOV ECX,DWORD PTR DS:
00402EB2   .8B11          MOV EDX,DWORD PTR DS:
00402EB4   .50            PUSH EAX
00402EB5   .FF52 04       CALL DWORD PTR DS:
00402EB8   >8B4424 10   MOV EAX,DWORD PTR SS:
00402EBC   .8B78 F4       MOV EDI,DWORD PTR DS:
00402EBF   .6A 02         PUSH 2
00402EC1   .6A 00         PUSH 0
00402EC3   .8D4C24 2C   LEA ECX,DWORD PTR SS:
00402EC7   .51            PUSH ECX
00402EC8   .8D4C24 1C   LEA ECX,DWORD PTR SS:
00402ECC   .E8 AFEFFFFF   CALL 手机图片.00401E80
00402ED1   .50            PUSH EAX
00402ED2   .8D4C24 18   LEA ECX,DWORD PTR SS:
00402ED6   .C64424 3C 08MOV BYTE PTR SS:,8
00402EDB   .E8 20EBFFFF   CALL 手机图片.00401A00
00402EE0   .8B4424 24   MOV EAX,DWORD PTR SS:
00402EE4   .83C0 F0       ADD EAX,-10
00402EE7   .885C24 38   MOV BYTE PTR SS:,BL
00402EEB   .8D50 0C       LEA EDX,DWORD PTR DS:
00402EEE   .83C9 FF       OR ECX,FFFFFFFF
00402EF1   .F0:0FC10A   LOCK XADD DWORD PTR DS:,ECX         ;LOCK 前缀
00402EF5   .49            DEC ECX
00402EF6   .85C9          TEST ECX,ECX
00402EF8   .7F 08         JG SHORT 手机图片.00402F02
00402EFA   .8B08          MOV ECX,DWORD PTR DS:
00402EFC   .8B11          MOV EDX,DWORD PTR DS:
00402EFE   .50            PUSH EAX
00402EFF   .FF52 04       CALL DWORD PTR DS:
00402F02   >6A 02         PUSH 2
00402F04   .6A 02         PUSH 2
00402F06   .8D4424 2C   LEA EAX,DWORD PTR SS:
00402F0A   .50            PUSH EAX
00402F0B   .8D4C24 1C   LEA ECX,DWORD PTR SS:
00402F0F   .E8 6CEFFFFF   CALL 手机图片.00401E80
00402F14   .50            PUSH EAX
00402F15   .8D4C24 1C   LEA ECX,DWORD PTR SS:
00402F19   .C64424 3C 09MOV BYTE PTR SS:,9
00402F1E   .E8 DDEAFFFF   CALL 手机图片.00401A00
00402F23   .8B4424 24   MOV EAX,DWORD PTR SS:
00402F27   .83C0 F0       ADD EAX,-10
00402F2A   .885C24 38   MOV BYTE PTR SS:,BL
00402F2E   .8D48 0C       LEA ECX,DWORD PTR DS:
00402F31   .83CA FF       OR EDX,FFFFFFFF
00402F34   .F0:0FC111   LOCK XADD DWORD PTR DS:,EDX         ;LOCK 前缀
00402F38   .4A            DEC EDX
00402F39   .85D2          TEST EDX,EDX
00402F3B   .7F 08         JG SHORT 手机图片.00402F45
00402F3D   .8B08          MOV ECX,DWORD PTR DS:
00402F3F   .8B11          MOV EDX,DWORD PTR DS:
00402F41   .50            PUSH EAX
00402F42   .FF52 04       CALL DWORD PTR DS:
00402F45   >83C7 FC       ADD EDI,-4
00402F48   .57            PUSH EDI
00402F49   .6A 04         PUSH 4
00402F4B   .8D4424 2C   LEA EAX,DWORD PTR SS:
00402F4F   .50            PUSH EAX
00402F50   .8D4C24 1C   LEA ECX,DWORD PTR SS:
00402F54   .E8 27EFFFFF   CALL 手机图片.00401E80
00402F59   .50            PUSH EAX
00402F5A   .8D4C24 24   LEA ECX,DWORD PTR SS:
00402F5E   .C64424 3C 0AMOV BYTE PTR SS:,0A
00402F63   .E8 98EAFFFF   CALL 手机图片.00401A00
00402F68   .8B4424 24   MOV EAX,DWORD PTR SS:
00402F6C   .83C0 F0       ADD EAX,-10
00402F6F   .83CF FF       OR EDI,FFFFFFFF
00402F72   .885C24 38   MOV BYTE PTR SS:,BL
00402F76   .8D48 0C       LEA ECX,DWORD PTR DS:
00402F79   .8BD7          MOV EDX,EDI
00402F7B   .F0:0FC111   LOCK XADD DWORD PTR DS:,EDX         ;LOCK 前缀
00402F7F   .4A            DEC EDX
00402F80   .85D2          TEST EDX,EDX
00402F82   .7F 08         JG SHORT 手机图片.00402F8C
00402F84   .8B08          MOV ECX,DWORD PTR DS:
00402F86   .8B11          MOV EDX,DWORD PTR DS:
00402F88   .50            PUSH EAX
00402F89   .FF52 04       CALL DWORD PTR DS:
00402F8C   >8B06          MOV EAX,DWORD PTR DS:
00402F8E   .51            PUSH ECX
00402F8F   .83E8 10       SUB EAX,10
00402F92   .896424 30   MOV DWORD PTR SS:,ESP
00402F96   .8BDC          MOV EBX,ESP
00402F98   .50            PUSH EAX
00402F99   .E8 B2E5FFFF   CALL 手机图片.00401550
00402F9E   .83C0 10       ADD EAX,10
00402FA1   .83C4 04       ADD ESP,4
00402FA4   .8BCE          MOV ECX,ESI
00402FA6   .8903          MOV DWORD PTR DS:,EAX
00402FA8   .E8 B3F1FFFF   CALL 手机图片.00402160
00402FAD   .50            PUSH EAX
00402FAE   .8D4424 20   LEA EAX,DWORD PTR SS:
00402FB2   .68 088A4400   PUSH 手机图片.00448A08                     ;ASCII "%d"
00402FB7   .50            PUSH EAX
00402FB8   .E8 F3EAFFFF   CALL 手机图片.00401AB0
00402FBD   .8B7424 28   MOV ESI,DWORD PTR SS:
00402FC1   .8B5C24 2C   MOV EBX,DWORD PTR SS:
00402FC5   .56            PUSH ESI
00402FC6   .53            PUSH EBX
00402FC7   .E8 B6010100   CALL 手机图片.00413182
00402FCC   .83C4 14       ADD ESP,14
00402FCF   .85C0          TEST EAX,EAX
00402FD1   .0F85 EC000000 JNZ 手机图片.004030C3                        ;暴破掉INOP掉
00402FD7   .8B4C24 14   MOV ECX,DWORD PTR SS:
00402FDB   .68 108A4400   PUSH 手机图片.00448A10                     ;ASCII "88"
00402FE0   .51            PUSH ECX
00402FE1   .E8 9C010100   CALL 手机图片.00413182
00402FE6   .83C4 08       ADD ESP,8
00402FE9   .85C0          TEST EAX,EAX
00402FEB   .0F85 D2000000 JNZ 手机图片.004030C3                        ;暴破掉IINOP掉
00402FF1   .8D46 F0       LEA EAX,DWORD PTR DS:
00402FF4   .C64424 38 04MOV BYTE PTR SS:,4
00402FF9   .8D50 0C       LEA EDX,DWORD PTR DS:
00402FFC   .8BCF          MOV ECX,EDI
00402FFE   .F0:0FC10A   LOCK XADD DWORD PTR DS:,ECX         ;LOCK 前缀
00403002   .49            DEC ECX
00403003   .85C9          TEST ECX,ECX
00403005   .7F 08         JG SHORT 手机图片.0040300F
00403007   .8B08          MOV ECX,DWORD PTR DS:
00403009   .8B11          MOV EDX,DWORD PTR DS:
0040300B   .50            PUSH EAX
0040300C   .FF52 04       CALL DWORD PTR DS:
0040300F   >8B4424 10   MOV EAX,DWORD PTR SS:
00403013   .83C0 F0       ADD EAX,-10
00403016   .C64424 38 03MOV BYTE PTR SS:,3
0040301B   .8D48 0C       LEA ECX,DWORD PTR DS:
0040301E   .8BD7          MOV EDX,EDI
00403020   .F0:0FC111   LOCK XADD DWORD PTR DS:,EDX         ;LOCK 前缀
00403024   .4A            DEC EDX
00403025   .85D2          TEST EDX,EDX
00403027   .7F 08         JG SHORT 手机图片.00403031
00403029   .8B08          MOV ECX,DWORD PTR DS:
0040302B   .8B11          MOV EDX,DWORD PTR DS:
0040302D   .50            PUSH EAX
0040302E   .FF52 04       CALL DWORD PTR DS:
00403031   >8D43 F0       LEA EAX,DWORD PTR DS:
00403034   .C64424 38 02MOV BYTE PTR SS:,2
00403039   .8D48 0C       LEA ECX,DWORD PTR DS:
0040303C   .8BD7          MOV EDX,EDI
0040303E   .F0:0FC111   LOCK XADD DWORD PTR DS:,EDX         ;LOCK 前缀
00403042   .4A            DEC EDX
00403043   .85D2          TEST EDX,EDX
00403045   .7F 08         JG SHORT 手机图片.0040304F
00403047   .8B08          MOV ECX,DWORD PTR DS:
00403049   .8B11          MOV EDX,DWORD PTR DS:
0040304B   .50            PUSH EAX
0040304C   .FF52 04       CALL DWORD PTR DS:
0040304F   >8B4424 18   MOV EAX,DWORD PTR SS:
00403053   .83C0 F0       ADD EAX,-10
00403056   .C64424 38 01MOV BYTE PTR SS:,1
0040305B   .8D48 0C       LEA ECX,DWORD PTR DS:
0040305E   .8BD7          MOV EDX,EDI
00403060   .F0:0FC111   LOCK XADD DWORD PTR DS:,EDX         ;LOCK 前缀
00403064   .4A            DEC EDX
00403065   .85D2          TEST EDX,EDX
00403067   .7F 08         JG SHORT 手机图片.00403071
00403069   .8B08          MOV ECX,DWORD PTR DS:
0040306B   .8B11          MOV EDX,DWORD PTR DS:
0040306D   .50            PUSH EAX
0040306E   .FF52 04       CALL DWORD PTR DS:
00403071   >8B4424 14   MOV EAX,DWORD PTR SS:
00403075   .83C0 F0       ADD EAX,-10
00403078   .C64424 38 00MOV BYTE PTR SS:,0
0040307D   .8D48 0C       LEA ECX,DWORD PTR DS:
00403080   .8BD7          MOV EDX,EDI
00403082   .F0:0FC111   LOCK XADD DWORD PTR DS:,EDX         ;LOCK 前缀
00403086   .4A            DEC EDX
00403087   .85D2          TEST EDX,EDX
00403089   .7F 08         JG SHORT 手机图片.00403093
0040308B   .8B08          MOV ECX,DWORD PTR DS:
0040308D   .8B11          MOV EDX,DWORD PTR DS:
0040308F   .50            PUSH EAX
00403090   .FF52 04       CALL DWORD PTR DS:
00403093   >897C24 38   MOV DWORD PTR SS:,EDI
00403097   .8D45 0C       LEA EAX,DWORD PTR SS:
0040309A   .F0:0FC138   LOCK XADD DWORD PTR DS:,EDI         ;LOCK 前缀
0040309E   .4F            DEC EDI
0040309F   .85FF          TEST EDI,EDI
004030A1   .7F 09         JG SHORT 手机图片.004030AC
004030A3   .8B4D 00       MOV ECX,DWORD PTR SS:
004030A6   .8B11          MOV EDX,DWORD PTR DS:
004030A8   .55            PUSH EBP
004030A9   .FF52 04       CALL DWORD PTR DS:
004030AC   >B0 01         MOV AL,1                                 ;这里实现了对AL=1的赋值,也就是为何上方我们要NOP掉那两个跳转
004030AE   .8B4C24 30   MOV ECX,DWORD PTR SS:
004030B2   .64:890D 00000>MOV DWORD PTR FS:,ECX
004030B9   .5F            POP EDI
004030BA   .5E            POP ESI
004030BB   .5D            POP EBP
004030BC   .5B            POP EBX
004030BD   .83C4 2C       ADD ESP,2C
004030C0   .C2 0400       RETN 4
004030C3   >8D46 F0       LEA EAX,DWORD PTR DS:            ;如果上方不暴破的话,跳转跳到这里
004030C6   .C64424 38 04MOV BYTE PTR SS:,4
004030CB   .8D48 0C       LEA ECX,DWORD PTR DS:
004030CE   .8BD7          MOV EDX,EDI
004030D0   .F0:0FC111   LOCK XADD DWORD PTR DS:,EDX         ;LOCK 前缀
004030D4   .4A            DEC EDX
004030D5   .85D2          TEST EDX,EDX
004030D7   .7F 08         JG SHORT 手机图片.004030E1
004030D9   .8B08          MOV ECX,DWORD PTR DS:
004030DB   .8B11          MOV EDX,DWORD PTR DS:
004030DD   .50            PUSH EAX
004030DE   .FF52 04       CALL DWORD PTR DS:
004030E1   >8B4424 10   MOV EAX,DWORD PTR SS:
004030E5   .83C0 F0       ADD EAX,-10
004030E8   .C64424 38 03MOV BYTE PTR SS:,3
004030ED   .8D48 0C       LEA ECX,DWORD PTR DS:
004030F0   .8BD7          MOV EDX,EDI
004030F2   .F0:0FC111   LOCK XADD DWORD PTR DS:,EDX         ;LOCK 前缀
004030F6   .4A            DEC EDX
004030F7   .85D2          TEST EDX,EDX
004030F9   .7F 08         JG SHORT 手机图片.00403103
004030FB   .8B08          MOV ECX,DWORD PTR DS:
004030FD   .8B11          MOV EDX,DWORD PTR DS:
004030FF   .50            PUSH EAX
00403100   .FF52 04       CALL DWORD PTR DS:
00403103   >8D43 F0       LEA EAX,DWORD PTR DS:
00403106   .C64424 38 02MOV BYTE PTR SS:,2
0040310B   .8D48 0C       LEA ECX,DWORD PTR DS:
0040310E   .8BD7          MOV EDX,EDI
00403110   .F0:0FC111   LOCK XADD DWORD PTR DS:,EDX         ;LOCK 前缀
00403114   .4A            DEC EDX
00403115   .85D2          TEST EDX,EDX
00403117   .7F 08         JG SHORT 手机图片.00403121
00403119   .8B08          MOV ECX,DWORD PTR DS:
0040311B   .8B11          MOV EDX,DWORD PTR DS:
0040311D   .50            PUSH EAX
0040311E   .FF52 04       CALL DWORD PTR DS:
00403121   >8B4424 18   MOV EAX,DWORD PTR SS:
00403125   .83C0 F0       ADD EAX,-10
00403128   .C64424 38 01MOV BYTE PTR SS:,1
0040312D   .8D48 0C       LEA ECX,DWORD PTR DS:
00403130   .8BD7          MOV EDX,EDI
00403132   .F0:0FC111   LOCK XADD DWORD PTR DS:,EDX         ;LOCK 前缀
00403136   .4A            DEC EDX
00403137   .85D2          TEST EDX,EDX
00403139   .7F 08         JG SHORT 手机图片.00403143
0040313B   .8B08          MOV ECX,DWORD PTR DS:
0040313D   .8B11          MOV EDX,DWORD PTR DS:
0040313F   .50            PUSH EAX
00403140   .FF52 04       CALL DWORD PTR DS:
00403143   >8B4424 14   MOV EAX,DWORD PTR SS:
00403147   .83C0 F0       ADD EAX,-10
0040314A   .C64424 38 00MOV BYTE PTR SS:,0
0040314F   .8D48 0C       LEA ECX,DWORD PTR DS:
00403152   .8BD7          MOV EDX,EDI
00403154   .F0:0FC111   LOCK XADD DWORD PTR DS:,EDX         ;LOCK 前缀
00403158   .4A            DEC EDX
00403159   .85D2          TEST EDX,EDX
0040315B   .7F 08         JG SHORT 手机图片.00403165
0040315D   .8B08          MOV ECX,DWORD PTR DS:
0040315F   .8B11          MOV EDX,DWORD PTR DS:
00403161   .50            PUSH EAX
00403162   .FF52 04       CALL DWORD PTR DS:
00403165   >897C24 38   MOV DWORD PTR SS:,EDI
00403169   .8D45 0C       LEA EAX,DWORD PTR SS:
0040316C   .F0:0FC138   LOCK XADD DWORD PTR DS:,EDI         ;LOCK 前缀
00403170   .4F            DEC EDI
00403171   .85FF          TEST EDI,EDI
00403173   .7F 09         JG SHORT 手机图片.0040317E
00403175   .8B4D 00       MOV ECX,DWORD PTR SS:
00403178   .8B11          MOV EDX,DWORD PTR DS:
0040317A   .55            PUSH EBP
0040317B   .FF52 04       CALL DWORD PTR DS:
0040317E   >8B4C24 30   MOV ECX,DWORD PTR SS:
00403182   .5F            POP EDI
00403183   .5E            POP ESI
00403184   .5D            POP EBP
00403185   .32C0          XOR AL,AL                              ;我们还记得标志位比较的就是AL这里只要不让AL清零即可 修改方法有很多但要注意不要超过两个字节我这里采用的是INC AL
00403187   .64:890D 00000>MOV DWORD PTR FS:,ECX
0040318E   .5B            POP EBX
0040318F   .83C4 2C       ADD ESP,2C
00403192   .C2 0400       RETN 4

跟进保存注册文件的CALL 00404D2D   :

004031A0   $6A FF         PUSH -1                                  ;该函数来保存输入的注册信息
004031A2   .68 50554400   PUSH 手机图片.00445550                     ;SE 处理程序安装
004031A7   .64:A1 0000000>MOV EAX,DWORD PTR FS:
004031AD   .50            PUSH EAX
004031AE   .64:8925 00000>MOV DWORD PTR FS:,ESP
004031B5   .83EC 1C       SUB ESP,1C
004031B8   .53            PUSH EBX
004031B9   .55            PUSH EBP
004031BA   .56            PUSH ESI
004031BB   .57            PUSH EDI
004031BC   .8BF1          MOV ESI,ECX
004031BE   .C74424 34 000>MOV DWORD PTR SS:,0
004031C6   .E8 E4420200   CALL 手机图片.004274AF
004031CB   .8B10          MOV EDX,DWORD PTR DS:
004031CD   .8BC8          MOV ECX,EAX
004031CF   .FF52 0C       CALL DWORD PTR DS:
004031D2   .83C0 10       ADD EAX,10
004031D5   .894424 10   MOV DWORD PTR SS:,EAX
004031D9   .8D4C24 1C   LEA ECX,DWORD PTR SS:
004031DD   .C64424 34 01MOV BYTE PTR SS:,1
004031E2   .E8 9A470200   CALL 手机图片.00427981
004031E7   .8B06          MOV EAX,DWORD PTR DS:
004031E9   .50            PUSH EAX
004031EA   .8D4C24 14   LEA ECX,DWORD PTR SS:
004031EE   .68 548A4400   PUSH 手机图片.00448A54                     ;ASCII "%s"
004031F3   .B3 02         MOV BL,2
004031F5   .51            PUSH ECX
004031F6   .885C24 40   MOV BYTE PTR SS:,BL
004031FA   .E8 B1E8FFFF   CALL 手机图片.00401AB0
004031FF   .68 488A4400   PUSH 手机图片.00448A48                     ;ASCII "\RegPc.SJS"
00403204   .8D5424 20   LEA EDX,DWORD PTR SS:
00403208   .52            PUSH EDX
00403209   .8D4424 28   LEA EAX,DWORD PTR SS:
0040320D   .50            PUSH EAX
0040320E   .E8 8DEEFFFF   CALL 手机图片.004020A0
00403213   .83C4 18       ADD ESP,18
00403216   .50            PUSH EAX
00403217   .8D4C24 14   LEA ECX,DWORD PTR SS:
0040321B   .C64424 38 03MOV BYTE PTR SS:,3
00403220   .E8 DBE7FFFF   CALL 手机图片.00401A00
00403225   .8B4424 14   MOV EAX,DWORD PTR SS:
00403229   .83C0 F0       ADD EAX,-10
0040322C   .885C24 34   MOV BYTE PTR SS:,BL
00403230   .8D48 0C       LEA ECX,DWORD PTR DS:
00403233   .83CA FF       OR EDX,FFFFFFFF
00403236   .F0:0FC111   LOCK XADD DWORD PTR DS:,EDX         ;LOCK 前缀
0040323A   .4A            DEC EDX
0040323B   .85D2          TEST EDX,EDX
0040323D   .7F 08         JG SHORT 手机图片.00403247
0040323F   .8B08          MOV ECX,DWORD PTR DS:
00403241   .8B11          MOV EDX,DWORD PTR DS:
00403243   .50            PUSH EAX
00403244   .FF52 04       CALL DWORD PTR DS:
00403247   >8B7C24 3C   MOV EDI,DWORD PTR SS:
0040324B   .51            PUSH ECX
0040324C   .8D6F F0       LEA EBP,DWORD PTR DS:
0040324F   .896424 1C   MOV DWORD PTR SS:,ESP
00403253   .8BDC          MOV EBX,ESP
00403255   .55            PUSH EBP
00403256   .E8 F5E2FFFF   CALL 手机图片.00401550
0040325B   .83C0 10       ADD EAX,10
0040325E   .83C4 04       ADD ESP,4
00403261   .8BCE          MOV ECX,ESI
00403263   .8903          MOV DWORD PTR DS:,EAX
00403265   .E8 36FBFFFF   CALL 手机图片.00402DA0                     ;这里有来调用算法CALL
0040326A   .84C0          TEST AL,AL
0040326C   .8D4C24 1C   LEA ECX,DWORD PTR SS:
00403270   .0F84 A3000000 JE 手机图片.00403319                         ;这里为什么又来调用算法CALL呢? 就是再次来判断是否正确来决定是否保存注册信息
00403276   .8B7424 10   MOV ESI,DWORD PTR SS:
0040327A   .6A 00         PUSH 0                                 ; /Arg3 = 00000000
0040327C   .68 00100000   PUSH 1000                              ; |Arg2 = 00001000
00403281   .56            PUSH ESI                                 ; |Arg1
00403282   .E8 424A0200   CALL 手机图片.00427CC9                     ; \手机图片.00427CC9
00403287   .8D4C24 1C   LEA ECX,DWORD PTR SS:
0040328B   .E8 8F460200   CALL 手机图片.0042791F
00403290   .6A 00         PUSH 0                                 ; /Arg3 = 00000000
00403292   .6A 01         PUSH 1                                 ; |Arg2 = 00000001
00403294   .56            PUSH ESI                                 ; |Arg1
00403295   .8D4C24 28   LEA ECX,DWORD PTR SS:            ; |
00403299   .E8 2B4A0200   CALL 手机图片.00427CC9                     ; \手机图片.00427CC9
0040329E   .8B47 F4       MOV EAX,DWORD PTR DS:
004032A1   .50            PUSH EAX                                 ; /Arg2
004032A2   .57            PUSH EDI                                 ; |Arg1
004032A3   .8D4C24 24   LEA ECX,DWORD PTR SS:            ; |
004032A7   .E8 28440200   CALL 手机图片.004276D4                     ; \手机图片.004276D4
004032AC   .8D4C24 1C   LEA ECX,DWORD PTR SS:
004032B0   .E8 6A460200   CALL 手机图片.0042791F
004032B5   .8D4C24 1C   LEA ECX,DWORD PTR SS:
004032B9   .C64424 34 01MOV BYTE PTR SS:,1
004032BE   .E8 FD460200   CALL 手机图片.004279C0
004032C3   .8D46 F0       LEA EAX,DWORD PTR DS:
004032C6   .C64424 34 00MOV BYTE PTR SS:,0
004032CB   .8D48 0C       LEA ECX,DWORD PTR DS:
004032CE   .83CA FF       OR EDX,FFFFFFFF
004032D1   .F0:0FC111   LOCK XADD DWORD PTR DS:,EDX         ;LOCK 前缀
004032D5   .4A            DEC EDX
004032D6   .85D2          TEST EDX,EDX
004032D8   .7F 08         JG SHORT 手机图片.004032E2
004032DA   .8B08          MOV ECX,DWORD PTR DS:
004032DC   .8B11          MOV EDX,DWORD PTR DS:
004032DE   .50            PUSH EAX
004032DF   .FF52 04       CALL DWORD PTR DS:
004032E2   >C74424 34 FFF>MOV DWORD PTR SS:,-1
004032EA   .8D45 0C       LEA EAX,DWORD PTR SS:
004032ED   .83C9 FF       OR ECX,FFFFFFFF
004032F0   .F0:0FC108   LOCK XADD DWORD PTR DS:,ECX         ;LOCK 前缀
004032F4   .49            DEC ECX
004032F5   .85C9          TEST ECX,ECX
004032F7   .7F 09         JG SHORT 手机图片.00403302
004032F9   .8B4D 00       MOV ECX,DWORD PTR SS:
004032FC   .8B11          MOV EDX,DWORD PTR DS:
004032FE   .55            PUSH EBP
004032FF   .FF52 04       CALL DWORD PTR DS:
00403302   >B0 01         MOV AL,1
00403304   .8B4C24 2C   MOV ECX,DWORD PTR SS:
00403308   .64:890D 00000>MOV DWORD PTR FS:,ECX
0040330F   .5F            POP EDI
00403310   .5E            POP ESI
00403311   .5D            POP EBP
00403312   .5B            POP EBX
00403313   .83C4 28       ADD ESP,28
00403316   .C2 0400       RETN 4

当系统保存注册文件\RegPc.SJS后,我们继续在算法CALL句柄地址下断,然后再点“注册”。我们在算法CALL断下,退出后来到这里:

00403789   .E8 12F6FFFF   CALL 手机图片.00402DA0
0040378E   .83C5 F0       ADD EBP,-10                              // 退出算法CALL后来到这里
00403791   .83C9 FF       OR ECX,FFFFFFFF
00403794   .84C0          TEST AL,AL
00403796   .C64424 28 00MOV BYTE PTR SS:,0
0040379B   .8D45 0C       LEA EAX,DWORD PTR SS:
0040379E   .74 46         JE SHORT 手机图片.004037E6
004037A0   .F0:0FC108   LOCK XADD DWORD PTR DS:,ECX         ;LOCK 前缀
004037A4   .49            DEC ECX
004037A5   .85C9          TEST ECX,ECX
004037A7   .7F 09         JG SHORT 手机图片.004037B2
004037A9   .8B4D 00       MOV ECX,DWORD PTR SS:
004037AC   .8B11          MOV EDX,DWORD PTR DS:
004037AE   .55            PUSH EBP
004037AF   .FF52 04       CALL DWORD PTR DS:
004037B2   >C74424 28 FFF>MOV DWORD PTR SS:,-1
004037BA   .8D47 0C       LEA EAX,DWORD PTR DS:
004037BD   .83C9 FF       OR ECX,FFFFFFFF
004037C0   .F0:0FC108   LOCK XADD DWORD PTR DS:,ECX         ;LOCK 前缀
004037C4   .49            DEC ECX
004037C5   .85C9          TEST ECX,ECX
004037C7   .7F 08         JG SHORT 手机图片.004037D1
004037C9   .8B0F          MOV ECX,DWORD PTR DS:
004037CB   .8B11          MOV EDX,DWORD PTR DS:
004037CD   .57            PUSH EDI
004037CE   .FF52 04       CALL DWORD PTR DS:
004037D1   >B0 01         MOV AL,1
004037D3   .8B4C24 20   MOV ECX,DWORD PTR SS:
004037D7   .64:890D 00000>MOV DWORD PTR FS:,ECX
004037DE   .5F            POP EDI
004037DF   .5E            POP ESI
004037E0   .5D            POP EBP
004037E1   .5B            POP EBX
004037E2   .83C4 1C       ADD ESP,1C
004037E5   .C3            RETN


00406397   .E8 F4D2FFFF   CALL 手机图片.00403690
0040639C   .84C0          TEST AL,AL                                 // 退出后来到这里
0040639E   .6A 00         PUSH 0
004063A0   .74 10         JE SHORT 手机图片.004063B2
004063A2   .6A 00         PUSH 0
004063A4   .68 3C9F4400   PUSH 手机图片.00449F3C                     ;您已经注册了!
004063A9   .8BCE          MOV ECX,ESI
004063AB   .E8 99D50100   CALL 手机图片.00423949
004063B0   .EB 38         JMP SHORT 手机图片.004063EA

放我们把程序跟踪完毕之后,就可以搞明白为什么算法CALL有三处调用,也就明白了软件的验证过程。
00403265(这里判断是否保存注册信息),
00403789(这里判断是否注册),
00404D04(该地址是注册时候的验证)

软件的验证采用了标志位比较,导致难度直线下降,使我们轻松暴破。本问旨在通过分析这个典型的软件来向新手阐述软件的验证思路,并来说明算法CALL在软件验证中的调用原因和作用。通过本文的分析我们也看出暴破的关键在于修改算法CALL中对AL的赋值语句,如果程序在重验证和注册中使用不同的函数来验证,将增大暴破难度。

dyszcgl 发表于 2007-8-12 11:05:17

精彩!!!

学习啦!

gxkm 发表于 2007-8-14 01:47:01

很不错。。。支持楼主

西北游侠 发表于 2007-8-16 00:30:12

学习了,谢谢楼主的大作。

pojielong 发表于 2007-8-16 06:37:08

太棒了,对我这样的初学者帮助很大。谢谢楼主。

zxwbj 发表于 2007-9-9 17:45:20

zzage 发表于 2007-9-9 17:57:05

学习....哎。对破解还一知半解....

youcn28 发表于 2007-9-13 22:10:14

很不错。。。支持楼主。。。。受用
页: [1]
查看完整版本: 手机图片电子书籍生成器 V4.0 注册分析