技术 - News Message - 某个人信息管理软件破解笔记

15
09 Mar.

某个人信息管理软件破解笔记

最后更新: 2009/03/15  |  评论: 0  |  关键词: 笔记  破解  信息管理  

【破解作者】 木炭 (WoodCoal)

【作者主页】 http://www.woodcoal.cn/

【使用工具】 OllyICE 1.10

【破解平台】 WinXp(sp3)

软件名称】 某个人信息管理软件 V2.20

【下载地址】 http://www.********pim.cn/

软件简介】 个人信息管理软件。更好地管理您的时间和人脉,现在就加入快乐、高效、成功 … …

【破解声明】 只为爱好而破解!愿与我一样还是破解菜鸟的朋友们一起分享!

软件限制】 30 天免费试用

【破解内容】 用PEid检查,发现没有加壳,是用Delphi编写的。直接使用 OllyICE 调试。

启动软件提示弹出注册窗口,任意输入注册信息,注册,弹出错误信息。由于软件使用了多语言,所以直接搜索字符串找不到错误注册信息,查找语言文件,错误信息字符串为:Sorry, your registration code is not valid. Please enter the code again.

  1. 008960AC  /$  53            push    ebx  
  2. 008960AD  |.  8BDA          mov     ebx, edx  
  3. 008960AF  |.  53            push    ebx  
  4. 008960B0  |.  B2 01         mov     dl, 1  
  5. 008960B2  |.  A1 4CEC8700   mov     eax, dword ptr [87EC4C]  
  6. 008960B7  |.  E8 8C95FEFF   call    0087F648  
  7. 008960BC  |.  B9 D8608900   mov     ecx, 008960D8                    ;  ASCII "Sorry, your registration code is not valid. Please enter the code again." 
  8. 008960C1  |.  BA 2C618900   mov     edx, 0089612C                    ;  ASCII "InvalidRegCode" 
  9. 008960C6  |.  E8 ED94FEFF   call    0087F5B8  
  10. 008960CB  |.  5B            pop     ebx  
  11. 008960CC  \.  C3            retn 

移动到函数初始处:

  1. 008960AC  /$  53            push    ebx 

查看信息窗口:本地调用来自 00A012D3, 00A645DF

发现本函数来此以上两处调用,分别断以上两处,点击软件注册按钮,停在 00A645DF,查看此段内容:

  1. 00A6452C  /$  55            push    ebp  
  2. 00A6452D  |.  8BEC          mov     ebp, esp  
  3. 00A6452F  |.  33C9          xor     ecx, ecx  
  4. 00A64531  |.  51            push    ecx  
  5. 00A64532  |.  51            push    ecx  
  6. 00A64533  |.  51            push    ecx  
  7. 00A64534  |.  51            push    ecx  
  8. 00A64535  |.  51            push    ecx  
  9. 00A64536  |.  53            push    ebx  
  10. 00A64537  |.  8BD8          mov     ebx, eax  
  11. 00A64539  |.  33C0          xor     eax, eax  
  12. 00A6453B  |.  55            push    ebp  
  13. 00A6453C  |.  68 4046A600   push    00A64640  
  14. 00A64541  |.  64:FF30       push    dword ptr fs:[eax]  
  15. 00A64544  |.  64:8920       mov     dword ptr fs:[eax], esp  
  16. 00A64547  |.  8D55 F8       lea     edx, dword ptr [ebp-8]  
  17. 00A6454A  |.  8BC3          mov     eax, ebx  
  18. 00A6454C  |.  E8 53010000   call    00A646A4  
  19. 00A64551  |.  8B45 F8       mov     eax, dword ptr [ebp-8]  
  20. 00A64554  |.  E8 B70B9AFF   call    00405110  
  21. 00A64559  |.  85C0          test    eax, eax  
  22. 00A6455B  |.  75 3E         jnz     short 00A6459B  
  23. 00A6455D  |.  A0 4C46A600   mov     al, byte ptr [A6464C]  
  24. 00A64562  |.  50            push    eax  
  25. 00A64563  |.  B2 01         mov     dl, 1  
  26. 00A64565  |.  A1 F0DD8800   mov     eax, dword ptr [88DDF0]  
  27. 00A6456A  |.  E8 8525E3FF   call    00896AF4  
  28. 00A6456F  |.  8D55 F4       lea     edx, dword ptr [ebp-C]  
  29. 00A64572  |.  E8 C91AE3FF   call    00896040  
  30. 00A64577  |.  8B55 F4       mov     edx, dword ptr [ebp-C]  
  31. 00A6457A  |.  33C9          xor     ecx, ecx  
  32. 00A6457C  |.  A1 14808400   mov     eax, dword ptr [848014]  
  33. 00A64581  |.  E8 CA4ADEFF   call    00849050  
  34. 00A64586  |.  8B93 28030000 mov     edx, dword ptr [ebx+328]  
  35. 00A6458C  |.  A1 607F8400   mov     eax, dword ptr [847F60]  
  36. 00A64591  |.  E8 4E45DEFF   call    00848AE4  
  37. 00A64596  |.  E8 BDDF9AFF   call    00412558  
  38. 00A6459B  |>  E8 D840FCFF   call    00A28678  
  39. 00A645A0  |.  8945 FC       mov     dword ptr [ebp-4], eax  
  40. 00A645A3  |.  33C0          xor     eax, eax  
  41. 00A645A5  |.  55            push    ebp  
  42. 00A645A6  |.  68 1E46A600   push    00A6461E  
  43. 00A645AB  |.  64:FF30       push    dword ptr fs:[eax]  
  44. 00A645AE  |.  64:8920       mov     dword ptr fs:[eax], esp  
  45. 00A645B1  |.  8D55 F0       lea     edx, dword ptr [ebp-10]  
  46. 00A645B4  |.  8BC3          mov     eax, ebx  
  47. 00A645B6  |.  E8 95000000   call    00A64650  
  48. 00A645BB  |.  8B55 F0       mov     edx, dword ptr [ebp-10]  
  49. 00A645BE  |.  8B45 FC       mov     eax, dword ptr [ebp-4]  
  50. 00A645C1  |.  E8 5292E2FF   call    0088D818  
  51. 00A645C6  |.  84C0          test    al, al  
  52. 00A645C8      75 3E         jnz     short 00A64608  
  53. 00A645CA      A0 4C46A600   mov     al, byte ptr [A6464C]  
  54. 00A645CF  |.  50            push    eax  
  55. 00A645D0  |.  B2 01         mov     dl, 1  
  56. 00A645D2  |.  A1 F0DD8800   mov     eax, dword ptr [88DDF0]  
  57. 00A645D7  |.  E8 1825E3FF   call    00896AF4  
  58. 00A645DC  |.  8D55 EC       lea     edx, dword ptr [ebp-14]  
  59. 00A645DF  |.  E8 C81AE3FF   call    008960AC  
  60. 00A645E4  |.  8B55 EC       mov     edx, dword ptr [ebp-14]  
  61. 00A645E7  |.  33C9          xor     ecx, ecx  
  62. 00A645E9  |.  A1 14808400   mov     eax, dword ptr [848014]  
  63. 00A645EE  |.  E8 5D4ADEFF   call    00849050  
  64. 00A645F3  |.  8B93 30030000 mov     edx, dword ptr [ebx+330]  
  65. 00A645F9  |.  A1 607F8400   mov     eax, dword ptr [847F60]  
  66. 00A645FE  |.  E8 E144DEFF   call    00848AE4  
  67. 00A64603  |.  E8 50DF9AFF   call    00412558  
  68. 00A64608  |>  33C0          xor     eax, eax  
  69. 00A6460A  |.  5A            pop     edx  
  70. 00A6460B  |.  59            pop     ecx  
  71. 00A6460C  |.  59            pop     ecx  
  72. 00A6460D  |.  64:8910       mov     dword ptr fs:[eax], edx  
  73. 00A64610  |.  68 2546A600   push    00A64625  
  74. 00A64615  |>  8B45 FC       mov     eax, dword ptr [ebp-4]  
  75. 00A64618  |.  E8 D3F899FF   call    00403EF0  
  76. 00A6461D  \.  C3            retn 

查看代码,发现可疑部分:

  1. 00A645C1  |.  E8 5292E2FF   call    0088D818  
  2. 00A645C6  |.  84C0          test    al, al  
  3. 00A645C8      75 3E         jnz     short 00A64608 

使用 F8 跟踪,未跳转,然后提示注册码错误信息;重新跟踪,汇编

  1. 00A645C8     /74 3E         je      short 00A64608 

跳转,提示注册成功!所以

  1. 00A645C1  |.  E8 5292E2FF   call    0088D818  

可能为注册码验证函数。

  1. 0088D818  /$  55            push    ebp  
  2. 0088D819  |.  8BEC          mov     ebp, esp  
  3. 0088D81B  |.  B9 07000000   mov     ecx, 7  
  4. 0088D820  |>  6A 00         /push    0  
  5. ……  
  6. 0088DA53  |>  8D45 C8       lea     eax, dword ptr [ebp-38]  
  7. 0088DA56  |.  BA 0D000000   mov     edx, 0D  
  8. 0088DA5B  |.  E8 0474B7FF   call    00404E64  
  9. 0088DA60  \.  C3            retn  
  10. 0088DA61   .^ E9 326CB7FF   jmp     00404698  
  11. 0088DA66   .^ EB EB         jmp     short 0088DA53  
  12. 0088DA68      8A45 FF       mov     al, byte ptr [ebp-1]  
  13. 0088DA6B   .  5F            pop     edi  
  14. 0088DA6C   .  5E            pop     esi  
  15. 0088DA6D   .  5B            pop     ebx  
  16. 0088DA6E   .  8BE5          mov     esp, ebp  
  17. 0088DA70   .  5D            pop     ebp  
  18. 0088DA71   .  C3            retn 

直接跟踪此函数,在结束之前,直接将 al 置 1

  1. 0088DA60  \.  C3            retn  
  2. 0088DA61   .^ E9 326CB7FF   jmp     00404698  
  3. 0088DA66   .^ EB EB         jmp     short 0088DA53  
  4. 0088DA68      B0 01         mov     al, 1  
  5. 0088DA6A      90            nop  
  6. 0088DA6B   .  5F            pop     edi  
  7. 0088DA6C   .  5E            pop     esi  
  8. 0088DA6D   .  5B            pop     ebx  
  9. 0088DA6E   .  8BE5          mov     esp, ebp  
  10. 0088DA70   .  5D            pop     ebp  
  11. 0088DA71   .  C3            retn 

重新调试,一切 OK 正常进入软件,无任何提示,注册菜单消失。

【补充内容】点击关于还将提示未注册信息,原因是没有将任何注册信息写入注册表。所以关于显示提示未注册,但是此处对软件使用无任何影响。

如果需要写入注册信息,可以在未破解时先断注册信息。即:汇编

  1. 00A645C8     /74 3E         je      short 00A64608 

让软件保存一个虚假的注册信息到注册表即可。

【版权声明】 本文纯属技术交流,转载请注明作者并保持文章的完整!


注册表信息,直接导入,关于菜单将不再显示未注册版本

  1. Windows Registry Editor Version 5.00  
  2.  
  3. [HKEY_USERS\S-1-5-21-1123561945-1801674531-1606980848-500\Software\zyceffpim200]  
  4. "xbrun"=hex:4a,45,44,44,49,47,45,38,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  5.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  6.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  7.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  8.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  9.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  10.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  11.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  12.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  13.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  14.   00,00,00,00,00,00,00,00,00  
  15. "xbrrc"=hex:49,36,36,34,49,37,47,38,38,38,4a,35,37,38,36,38,4a,38,4a,37,38,3b,\  
  16.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  17.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  18.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  19.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  20.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  21.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  22.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  23.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  24.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  25.   00,00,00,00,00,00,00,00,00  
  26. "xbrmd"=hex:35,34,35,34,47,48,3d,35,35,35,35,37,47,35,34,35,35,39,3c,35,35,35,\  
  27.   37,3d,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  28.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  29.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  30.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  31.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  32.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  33.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  34.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  35.   00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\  
  36.   00,00,00,00,00,00,00,00,00 

· 本文由 木炭 发布在《激情燃烧的木炭》 上,原文地址为:http://www.woodcoal.cn/technology/news-message/2009315-22510-546.html(转载请保留本信息、全文内容和链接)

发表评论

已经有 0 位朋友发表了对《某个人信息管理软件破解笔记》的看法
 
登录名:  密码:   登录  注册
评论: 
User:
Contact:
验证码:  
  [Ctrl+Enter]

关于本文