通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
资源搜索:
热门搜索:Linux VB C语言 PhotoShop Flash TCP/IP
   首页 | 文章 | 软件 | 动画 | 资源 | 励志 | 骗术 | 论坛 | 邮箱 | 会员中心 | 军事 | 科技 | 博客 | 图片 | 商城 | 最新更新 | 800g资源 | 爱心黑客
您现在的位置: 爱国者黑客 >> 资源 >> 安全技术 >> 软件破解 >> 算法研究 >> 文章正文
注册算法分析
责任编辑:admin   更新日期:2005-8-6
目的:属技术交流,无其它目的,请不要任意散布或用用商业用途。初学破解,如有不对的地方欢迎批评指出。
工具:softice,w32Dasm,ollydbg

试炼码:
机器码:558109930
注册码:654321

一看是VB程序,心里就有点怕,而且还用到浮点运算,心里更怕,但看了一下,注册算法还算简单,于是就凑合着写篇教程。用log大法,定位

注册核心模块。
以下为从od中摘取的代码,“;”后是我加的注解。

00999837   .  50            PUSH EAX
00999838   .  57            PUSH EDI
00999839   .  8B17          MOV EDX,DWORD PTR DS:[EDI]
0099983B   .  FF92 A0000000 CALL DWORD PTR DS:[EDX+A0]               ;  取输入的注册码654321
00999841   .  3BC6          CMP EAX,ESI
00999843   .  DBE2          FCLEX                                    ;  清除所有异常标志
00999845   .  7D 12         JGE SHORT mj.00999859
00999847   .  68 A0000000   PUSH 0A0
0099984C   .  68 0CE84500   PUSH mj.0045E80C
00999851   .  57            PUSH EDI
00999852   .  50            PUSH EAX
00999853   .  FF15 58104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaHresu>;  MSVBVM60.__vbaHresultCheckObj
00999859   >  8B4D E8       MOV ECX,DWORD PTR SS:[EBP-18]            ;  输入的注册码入ecx
0099985C   .  51            PUSH ECX
0099985D   .  FF15 8C114000 CALL DWORD PTR DS:[<&MSVBVM60.#581>]     ;  MSVBVM60.rtcR8ValFromBstr
00999863   .  FF15 8C104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFpR8>>;  MSVBVM60.__vbaFpR8
00999869   .  DD9D 20FFFFFF FSTP QWORD PTR SS:[EBP-E0]               ;  上面注册码转换为浮点数。此句为把转换注册码存入[ebp-

e0]
0099986F   .  DB85 4CFFFFFF FILD DWORD PTR SS:[EBP-B4]               ;  取机器码,此为558109930
00999875   .  DD9D 18FFFFFF FSTP QWORD PTR SS:[EBP-E8]               ;  保存
0099987B   .  DD85 18FFFFFF FLD QWORD PTR SS:[EBP-E8]                ;  取机器码,入st0
00999881   .  833D 00209A00>CMP DWORD PTR DS:[9A2000],0              ;  判断机器码是否为0
00999888   .  75 08         JNZ SHORT mj.00999892
0099988A   .  DC35 A0114000 FDIV QWORD PTR DS:[4011A0]               ;  机器码除以44221(d)
00999890   .  EB 11         JMP SHORT mj.009998A3                    ;  得数12620.925126071323579294905135569
00999892   >  FF35 A4114000 PUSH DWORD PTR DS:[4011A4]
00999898   .  FF35 A0114000 PUSH DWORD PTR DS:[4011A0]
0099989E   .  E8 817EA6FF   CALL <JMP.&MSVBVM60._adj_fdiv_m64>
009998A3   >  DC05 98114000 FADD QWORD PTR DS:[401198]               ;  然后加上427616(d)
009998A9   .  DFE0          FSTSW AX                                 ;  保存浮点状态字
009998AB   .  A8 0D         TEST AL,0D
009998AD   .  0F85 31040000 JNZ mj.00999CE4
009998B3   .  FF15 78114000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFPInt>;  MSVBVM60.__vbaFPInt
009998B9   .  FF15 8C104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFpR8>>;  MSVBVM60.__vbaFpR8
009998BF   .  DC9D 20FFFFFF FCOMP QWORD PTR SS:[EBP-E0]              ;  上面为将浮点数转换为整数,这句是比较与输入的注册码是

否相等
009998C5   .  DFE0          FSTSW AX                                 ;  保存浮点状态字
009998C7   .  F6C4 40       TEST AH,40
009998CA   .  74 07         JE SHORT mj.009998D3
009998CC   .  B8 01000000   MOV EAX,1
009998D1   .  EB 02         JMP SHORT mj.009998D5
009998D3   >  33C0          XOR EAX,EAX
009998D5   >  F7D8          NEG EAX
009998D7   .  66:8BF8       MOV DI,AX
009998DA   .  8D55 E4       LEA EDX,DWORD PTR SS:[EBP-1C]
009998DD   .  8D45 E8       LEA EAX,DWORD PTR SS:[EBP-18]            ;  注册码入eax
009998E0   .  52            PUSH EDX
009998E1   .  50            PUSH EAX
009998E2   .  6A 02         PUSH 2
009998E4   .  FF15 30114000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeS>;  MSVBVM60.__vbaFreeStrList
009998EA   .  83C4 0C       ADD ESP,0C
009998ED   .  8D4D D4       LEA ECX,DWORD PTR SS:[EBP-2C]
009998F0   .  FF15 88114000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeO>;  MSVBVM60.__vbaFreeObj
009998F6   .  66:3BFE       CMP DI,SI
009998F9      0F84 8E020000 JE mj.00999B8D           &

[1] [2] [3] [4] 下一页

  • 上一篇文章:
  • 下一篇文章:
  • 热门文章
    Olldbg常见问题
    汇编语言的艺术(组合语言的艺术)--观
    汇编语言的艺术(组合语言的艺术)--准
    汇编语言的艺术(组合语言的艺术)--基
    汇编语言的艺术(组合语言的艺术)--基
    汇编语言---程式设计 (4)
    虚拟8086模式
    SYS命令使用说明
    javascript + CSS 实现动态菜单显
    推荐文章
    自制Windows XP SP2自动安装光盘
    SQLServer注入工具改进版 v1.02
    使用photoshop CS进行自然美肤
    Photoshop绘制诺基亚手机
    PHOTOSHOP制作秋日之梦
    PHOTOSHOP鼠绘名模王爱萍
    Photoshop制作晶莹飞溅的水珠
    教你用PHOTOSHOP做放大镜
    鼠绘美女及服装修画全过程