飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3855|回复: 6

[原创] VB Crackme 1.0 简单分析

[复制链接]
  • TA的每日心情
    无聊
    2020-4-10 17:02
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2006-11-22 17:34:23 | 显示全部楼层 |阅读模式
    破解日期】 2006年11月22日
    【破解作者】 冷血书生
    【作者邮箱】 meiyou
    【作者主页】 hxxp://www.126sohu.com/
    【使用工具】 OD
    【破解平台】 Win9x/NT/2000/XP
    【软件名称】 VB Crackme 1.0
    【下载地址】 本地
    【软件大小】 16.5k
    【加壳方式】 无
    【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
    ------------------------------------------------------------------------

    --------
    【破解内容】


    1. 004031D5   mov esi,1
    2. 004031DA   call dword ptr ds:[<&MSVBVM50.__vbaLenVar>] ; MSVBVM50.__vbaLenVar
    3. 004031E0   push eax
    4. 004031E1   call dword ptr ds:[<&MSVBVM50.__vbaI2Var>]  ; MSVBVM50.__vbaI2Var
    5. 004031E7   mov dword ptr ss:[ebp-108],eax              ; 密码位数
    6. 004031ED   mov edi,esi
    7. 004031EF   cmp di,word ptr ss:[ebp-108]
    8. 004031F6   mov ebx,dword ptr ds:[<&MSVBVM50.__vbaStrVa>; MSVBVM50.__vbaStrVarVal
    9. 004031FC   jg CM1.0040332F
    10. 00403202   cmp si,4
    11. 00403206   jle short CM1.0040320D
    12. 00403208   mov esi,1
    13. 0040320D   movsx ecx,di
    14. 00403210   lea eax,dword ptr ss:[ebp-58]
    15. 00403213   lea edx,dword ptr ss:[ebp-28]
    16. 00403216   push eax
    17. 00403217   push ecx
    18. 00403218   lea eax,dword ptr ss:[ebp-68]
    19. 0040321B   push edx
    20. 0040321C   push eax
    21. 0040321D   mov dword ptr ss:[ebp-50],1
    22. 00403224   mov dword ptr ss:[ebp-58],2
    23. 0040322B   call dword ptr ds:[<&MSVBVM50.#632>]        ; MSVBVM50.rtcMidCharVar
    24. 00403231   mov eax,2
    25. 00403236   lea ecx,dword ptr ss:[ebp-88]
    26. 0040323C   movsx edx,si
    27. 0040323F   mov dword ptr ss:[ebp-88],eax
    28. 00403245   mov dword ptr ss:[ebp-78],eax
    29. 00403248   push ecx
    30. 00403249   lea eax,dword ptr ss:[ebp-78]
    31. 0040324C   push edx
    32. 0040324D   lea ecx,dword ptr ss:[ebp-98]
    33. 00403253   push eax
    34. 00403254   push ecx
    35. 00403255   mov dword ptr ss:[ebp-80],1
    36. 0040325C   mov dword ptr ss:[ebp-70],7D0               ; 7D0(十进制为2000
    37. 00403263   call dword ptr ds:[<&MSVBVM50.#632>]        ; MSVBVM50.rtcMidCharVar
    38. 00403269   lea edx,dword ptr ss:[ebp-68]
    39. 0040326C   lea eax,dword ptr ss:[ebp-40]
    40. 0040326F   push edx
    41. 00403270   push eax
    42. 00403271   call ebx
    43. 00403273   push eax
    44. 00403274   call dword ptr ds:[<&MSVBVM50.#516>]        ; MSVBVM50.rtcAnsiValueBstr
    45. 0040327A   movsx edx,ax                                ; 取密码
    46. 0040327D   lea ecx,dword ptr ss:[ebp-98]
    47. 00403283   lea eax,dword ptr ss:[ebp-44]
    48. 00403286   push ecx
    49. 00403287   push eax
    50. 00403288   mov dword ptr ss:[ebp-118],edx
    51. 0040328E   call ebx
    52. 00403290   push eax
    53. 00403291   call dword ptr ds:[<&MSVBVM50.#516>]        ; MSVBVM50.rtcAnsiValueBstr   /// 取2000的每一位16进制
    54. 00403297   mov edx,dword ptr ss:[ebp-118]
    55. 0040329D   movsx ecx,ax                                ; 密码
    56. 004032A0   xor edx,ecx                                 ; 密码 xor 2000
    57. 004032A2   lea eax,dword ptr ss:[ebp-A8]
    58. 004032A8   push edx
    59. 004032A9   push eax
    60. 004032AA   call dword ptr ds:[<&MSVBVM50.#608>]        ; MSVBVM50.rtcVarBstrFromAnsi
    61. 004032B0   lea ecx,dword ptr ss:[ebp-38]
    62. 004032B3   lea edx,dword ptr ss:[ebp-A8]
    63. 004032B9   push ecx
    64. 004032BA   lea eax,dword ptr ss:[ebp-B8]
    65. 004032C0   push edx
    66. 004032C1   push eax
    67. 004032C2   call dword ptr ds:[<&MSVBVM50.__vbaVarCat>] ; MSVBVM50.__vbaVarCat
    68. 004032C8   mov edx,eax
    69. 004032CA   lea ecx,dword ptr ss:[ebp-38]
    70. 004032CD   call dword ptr ds:[<&MSVBVM50.__vbaVarMove>>; MSVBVM50.__vbaVarMove
    71. 004032D3   lea ecx,dword ptr ss:[ebp-44]
    72. 004032D6   lea edx,dword ptr ss:[ebp-40]
    73. 004032D9   push ecx
    74. 004032DA   push edx
    75. 004032DB   push 2
    76. 004032DD   call dword ptr ds:[<&MSVBVM50.__vbaFreeStrL>; MSVBVM50.__vbaFreeStrList
    77. 004032E3   add esp,0C
    78. 004032E6   lea eax,dword ptr ss:[ebp-A8]
    79. 004032EC   lea ecx,dword ptr ss:[ebp-98]
    80. 004032F2   lea edx,dword ptr ss:[ebp-88]
    81. 004032F8   push eax
    82. 004032F9   push ecx
    83. 004032FA   lea eax,dword ptr ss:[ebp-78]
    84. 004032FD   push edx
    85. 004032FE   lea ecx,dword ptr ss:[ebp-68]
    86. 00403301   push eax
    87. 00403302   lea edx,dword ptr ss:[ebp-58]
    88. 00403305   push ecx
    89. 00403306   push edx
    90. 00403307   push 6
    91. 00403309   call dword ptr ds:[<&MSVBVM50.__vbaFreeVarL>; MSVBVM50.__vbaFreeVarList
    92. 0040330F   add esp,1C
    93. 00403312   inc si
    94. 00403314   mov eax,1
    95. 00403319   add ax,di
    96. 0040331C   jo CM1.00403566
    97. 00403322   jo CM1.00403566
    98. 00403328   mov edi,eax
    99. 0040332A   jmp CM1.004031EF
    100. 0040332F   lea eax,dword ptr ss:[ebp-38]
    101. 00403332   lea ecx,dword ptr ss:[ebp-C8]
    102. 00403338   push eax
    103. 00403339   push ecx
    104. 0040333A   mov dword ptr ss:[ebp-C0],CM1.004027C8      ; UNICODE "qBQSYdXUe_B\V"
    105. 00403344   mov dword ptr ss:[ebp-C8],8008
    106. 0040334E   call dword ptr ds:[<&MSVBVM50.__vbaVarTstEq>; MSVBVM50.__vbaVarTstEq
    107. 00403354   test ax,ax
    108. 00403357   mov ecx,80020004
    109. 0040335C   mov eax,0A
    110. 00403361   mov dword ptr ss:[ebp-80],ecx
    111. 00403364   mov dword ptr ss:[ebp-88],eax
    112. 0040336A   mov dword ptr ss:[ebp-70],ecx
    113. 0040336D   mov dword ptr ss:[ebp-78],eax
    114. 00403370   je CM1.0040345E                             ; 爆破点
    115. 00403376   mov esi,dword ptr ds:[<&MSVBVM50.__vbaVarDu>; MSVBVM50.__vbaVarDup
    116. 0040337C   mov edi,8
    117. 00403381   lea edx,dword ptr ss:[ebp-D8]
    118. 00403387   lea ecx,dword ptr ss:[ebp-68]
    119. 0040338A   mov dword ptr ss:[ebp-D0],CM1.00402824      ; UNICODE "Valid"
    120. 00403394   mov dword ptr ss:[ebp-D8],edi
    121. 0040339A   call esi
    122. 0040339C   lea edx,dword ptr ss:[ebp-C8]
    123. 004033A2   lea ecx,dword ptr ss:[ebp-58]
    124. 004033A5   mov dword ptr ss:[ebp-C0],CM1.004027E8      ; UNICODE "Password correct, hehe, :-)"
    125. 004033AF   mov dword ptr ss:[ebp-C8],edi

    126. /////////////////////////////////////////////////////////////////////////
    127. /////////////////////////////////////////////////////////////////////////


    128. 1, 密码 XOR 2000(每一位的16进制,不足就复制一次补足) = A
    129. 2, A与固定字符串"qBQSYdXUe_B\V"比较,相等就注册成功

    130. Password: CrackTheWorld

    131. /////////////////////////////////////////////////////////////////////////
    132. /////////////////////////////////////////////////////////////////////////

    133. ------------------------------------------------------------------------

    134. --------
    复制代码

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

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?加入我们

    x
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2015-7-31 05:51
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2006-12-5 22:09:28 | 显示全部楼层
    VB的,学习啦!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-1-2 19:05:54 | 显示全部楼层
    学习来了~~~~~~~~~还不懂
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-1-4 22:51:02 | 显示全部楼层

    能不能再详细点啊?不好懂。。。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-6-1 16:17:24 | 显示全部楼层
    原帖由 moyer 于 2007-1-4 22:51 发表

    能不能再详细点啊?不好懂。。。



    冷血这家伙太懒,苦了咱菜鸟了啊/:002
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-5-4 22:08
  • 签到天数: 114 天

    [LV.6]常住居民II

    发表于 2007-6-5 13:45:33 | 显示全部楼层
    学习中,可能搞不定哦
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-6-7 21:11:47 | 显示全部楼层
    完全看不懂啊~LZ能不能把过程写的详细点?谢谢咯
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表