【文章标题】: 《俪影2046》v2.09 完美破解
【文章作者】: ccrack
【作者邮箱】: ccrack@126.com
【作者主页】: http://blog.csdn.net/ccrack
【作者QQ号】: 627697523
【软件名称】: 《俪影2046》v2.09
【下载地址】: 自己搜索下载
【加壳方式】: 无
【保护方式】: 无
【编写语言】: vc2005
【使用工具】: OD,PEID
【操作平台】: WinXP
【软件介绍】: 一款不错的图片制作软件
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
  该软件对于没有图像制作经验的人,绝对是好帮手。很多精美漂亮的模板只要往上一拖即可。
  软件的未注册版限制了保存图像和打印图像功能。 其他功能没有限制。
 
  JackyChou已详细介绍了这款软件的破解过程,参考文章
  http://www.unpack.cn/viewthread.php?tid=23789     [UnPack论坛已关闭]
 
  下面我们参考JackyChou的破文进行破解,PEID查壳,无壳,入口地址0006F82B
  OD载入,应该停在0046F82B,如不在0046F82B,可直接Ctrl+G直接前往该地址
  往下看看,可以看到MFC8.0的类库,确认VC2005编写的程序。
  0046F82B > $  E8 13070000   call    0046FF43
  0046F830   .^ E9 36FDFFFF   jmp     0046F56B
  0046F835   .  53            push    ebx
  0046F836   .  8A5C24 08     mov     bl, byte ptr [esp+8]
  0046F83A   .  F6C3 02       test    bl, 2
  0046F83D   .  56            push    esi
  0046F83E   .  8BF1          mov     esi, ecx
  0046F840   .  74 24         je      short 0046F866
  0046F842   .  57            push    edi
  0046F843   .  68 F8014700   push    <jmp.&MSVCR80.type_info::_type_i>;  入口地址
  0046F848   .  8D7E FC       lea     edi, dword ptr [esi-4]
  0046F84B   .  FF37          push    dword ptr [edi]
  0046F84D   .  6A 0C         push    0C
  0046F84F   .  56            push    esi
  0046F850   .  E8 8D000000   call    0046F8E2
  0046F855   .  F6C3 01       test    bl, 1
  0046F858   .  74 07         je      short 0046F861
  0046F85A   .  57            push    edi                              ; /block
  0046F85B   .  E8 90EAFFFF   call    <jmp.&MFC80U.#764>               ; \free
  0046F860   .  59            pop     ecx
  0046F861   >  8BC7          mov     eax, edi
  0046F863   .  5F            pop     edi
  0046F864   .  EB 13         jmp     short 0046F879
  0046F866   >  E8 8D090000   call    <jmp.&MSVCR80.type_info::_type_i>
  0046F86B   .  F6C3 01       test    bl, 1
  0046F86E   .  74 07         je      short 0046F877
  0046F870   .  56            push    esi                              ; /block
  0046F871   .  E8 7AEAFFFF   call    <jmp.&MFC80U.#764>               ; \free
  0046F876   .  59            pop     ecx
  0046F877   >  8BC6          mov     eax, esi
  0046F879   >  5E            pop     esi
  0046F87A   .  5B            pop     ebx
  0046F87B   .  C2 0400       retn    4
  0046F87E   .- FF25 F8D04700 jmp     dword ptr [<&MSVCR80._purecall>] ;  MSVCR80._purecall
  0046F884   $  6A 14         push    14
 
 
  软件启动时,在未注册的情况下,会显示一个欢迎窗口,并有注册按钮,必须点了确定按钮后才能进行其他操作。
  现在我们开始查找去除注册限制。
  说明该对话框为模态对话框,这样就找到跟踪入口了,下断API DestroyWindow函数。
  点了确定按钮后,在OD中断下了,ALT + K,看看主程序那个Call调用了DestroyWindow函数。
 
  0040F92D   > \57            push    edi
  0040F92E   .  8BCE          mov     ecx, esi
  0040F930   .  E8 38F9FFFF   call    0040F26D                         ;  关键CALL
  0040F935   .  85C0          test    eax, eax
  0040F937   .  75 2A         jnz     short 0040F963                   ;  关键跳转
  0040F939   .  57            push    edi
  0040F93A   .  8D8D 48FFFFFF lea     ecx, dword ptr [ebp-B8]
  0040F940   .  E8 02E00500   call    0046D947
  0040F945   .  8D8D 48FFFFFF lea     ecx, dword ptr [ebp-B8]
  0040F94B   .  C645 FC 07    mov     byte ptr [ebp-4], 7
  0040F94F   .  E8 6AEB0500   call    <jmp.&MFC80U.#2011>              ;  调用模态对话框,欢迎窗口
  0040F954   .  8D8D 48FFFFFF lea     ecx, dword ptr [ebp-B8]
 
  引用JackyChou的话:
  上面00410D4E   .  E8 93F9FFFF   call    004106E6  这个关键CALL在程序中很多对方进行了调用,推测该函数就是一个
  注册验证函数,所以可以在这个函数里面可以进行完全破解。
  F7跟进。
 
  0040F26D  /$  68 44020000   push    244
  0040F272  |.  B8 CB1D4700   mov     eax, 00471DCB
  0040F277  |.  E8 48070600   call    0046F9C4
  0040F27C  |.  BE DCD44700   mov     esi, 0047D4DC
  0040F281  |.  56            push    esi
  0040F282  |.  68 48D64700   push    0047D648                         ;  UNICODE "PassWord"
  0040F287  |.  BF 5CD64700   mov     edi, 0047D65C                    ;  UNICODE "Register"
  0040F28C  |.  57            push    edi
  0040F28D  |.  8D45 9C       lea     eax, [local.25]
  0040F290  |.  50            push    eax
  0040F291  |.  894D 94       mov     [local.27], ecx
  0040F294  |.  E8 67F20500   call    <jmp.&MFC80U.#3104>
  0040F299  |.  8365 FC 00    and     [local.1], 0
  0040F29D  |.  6A 14         push    14
  0040F29F  |.  5B            pop     ebx
  0040F2A0  |.  53            push    ebx                              ; /n => 14 (20.)
  0040F2A1  |.  8D45 A0       lea     eax, [local.24]                  ; |
  0040F2A4  |.  6A 00         push    0                                ; |c = 00
  0040F2A6  |.  50            push    eax                              ; |s
  0040F2A7  |.  E8 92080600   call    <jmp.&MSVCR80.memset>            ; \memset
  0040F2AC  |.  83C4 0C       add     esp, 0C
  0040F2AF  |.  8D45 8C       lea     eax, [local.29]
  0040F2B2  |.  50            push    eax
  0040F2B3  |.  E8 BBFDFFFF   call    0040F073
  0040F2B8  |.  8B4D 94       mov     ecx, [local.27]
  0040F2BB  |.  56            push    esi
  0040F2BC  |.  68 70D64700   push    0047D670                         ;  UNICODE "Email"
  0040F2C1  |.  57            push    edi
  0040F2C2  |.  8D45 98       lea     eax, [local.26]
  0040F2C5  |.  50            push    eax
  0040F2C6  |.  E8 35F20500   call    <jmp.&MFC80U.#3104>
  0040F2CB  |.  8D4D 98       lea     ecx, [local.26]
  0040F2CE  |.  C645 FC 01    mov     byte ptr [ebp-4], 1
  0040F2D2  |.  FF15 58CE4700 call    dword ptr [<&MFC80U.#3927>]      ;  MFC80U.78303FC6
  0040F2D8  |.  84C0          test    al, al
  0040F2DA  |.  74 27         je      short 0040F303
  0040F2DC  |.  8B4D 94       mov     ecx, [local.27]
  0040F2DF  |.  8D45 90       lea     eax, [local.28]
  0040F2E2  |.  50            push    eax
  0040F2E3  |.  E8 5CF0FFFF   call    0040E344
  0040F2E8  |.  50            push    eax
  0040F2E9  |.  8D4D 98       lea     ecx, [local.26]
  0040F2EC  |.  C645 FC 02    mov     byte ptr [ebp-4], 2
  0040F2F0  |.  FF15 90CE4700 call    dword ptr [<&MFC80U.#774>]       ;  MFC80U.7830609C
  0040F2F6  |.  8D4D 90       lea     ecx, [local.28]
  0040F2F9  |.  C645 FC 01    mov     byte ptr [ebp-4], 1
  0040F2FD  |.  FF15 0CD04700 call    dword ptr [<&MFC80U.#577>]       ;  MFC80U.78306092
  0040F303  |>  8D4D 9C       lea     ecx, [local.25]
  0040F306  |.  FF15 48C34700 call    dword ptr [<&MFC80U.#4074>]      ;  MFC80U.783067C3
  0040F30C  |.  68 D4FE4700   push    0047FED4                         ;  UNICODE "45p734p434p545p3"
  0040F311  |.  8D4D 9C       lea     ecx, [local.25]
  0040F314  |.  FF15 5CC34700 call    dword ptr [<&MFC80U.#1472>]      ;  MFC80U.7830620D
  0040F31A  |.  85C0          test    eax, eax
  0040F31C  |.  74 48         je      short 0040F366
  0040F31E  |.  68 B0FE4700   push    0047FEB0                         ;  UNICODE "89d699f63d56012p"
  0040F323  |.  8D4D 9C       lea     ecx, [local.25]
  0040F326  |.  FF15 5CC34700 call    dword ptr [<&MFC80U.#1472>]      ;  MFC80U.7830620D
  0040F32C  |.  85C0          test    eax, eax
  0040F32E  |.  74 36         je      short 0040F366
  0040F330  |.  68 8CFE4700   push    0047FE8C                         ;  UNICODE "a47c018ed385757d"
  0040F335  |.  8D4D 9C       lea     ecx, [local.25]
  0040F338  |.  FF15 5CC34700 call    dword ptr [<&MFC80U.#1472>]      ;  MFC80U.7830620D
  0040F33E  |.  85C0          test    eax, eax
  0040F340  |.  74 24         je      short 0040F366
  0040F342  |.  68 68FE4700   push    0047FE68                         ;  UNICODE "8888888888888888"
  0040F347  |.  8D4D 9C       lea     ecx, [local.25]
  0040F34A  |.  FF15 5CC34700 call    dword ptr [<&MFC80U.#1472>]      ;  MFC80U.7830620D
  0040F350  |.  85C0          test    eax, eax
  0040F352  |.  74 12         je      short 0040F366
  0040F354  |.  68 44FE4700   push    0047FE44                         ;  UNICODE "a45c01ked3457574"
  0040F359  |.  8D4D 9C       lea     ecx, [local.25]
  0040F35C  |.  FF15 5CC34700 call    dword ptr [<&MFC80U.#1472>]      ;  MFC80U.7830620D
  0040F362  |.  85C0          test    eax, eax
  0040F364  |.  75 0A         jnz     short 0040F370
  0040F366  |>  56            push    esi
  0040F367  |.  8D4D 9C       lea     ecx, [local.25]
  0040F36A  |.  FF15 04D04700 call    dword ptr [<&MFC80U.#776>]       ;  MFC80U.783060AE
  0040F370  |>  53            push    ebx                              ; /n
  0040F371  |.  33F6          xor     esi, esi                         ; |
  0040F373  |.  8D45 DC       lea     eax, [local.9]                   ; |
  0040F376  |.  56            push    esi                              ; |c => 00
  0040F377  |.  50            push    eax                              ; |s
  0040F378  |.  E8 C1070600   call    <jmp.&MSVCR80.memset>            ; \memset
  0040F37D  |.  83C4 0C       add     esp, 0C
  0040F380  |.  53            push    ebx
  0040F381  |.  8D45 DC       lea     eax, [local.9]
  0040F384  |.  50            push    eax
  0040F385  |.  8D4D 98       lea     ecx, [local.26]
  0040F388  |.  FF15 B0CE4700 call    dword ptr [<&MFC80U.#870>]       ;  MFC80U.7839502E
  0040F38E  |.  50            push    eax
  0040F38F  |.  FF15 A0C04700 call    dword ptr [<&Convert20.ThWCharTo>;  Convert2.ThWCharToMByte
  0040F395  |.  53            push    ebx                              ; /n
  0040F396  |.  8D45 DC       lea     eax, [local.9]                   ; |
  0040F399  |.  50            push    eax                              ; |src
  0040F39A  |.  8D45 A0       lea     eax, [local.24]                  ; |
  0040F39D  |.  50            push    eax                              ; |dest
  0040F39E  |.  E8 29080600   call    <jmp.&MSVCR80.memcpy>            ; \memcpy
  0040F3A3  |.  53            push    ebx                              ; /n
  0040F3A4  |.  8D45 C8       lea     eax, [local.14]                  ; |
  0040F3A7  |.  56            push    esi                              ; |c
  0040F3A8  |.  50            push    eax                              ; |s
  0040F3A9  |.  E8 90070600   call    <jmp.&MSVCR80.memset>            ; \memset
  0040F3AE  |.  53            push    ebx                              ; /n
  0040F3AF  |.  8D45 B4       lea     eax, [local.19]                  ; |
  0040F3B2  |.  56            push    esi                              ; |c
  0040F3B3  |.  50            push    eax                              ; |s
  0040F3B4  |.  E8 85070600   call    <jmp.&MSVCR80.memset>            ; \memset
  0040F3B9  |.  83C4 30       add     esp, 30
  0040F3BC  |.  6A 08         push    8
  0040F3BE  |.  8D45 C8       lea     eax, [local.14]
  0040F3C1  |.  50            push    eax
  0040F3C2  |.  51            push    ecx
  0040F3C3  |.  8D45 9C       lea     eax, [local.25]
  0040F3C6  |.  8BCC          mov     ecx, esp
  0040F3C8  |.  8965 90       mov     [local.28], esp
  0040F3CB  |.  50            push    eax
  0040F3CC  |.  FF15 80CE4700 call    dword ptr [<&MFC80U.#280>]       ;  MFC80U.78305C90
  0040F3D2  |.  E8 3A8E0400   call    00458211
  0040F3D7  |.  8D45 B4       lea     eax, [local.19]
  0040F3DA  |.  50            push    eax
  0040F3DB  |.  8D45 C8       lea     eax, [local.14]
  0040F3DE  |.  50            push    eax
  0040F3DF  |.  33FF          xor     edi, edi
  0040F3E1  |.  68 B0494A00   push    004A49B0                         ;  ASCII "238990123478987"
  0040F3E6  |.  47            inc     edi
  0040F3E7  |.  57            push    edi
  0040F3E8  |.  E8 20E1FFFF   call    0040D50D
  0040F3ED  |.  83C4 1C       add     esp, 1C
  0040F3F0  |.  8BCF          mov     ecx, edi
  0040F3F2  |.  33C0          xor     eax, eax
  0040F3F4  |>  8A5405 A0     /mov     dl, byte ptr [ebp+eax-60]
  0040F3F8  |.  3A5405 B4     |cmp     dl, byte ptr [ebp+eax-4C]
  0040F3FC  |.  74 02         |je      short 0040F400
  0040F3FE  |.  33C9          |xor     ecx, ecx
  0040F400  |>  40            |inc     eax
  0040F401  |.  3BC3          |cmp     eax, ebx
  0040F403  |.^ 7C EF         \jl      short 0040F3F4
  0040F405  |.  3BCE          cmp     ecx, esi
  0040F407  |. /74 1C         je      short 0040F425                   ;  关键跳转,NOP即可验证成功。
  0040F409  |.  8D4D 98       lea     ecx, [local.26]
  0040F40C  |.  FF15 0CD04700 call    dword ptr [<&MFC80U.#577>]       ;  MFC80U.78306092
  0040F412  |.  8D4D 9C       lea     ecx, [local.25]
  0040F415  |.  FF15 0CD04700 call    dword ptr [<&MFC80U.#577>]       ;  MFC80U.78306092
  0040F41B  |.  8BC7          mov     eax, edi
  0040F41D  |>  E8 25060600   call    0046FA47
  0040F422  |.  C2 0400       retn    4
  0040F425  |>  8B4D 94       mov     ecx, [local.27]
  0040F428  |.  E8 3DEDFFFF   call    0040E16A
  0040F42D  |.  85C0          test    eax, eax
  0040F42F  |.  74 18         je      short 0040F449
  0040F431  |>  8BF7          mov     esi, edi
  0040F433  |>  8D4D 98       lea     ecx, [local.26]
  0040F436  |.  FF15 0CD04700 call    dword ptr [<&MFC80U.#577>]       ;  MFC80U.78306092
  0040F43C  |.  8D4D 9C       lea     ecx, [local.25]
  0040F43F  |.  FF15 0CD04700 call    dword ptr [<&MFC80U.#577>]       ;  MFC80U.78306092
  0040F445  |.  8BC6          mov     eax, esi
  0040F447  |.^ EB D4         jmp     short 0040F41D
  0040F449  |>  3975 08       cmp     [arg.1], esi
  0040F44C  |.^ 74 E5         je      short 0040F433
  0040F44E  |.  56            push    esi
  0040F44F  |.  8D8D B0FDFFFF lea     ecx, [local.148]
  0040F455  |.  E8 4C8C0400   call    004580A6
  0040F45A  |.  8D8D B0FDFFFF lea     ecx, [local.148]
  0040F460  |.  C645 FC 03    mov     byte ptr [ebp-4], 3
  0040F464  |.  E8 55F00500   call    <jmp.&MFC80U.#2011>
  0040F469  |.  3BC7          cmp     eax, edi
  0040F46B  |.  C645 FC 01    mov     byte ptr [ebp-4], 1
  0040F46F  |.  8D8D B0FDFFFF lea     ecx, [local.148]
  0040F475  |.  75 07         jnz     short 0040F47E
  0040F477  |.  E8 F1ECFFFF   call    0040E16D
  0040F47C  |.^ EB B3         jmp     short 0040F431
  0040F47E  |>  E8 EAECFFFF   call    0040E16D
  0040F483  \.^ EB AE         jmp     short 0040F433
 
 
  修改完保存软件,运行。OK,没有欢迎窗口,菜单里面点注册,提示注册成功。
  不过,没有结束!JackyChou破解出现一个小问题!
  如果界面中央出现一个没有标题栏的非模态窗口,并且永远桌面上程序在最顶层,上面信息写着“您使用的
  软件是破解的XXXXX”的字样。说明程序在启动的地方进行了再次验证。
  我把所有调用注册子程序的地址都罗列出来,大家进去直接更改就OK了!
  CALL 来自 004015E9
  CALL 来自 0040F542
  CALL 来自 0040F55F
  CALL 来自 0040F930
  CALL 来自 0040FAA0
  CALL 来自 00411C26
  CALL 来自 00420978
  CALL 来自 0042B0FE
  CALL 来自 0042E44E
  CALL 来自 00436A7E
  CALL 来自 00436AA4
  CALL 来自 00456055
  CALL 来自 00456938
  CALL 来自 00457120
  CALL 来自 00457911
  CALL 来自 00457952
  CALL 来自 004584F6
 
  未完,接下去我将分析注册算法!
 
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!

2009年12月26日 17:02:30

《俪影2046》v2.09 完美破解相关推荐

  1. 关于《Foxit Phantom的完美破解》的一点补充——打印驱动破解

    [破解作者] solo_lxy [使用工具] OD,IDA Pro [软件名称] Foxit Phantom 1.0.2.1123 [软件简介] Foxit Phantom是一个商业级的PDF应用软件 ...

  2. (MyEclipse) MyEclipse完美破解方法(图)

    http://photo.blog.sina.com.cn/list/blogpic.php?pid=53358777td408badc4071&bid=533587770101dd03&am ...

  3. Window10+VS2015+DevExpress.net 15.1.7完美破解(图)

    网址:http://www.cnblogs.com/-Object/p/4896585.html 推荐排行榜 1. Window10+VS2015+DevExpress.net 15.1.7完美破解( ...

  4. Myeclipse 2015 stable 2.0 完美破解方法

    以前写了一篇<Myeclipse 2015 stable 1.0 完美破解方法>,现在跟新一下Myeclipse 2015 stable 2.0 破解方法,此方法来源于贴吧的一篇文章:ht ...

  5. sourceInsight4 破解笔记(完美破解)【转】

    转自:http://www.cnblogs.com/Napoleon-Wang/p/6706773.html 软件下载地址:http://www.cr173.com/soft/421803.html ...

  6. 完美破解StartUML软件

    title: 完美破解StartUML软件 date: 2019-12-26 11:10:00 tags: StartUML categories: 工具 本文介绍的方法仅供学习使用,如果要正式使用请 ...

  7. Photoshop CS6简体中文完美破解版

    http://hi.baidu.com/chinasjy/item/fe2181a33fa9cc3c030a4df8 Photoshop CS6简体中文完美破解版 重要声明:以下资源均收集于互联网,仅 ...

  8. SQLyog 最新版本12.5-64bit 完美破解,亲测可用!

    声明:本文只是提供一个网络上找到的针对12.5版本的注册码使用方式做一个说明,不建议企业用户破解,有条件的还是希望大家购买原版.当然个人学习用的但又不想购买原版的,这里只是提供个途径,请勿用做商业用途 ...

  9. Halcon17完美破解兼容17.12.0.0附破解说明

    Halcon17完美破解兼容17.12.0.0附破解说明 https://download.csdn.net/download/wxwxx/10687696

最新文章

  1. A Self-Attention Setentence Embedding 阅读笔记
  2. CNN应用之基于R-CNN的物体检测-CVPR 2014-未完待续
  3. DevExpress v17.2新版亮点——CodeRush篇(二)
  4. php 算法 数字比较,数据两两比较的高效算法?
  5. oracle pl/sql 基础
  6. 2022年中国物联网行业研究报告
  7. 仿百度文库实现文档在线预览
  8. 中国民生银行大数据团队的Flume实践
  9. 基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构
  10. PDB药物综合数据库必备8大类非付费网址80个
  11. 【虹科科普】信号发生器分类及任意波形发生器原理
  12. 论文阅读笔记之Replacing Mobile Camera ISP with a Single Deep Learning Model
  13. 大数据时代下的计算机和互联网
  14. 【SuperMap-Leaflet】等值线/面裁剪参数设置
  15. 元素的显示visibility/display
  16. Centos7 本地IOS配置本地yum源
  17. 还在收集资料?我这里有个github汇总
  18. .Net 6.0中的新增特性_.Net 6.0中的新增功能
  19. 苏州大学21年计算机考研情况 复试python上机,专硕一志愿平均分376.9分
  20. 四旋翼无人机飞行控制算法H∞控制

热门文章

  1. 2017国庆假期学习总结
  2. 【高德地图】iOS 开发汇总(一)
  3. python中*args和**kargs得用法总结
  4. 房屋装修设计更显档次需要从几个方面入手
  5. 三星s4流量显示无服务器,揭开隐藏功能的面纱 GALAXY S4使用指南
  6. 《信息系统行锁等待的成因分析及智能化解决方案》
  7. 联想笔记本怎么进入pe系统_图解联想G40-30(N2840)笔记本是怎么进入pe设置U盘启动的...
  8. linux环境启动tomcat成功后,访问链接一直在转圈
  9. Linux系统配置网络环境的图文教程(完整版)
  10. 2008-2020年800+商业银行财务面板数据