设为主页 | 加入收藏 | 繁體中文

OllyDBG 入门系列(二)-字串参考


  00403B4F |> 52              PUSH EDX
  00403B50 |. C1EA 02         SHR EDX,2                           ; 用户名长度值右移2位,这里相当于长度除以4
  00403B53 |. 74 26           JE SHORT CrackMe3.00403B7B          ; 上面的指令及这条指令便是判断用户名长度最少不能低于4
  00403B55 |> 8B0E            MOV ECX,DWORD PTR DS:[ESI]          ; 把我们输入的用户名送到ECX
  00403B57 |. 8B1F            MOV EBX,DWORD PTR DS:[EDI]          ; 把“Registered User”送到EBX
  00403B59 |. 39D9            CMP ECX,EBX                         ; 比力
  00403B5B |. 75 58           JNZ SHORT CrackMe3.00403BB5         ; 不等则完蛋
  根据上面的分析,我们晓得用户名必须是“Registered User”。我们按 F9 键让步伐运行,出现错误对话框,点确定,重新在第一个编辑框中输入“Registered User”,再次点击谁人“Register now !”按钮,被 OllyDBG 拦下。因为地点 00440F34 处的谁人 CALL 我们已经分析清楚了,这次就不消再按 F7 键跟进去了,间接按 F8 键通过。我们一路按 F8 键,离开第二个关键代码处:
  00440F49 |. 8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]         ; 取输入的注册码
  00440F4C |. BA 2C104400     MOV EDX,CrackMe3.0044102C            ; ASCII "GFX-754-IER-954"
  00440F51 |. E8 D62BFCFF     CALL CrackMe3.00403B2C               ; 关键,要用F7跟进去
  00440F56 |. 75 1A           JNZ SHORT CrackMe3.00440F72          ; 这里跳走就完蛋
  各人细致看一下,地点 00440F51 处的 CALL CrackMe3.00403B2C 和上面我们分析的地点 00440F34 处的 CALL CrackMe3.00403B2C 是不是汇编指令都一样啊?这说明检测用户名和注册码是用的统一个子步伐。而这个子步伐 CALL 我们在上面已经分析过了。我们执行到如今可以很容易得出结论,这个 CALL 也便是把我们输入的注册码与 00440F4C 地点处指令后的“GFX-754-IER-954”作比力,相称则 OK。好了,我们已经得到充足的信息了。如今我们在菜单 查看->断点 上点击一下,翻开断点窗口(也可以通过组合键 ALT+B 或点击工具栏上谁人“B”图标翻开断点窗口):


  为什么要做这一步,而不是把这个断点删除呢?这里主要是为了保险一点,万一分析错误,我们还要接着分析,要是把断点删除了就要做一些反停工作了。照旧先禁用一下,如果经过现实验证证明我们的分析是精确的,再删不迟。如今我们把断点禁用,在 OllyDBG 中按 F9 键让步伐运行。输入我们经分析得出的内容:
  用户名:Registered User
  注册码:GFX-754-IER-954
  点击“Register now !”按钮,呵呵,终于乐成了:


    文章作者: 福州军威计算机技术有限公司
    军威网络是福州最专业的电脑维修公司,专业承接福州电脑维修、上门维修、IT外包、企业电脑包年维护、局域网网络布线、网吧承包等相关维修服务。
    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和声明。否则将追究法律责任。

TAG:
评论加载中...
内容:
评论者: 验证码: