zoukankan      html  css  js  c++  java
  • 吾爱破解2012CM大赛破文willJ

    既然别人破过了,那我就要和别人不一样。

    OD载入,运行,输入假码。

    点击“查看”----“窗口”

    找到check按钮,右键,“在classproc上设置消息断点”

    选择202

    确定,找到程序,点击check按钮。

    这时候停在系统领空。点击“查看”-“内存”,在text上F2下断,F9运行。

    这时候来到程序的消息处理函数位置,但不一定立刻就处理按钮消息。

    我们往下看找到好几个GetDlgItemXXX之类的函数,这就是处理按钮的了。

    1 00401218   . /0F87 6F010000 ja      0040138D
    2 0040121E   . |6A 00         push    0                                ; /IsSigned = FALSE
    3 00401220   . |6A 00         push    0                                ; |pSuccess = NULL
    4 00401222   . |68 FA030000   push    3FA                              ; |ControlID = 3FA (1018.)
    5 00401227   . |56            push    esi                              ; |hWnd
    6 00401228   . |FFD7          call    edi                              ; \GetDlgItemInt
    7 0040122A   . |85C0          test    eax, eax

    直接在test eax,eax上F4。

    通过测试我们就可以找到关键跳。

    1 00401254   .  8B3D D4604000 mov     edi, dword ptr [<&USER32.GetDlgI>;  USER32.GetDlgItem
    2 0040125A   .  83C4 18       add     esp, 18
    3 0040125D   .  85C0          test    eax, eax
    4 0040125F   .  74 6B         je      short 004012CC                   ;  关键跳

    nop关键跳即可。

    破解视频: http://115.com/file/dpt0ijpb

  • 相关阅读:
    小程序文档
    display: flex;
    时间戳格式化
    transition-分栏按钮动画
    animation与transition区别
    放大镜
    原生js实现瀑布流效果
    Javascript获取数组中最大和最小值
    scss基础
    C/C++ XMPP/Jabber 客户端类库对比/点评 (转)
  • 原文地址:https://www.cnblogs.com/tk091/p/2500817.html
Copyright © 2011-2022 走看看