手机图片电子书籍生成器 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的赋值语句,如果程序在重验证和注册中使用不同的函数来验证,将增大暴破难度。 精彩!!!
学习啦! 很不错。。。支持楼主 学习了,谢谢楼主的大作。 太棒了,对我这样的初学者帮助很大。谢谢楼主。 学习....哎。对破解还一知半解.... 很不错。。。支持楼主。。。。受用
页:
[1]