通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
资源搜索:
热门搜索:Linux VB C语言 PhotoShop Flash TCP/IP
   首页 | 文章 | 软件 | 动画 | 资源 | 励志 | 骗术 | 论坛 | 邮箱 | 会员中心 | 军事 | 科技 | 博客 | 图片 | 商城 | 最新更新 | 800g资源 | 爱心黑客
您现在的位置: 爱国者黑客 >> 资源 >> 安全技术 >> 软件破解 >> 破解实例 >> 文章正文
Publish-iT v2.4b -超级印刷工厂 算法分析
责任编辑:admin   更新日期:2005-8-6
软件名称: Publish-iT v2.4b -超级印刷工厂  

软件语言: 英文
界面预览:  
软件类型: 精品软件 / 图形处理 / 图像处理
运行环境: WinXP, Win2000, WinME
授权方式:
软件大小: 1.62 MB
软件等级:  
整理时间: 2003-4-4
开 发 商:  


软件简介
这程序能帮助你制作专业级的报纸、宣传册、广告单等等出版品,它结合了文书处理器、图形编辑软件、以及所有排版软体的优点于一身。你可以轻易的编排你的文字,加入任意的图片。「主页」的功能能让你的出版品有着一致性的外观。

下载地址:  http://www.ttdown.com/SoftView_3663.ht

【破解工具】:Ollydbg1.09 中文版
【过    程】:


呵呵,我们开工吧!唉!^-^我的水平很低,许多地方表达的有问题,烦请各位指教!
用ollydbg加载运行 ,在注册框中填注册试验码:789456 (软件提示只要5~6位数字)后下
bpx GetDlgItemTextA 后按OK键后不久就能来到这里:


00453AF4   CALL    DWORD PTR DS:[<&USER32.GetDlgIt>

; \GetDlgItemTextA  <---断点

00453AFA   PUSH    Publish.00495BD0     ;  ASCII "FARKEL"
00453AFF   LEA     EAX, [LOCAL.20]      ;  EAX<--0012E47C,(ASCII "789456")
00453B02   PUSH    EAX
00453B03   CALL    Publish.0047CB30    <---是否是死亡注册码 "FARKEL"

F8 ----------->
|
0047CB30  MOV     EDX, DWORD PTR SS:[ESP+4]  

; EDX<--0012E47C,(ASCII "789456")

0047CB34  MOV     ECX, DWORD PTR SS:[ESP+8]   ; 00495BD0  ASCII "FARKEL"
0047CB38  TEST    EDX, 3
0047CB3E  JNZ     SHORT Publish.0047CB7C
0047CB40  /MOV     EAX, DWORD PTR DS:[EDX]
0047CB42  |CMP     AL, BYTE PTR DS:[ECX]
0047CB44  |JNZ     SHORT Publish.0047CB74
0047CB46  |OR      AL, AL
0047CB48  |JE      SHORT Publish.0047CB70
0047CB4A  |CMP     AH, BYTE PTR DS:[ECX+1]
0047CB4D  |JNZ     SHORT Publish.0047CB74
0047CB4F  |OR      AH, AH
0047CB51  |JE      SHORT Publish.0047CB70
0047CB53  |SHR     EAX, 10
0047CB56  |CMP     AL, BYTE PTR DS:[ECX+2]
0047CB59  |JNZ     SHORT Publish.0047CB74
0047CB5B  |OR      AL, AL
0047CB5D  |JE      SHORT Publish.0047CB70
0047CB5F  |CMP     AH, BYTE PTR DS:[ECX+3]
0047CB62  |JNZ     SHORT Publish.0047CB74
0047CB64  |ADD     ECX, 4
0047CB67  |ADD     EDX, 4
0047CB6A  |OR      AH, AH
0047CB6C  \JNZ     SHORT Publish.0047CB40     ; 以上逐位比较
0047CB6E   MOV     EAX, EAX
0047CB70   XOR     EAX, EAX                   <--设标志为0
0047CB72   RETN
0047CB73   NOP
0047CB74   SBB     EAX, EAX
0047CB76   SHL     EAX, 1
0047CB78   INC     EAX                        <--设标志为非0
0047CB79   RETN
返回<-----------------

|
00453B08   ADD     ESP, 8
00453B0B   TEST    EAX, EAX                   <--判断
00453B0D   JNZ     SHORT Publish.00453B35    
00453B0F   MOV     WORD PTR DS:[49E280], 0
00453B18   MOV     BYTE PTR DS:[49E2F8], 0
00453B1F   PUSH    0                                    ; /Result = 0
00453B21   MOV     ECX, [ARG.1]                         ; |
00453B24   PUSH    ECX                                  ; |hWnd
00453B25   CALL    DWORD PTR DS:[<&USER32.EndDialog>]   ; \EndDialog
00453B2B   MOV     EAX, 1
00453B30   JMP     Publish.00453D24
00453B35   XOR     EDX, EDX
00453B37   MOV     DL, BYTE PTR DS:[49E2F8]
00453B3D   TEST    EDX, EDX
00453B3F   JE      SHORT Publish.00453B62
00453B41   MOVSX   EAX, WORD PTR DS:[49E280]
00453B48   TEST    EAX, EAX
00453B4A   JE      SHORT Publish.00453B62
00453B4C   PUSH    0                                    ; /Result = 0
00453B4E   MOV     ECX, [ARG.1]                         ; |
00453B51   PUSH    ECX                                  ; |hWnd
00453B52   CALL    DWORD PTR DS:[<&USER32.EndDialog>]   ; \EndDialog
00453B58   MOV     EAX, 1
00453B5D   JMP     Publish.00453D24
00453B62   CMP     DWORD PTR DS:[4A00B4], 8
00453B69   JLE     SHORT Publish.00453BA3
00453B6B   MOV     EDX, DWORD PTR DS:[4A00B4]
00453B71   ADD     EDX, 1
00453B74   MOV     DWORD PTR DS:[4A00B4], EDX
00453B7A   PUSH    0AF                                  ; /Arg2 = 000000AF
00453B7F   MOV     EAX, DWORD PTR DS:[49F0F4]           ; |
00453B84   PUSH    EAX                                  ; |Arg1 => 01310236
00453B85   CALL    Publish.00461D70                     ; \Publish.00461D70
00453B8A   ADD     ESP, 8
00453B8D   PUSH    0                                    ; /Result = 0
00453B8F   MOV     ECX, [ARG.1]                         ; |
00453B92   PUSH    ECX                                  ; |hWnd
00453B93   CALL    DWORD PTR DS:[<&USER32.EndDialog>]   ; \EndDialog
00453B99   MOV     EAX, 1
00453B9E   JMP     Publish.00453D24
00453BA3   MOV     BYTE PTR SS:[EBP-56], 0

以上会跳到这里:
|
00453BA7   LEA     EDX, [LOCAL.23]
00453BAA   PUSH    EDX                            
00453BAB   LEA     EAX, [LOCAL.20]    ; EAX<--0012E47C,(ASCII "789456")
00453BAE   PUSH    EAX                                  
00453BAF   CALL    Publish.00453EC2   ; 用试验码在表中取值 "789456"-->"6i56bm"
//我不知道这个字符串的作用,请大家看看.
F8 --------->
|
00453F3B   MOV     EDX, [ARG.1]             ;  EDX<--0012E47C,(ASCII "789456")
00453F3E   MOVSX   EAX, BYTE PTR DS:[EDX+3] ;  EAX<--DS:[EDX+3]=34 ('4') 第四位3]
00453F42   MOVSX   ECX, BYTE PTR DS:[EAX+495930];  ECX=DS:[EAX+495930]=39 ('9')
00453F49   SUB     ECX, 3
00453F4C   MOV     EDX, [ARG.2]
00453F4F   MOV     BYTE PTR DS:[EDX], CL      ;  CL=36 ('6')
00453F51   MOV     EAX, [ARG.1]               ;  EAX<--0012E47C,(ASCII "789456")
00453F54   MOVSX   ECX, BYTE PTR DS:[EAX]     ;  ECX<--DS:[EAX]=37 ('7') 第一位X]
00453F57   MOVSX   EDX, BYTE PTR DS:[ECX+495900] ;  EDX=DS:[ECX+495900]=68 ('h')
00453F5E   ADD     EDX, 1
00453F61   MOV     EAX, [ARG.2]
00453F64   MOV     BYTE PTR DS:[EAX+1], DL    ;  DL=69 ('i')
00453F67   MOV     ECX, [ARG.1]               ;  ECX<--0012E47C,(ASCII "789456")
00453F6A   MOVSX   EDX, BYTE PTR DS:[ECX+1]   ;  EDX=DS:[ECX+1]=38 ('8')
00453F6E   MOVSX   EAX, BYTE PTR DS:[EDX+495910] ;  EAX=DS:[EDX+495910]=34 ('4')
00453F75   ADD     EAX, 1
00453F78   MOV     ECX, [ARG.2]
00453F7B   MOV     BYTE PTR DS:[ECX+2], AL    ;  AL=35 ('5')
00453F7E   MOV     EDX, [ARG.1]               ;  EDX<--0012E47C,(ASCII "789456")
00453F81   MOVSX   EAX, BYTE PTR DS:[EDX+2]   ;  EAX=DS:[EDX+2]=39 ('9')
00453F85   MOVSX   ECX, BYTE PTR DS:[EAX+495920] ;  ECX=DS:[EAX+495920]=32 ('2')
00453F8C   ADD     ECX, 4
00453F8F   MOV     EDX, [ARG.2]
00453F92   MOV     BYTE PTR DS:[EDX+3], CL    ;  CL=36 ('6')
00453F95   MOV     EAX, [ARG.1]               ;  EAX<--0012E47C,(ASCII "789456")
00453F98   MOVSX   ECX, BYTE PTR DS:[EAX+5]   ;  ECX=DS:[EAX+5]=36 ('6')
00453F9

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

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