zoukankan      html  css  js  c++  java
  • 黑鹰破解软件的爆破p32

    https://files.cnblogs.com/tk091/SMS.zip

    首先查壳

    ASPack 2.12 -> Alexey Solodovnikov

    很简单,用esp搞定

     1 00401408   /EB 10           jmp     short 0040141A                   ; oep
     2 0040140A   |66:623A         bound   di, dword ptr [edx]
     3 0040140D   |43              inc     ebx
     4 0040140E   |2B2B            sub     ebp, dword ptr [ebx]
     5 00401410   |48              dec     eax
     6 00401411   |4F              dec     edi
     7 00401412   |4F              dec     edi
     8 00401413   |4B              dec     ebx
     9 00401414   |90              nop
    10 00401415  -|E9 98F04900     jmp     008A04B2
    11 0040141A   \A1 8BF04900     mov     eax, dword ptr [49F08B]
    12 0040141F    C1E0 02         shl     eax, 2
    13 00401422    A3 8FF04900     mov     dword ptr [49F08F], eax

    我们注册试试,发现会出现下面的提示:

    我们用OD载入,查找字符串

    1 Ultra String Reference, 条目 40
    2  Address=00402DE9
    3  Disassembly=mov     edx, 0049F421
    4  Text String=注册码不正确!
    5 
    6 Ultra String Reference, 条目 41
    7  Address=00402E37
    8  Disassembly=mov     edx, 0049F42F
    9  Text String=注册成功!\n  感谢您的支持!

    跟进错误提示

     1 00402DDE  |. /74 4E         je      short 00402E2E
     2 00402DE0  |. |66:C785 14FFF>mov     word ptr [ebp-EC], 158
     3 00402DE9  |. |BA 21F44900   mov     edx, 0049F421                    ;  注册码不正确!
     4 00402DEE  |. |8D85 44FFFFFF lea     eax, dword ptr [ebp-BC]
     5 00402DF4  |. |E8 B3AD0900   call    0049DBAC
     6 00402DF9  |. |FF85 20FFFFFF inc     dword ptr [ebp-E0]
     7 00402DFF  |. |8B00          mov     eax, dword ptr [eax]
     8 00402E01  |. |E8 F69C0600   call    0046CAFC
     9 00402E06  |. |FF8D 20FFFFFF dec     dword ptr [ebp-E0]
    10 00402E0C  |. |8D85 44FFFFFF lea     eax, dword ptr [ebp-BC]
    11 00402E12  |. |BA 02000000   mov     edx, 2
    12 00402E17  |. |E8 8CAE0900   call    0049DCA8
    13 00402E1C  |. |8B0D C09C4A00 mov     ecx, dword ptr [4A9CC0]          ;  dump.004AB1E4
    14 00402E22  |. |8B01          mov     eax, dword ptr [ecx]
    15 00402E24  |. |E8 A7570600   call    004685D0
    16 00402E29  |. |E9 F2000000   jmp     00402F20
    17 00402E2E  |> \66:C785 14FFF>mov     word ptr [ebp-EC], 164
    18 00402E37  |.  BA 2FF44900   mov     edx, 0049F42F                    ;  注册成功!\n  感谢您的支持!

    错误提示上面的提示即是关键跳,但是通过实验发现,仅修改这个跳转是不成功的,也就是不完美爆破。

    因为程序还有个问题,就是使用次数的问题,即是破解了这里,还是会显示nag框。

    总的来说,程序验证注册码是否成功,如果成功,则跳过次数限制以及注册失败。

    我们往上看

     1 0040261F  |. /0F84 41090000 je      00402F66
     2 00402625  |. |66:C785 14FFF>mov     word ptr [ebp-EC], 8C
     3 0040262E  |. |BA 11F34900   mov     edx, 0049F311                    ;  count
     4 00402633  |. |8D45 C8       lea     eax, dword ptr [ebp-38]
     5 00402636  |. |E8 71B50900   call    0049DBAC
     6 0040263B  |. |FF85 20FFFFFF inc     dword ptr [ebp-E0]
     7 00402641  |. |8B10          mov     edx, dword ptr [eax]
     8 00402643  |. |8B85 FCFEFFFF mov     eax, dword ptr [ebp-104]
     9 00402649  |. |E8 1E200200   call    0042466C
    10 0040264E  |. |83F8 03       cmp     eax, 3
    11 00402651  |. |0F9CC1        setl    cl
    12 00402654  |. |83E1 01       and     ecx, 1
    13 00402657  |. |51            push    ecx
    14 00402658  |. |FF8D 20FFFFFF dec     dword ptr [ebp-E0]
    15 0040265E  |. |8D45 C8       lea     eax, dword ptr [ebp-38]
    16 00402661  |. |BA 02000000   mov     edx, 2
    17 00402666  |. |E8 3DB60900   call    0049DCA8
    18 0040266B  |. |59            pop     ecx
    19 0040266C  |. |84C9          test    cl, cl
    20 0040266E  |. |0F84 4D020000 je      004028C1

    有两个跳转,可以跳过次数限制,我们只需要修改第一个即可。

    录制的视频:http://115.com/file/e79q3n0n

  • 相关阅读:
    创建型设计模式之-单例
    设计模式(1、创造型2、结构型、3行为型)
    手写IOC容器和两种注入(构造方法注入和属性注入)
    从依赖倒置原则到IOC控制反转
    自定义HttpHandler可以做什么
    一个用户在浏览器上输入网址怎么走到我们写的.net程序中的,请求到管道处理
    代理Nginx
    .Net Expression表达式目录树(自己动态创建表达式目录树)
    canvas绘制圆环进度条
    城市二级联动
  • 原文地址:https://www.cnblogs.com/tk091/p/2493504.html
Copyright © 2011-2022 走看看