飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5815|回复: 6

[原创] 精装友情通讯录简单分析

[复制链接]

该用户从未签到

发表于 2010-5-30 20:15:19 | 显示全部楼层 |阅读模式
首先查壳,然后运行程序,点击注册按钮,出现提示“注册失败,请重新注册”字符串,好下面就是用od加载,利用查找字符串插件,查找字符串“注册失败,请重新注册”,
00510408  /.  55            push    ebp
00510409  |.  8BEC          mov     ebp, esp
0051040B  |.  B9 17000000   mov     ecx, 17
00510410  |>  6A 00         /push    0
00510412  |.  6A 00         |push    0
00510414  |.  49            |dec     ecx
00510415  |.^ 75 F9         \jnz     short 00510410
00510417  |.  53            push    ebx
00510418  |.  56            push    esi
00510419  |.  8BD8          mov     ebx, eax
0051041B  |.  33C0          xor     eax, eax
0051041D  |.  55            push    ebp
0051041E  |.  68 8D065100   push    0051068D
00510423  |.  64:FF30       push    dword ptr fs:[eax]
00510426  |.  64:8920       mov     dword ptr fs:[eax], esp
00510429  |.  68 80000000   push    80                               ; /BufSize = 80 (128.)
0051042E  |.  8D85 7BFFFFFF lea     eax, dword ptr [ebp-85]          ; |
00510434  |.  50            push    eax                              ; |Buffer
00510435  |.  E8 D26CEFFF   call    <jmp.&kernel32.GetSystemDirector>; \GetSystemDirectoryA
0051043A  |.  8D45 FC       lea     eax, dword ptr [ebp-4]
0051043D  |.  8D95 7BFFFFFF lea     edx, dword ptr [ebp-85]
00510443  |.  B9 81000000   mov     ecx, 81
00510448  |.  E8 3746EFFF   call    00404A84
0051044D  |.  8D95 74FFFFFF lea     edx, dword ptr [ebp-8C]
00510453  |.  8B83 34030000 mov     eax, dword ptr [ebx+334]
00510459  |.  E8 D20BF3FF   call    00441030
0051045E  |.  83BD 74FFFFFF>cmp     dword ptr [ebp-8C], 0
00510465  |.  74 1A         je      short 00510481
00510467  |.  8D95 70FFFFFF lea     edx, dword ptr [ebp-90]
0051046D  |.  8B83 10030000 mov     eax, dword ptr [ebx+310]
00510473  |.  E8 B80BF3FF   call    00441030
00510478  |.  83BD 70FFFFFF>cmp     dword ptr [ebp-90], 0
0051047F  |.  75 0F         jnz     short 00510490
00510481  |>  B8 A4065100   mov     eax, 005106A4
00510486  |.  E8 999DF2FF   call    0043A224
0051048B  |.  E9 80010000   jmp     00510610
00510490  |>  8D95 6CFFFFFF lea     edx, dword ptr [ebp-94]
00510496  |.  8B83 34030000 mov     eax, dword ptr [ebx+334]
0051049C  |.  E8 8F0BF3FF   call    00441030
005104A1  |.  8B85 6CFFFFFF mov     eax, dword ptr [ebp-94]
005104A7  |.  50            push    eax
005104A8  |.  8D95 60FFFFFF lea     edx, dword ptr [ebp-A0]
005104AE  |.  8B83 10030000 mov     eax, dword ptr [ebx+310]
005104B4  |.  E8 770BF3FF   call    00441030
005104B9  |.  8B85 60FFFFFF mov     eax, dword ptr [ebp-A0]
005104BF  |.  E8 5C8EEFFF   call    00409320
005104C4  |.  B9 D1000000   mov     ecx, 0D1
005104C9  |.  99            cdq
005104CA  |.  F7F9          idiv    ecx
005104CC  |.  8BC2          mov     eax, edx
005104CE  |.  8D95 64FFFFFF lea     edx, dword ptr [ebp-9C]
005104D4  |.  E8 E38DEFFF   call    004092BC
005104D9  |.  FFB5 64FFFFFF push    dword ptr [ebp-9C]
005104DF  |.  8D95 54FFFFFF lea     edx, dword ptr [ebp-AC]
005104E5  |.  8B83 10030000 mov     eax, dword ptr [ebx+310]
005104EB  |.  E8 400BF3FF   call    00441030
005104F0  |.  8B85 54FFFFFF mov     eax, dword ptr [ebp-AC]
005104F6  |.  E8 258EEFFF   call    00409320
005104FB  |.  8D95 58FFFFFF lea     edx, dword ptr [ebp-A8]
00510501  |.  E8 C6FCFFFF   call    005101CC
00510506  |.  8B85 58FFFFFF mov     eax, dword ptr [ebp-A8]
0051050C  |.  E8 0F8EEFFF   call    00409320
00510511  |.  8D95 5CFFFFFF lea     edx, dword ptr [ebp-A4]
00510517  |.  E8 90FDFFFF   call    005102AC
0051051C  |.  FFB5 5CFFFFFF push    dword ptr [ebp-A4]
00510522  |.  68 C4065100   push    005106C4
00510527  |.  8D85 68FFFFFF lea     eax, dword ptr [ebp-98]
0051052D  |.  BA 03000000   mov     edx, 3
00510532  |.  E8 5D46EFFF   call    00404B94
00510537  |.  8B95 68FFFFFF mov     edx, dword ptr [ebp-98]
0051053D  |.  58            pop     eax
0051053E  |.  E8 D546EFFF   call    00404C18
00510543      0F85 A3000000 jnz     005105EC
00510549  |.  B8 D0065100   mov     eax, 005106D0
0051054E  |.  E8 D19CF2FF   call    0043A224
00510553  |.  A1 14BA5100   mov     eax, dword ptr [51BA14]
00510558  |.  8B00          mov     eax, dword ptr [eax]
0051055A  |.  8B80 18030000 mov     eax, dword ptr [eax+318]
00510560  |.  8B80 08020000 mov     eax, dword ptr [eax+208]
00510566  |.  33D2          xor     edx, edx
00510568  |.  E8 87ECF5FF   call    0046F1F4
0051056D  |.  BA F4065100   mov     edx, 005106F4
00510572  |.  E8 D9EBF5FF   call    0046F150
00510577  |.  8D85 50FFFFFF lea     eax, dword ptr [ebp-B0]
0051057D  |.  B9 10075100   mov     ecx, 00510710                    ;  ASCII "\hdwlz.dll"
00510582  |.  8B55 FC       mov     edx, dword ptr [ebp-4]
00510585  |.  E8 9645EFFF   call    00404B20
0051058A  |.  8B8D 50FFFFFF mov     ecx, dword ptr [ebp-B0]
00510590  |.  B2 01         mov     dl, 1
00510592  |.  A1 C4264600   mov     eax, dword ptr [4626C4]
00510597  |.  E8 D821F5FF   call    00462774
0051059C  |.  8BF0          mov     esi, eax
0051059E  |.  8D95 4CFFFFFF lea     edx, dword ptr [ebp-B4]
005105A4  |.  8B83 10030000 mov     eax, dword ptr [ebx+310]
005105AA  |.  E8 810AF3FF   call    00441030
005105AF  |.  8B85 4CFFFFFF mov     eax, dword ptr [ebp-B4]
005105B5  |.  50            push    eax
005105B6  |.  B9 24075100   mov     ecx, 00510724                    ;  ASCII "setet567"
005105BB  |.  BA 38075100   mov     edx, 00510738                    ;  ASCII "sym"
005105C0  |.  8BC6          mov     eax, esi
005105C2  |.  8B18          mov     ebx, dword ptr [eax]
005105C4  |.  FF53 04       call    dword ptr [ebx+4]
005105C7  |.  8D85 48FFFFFF lea     eax, dword ptr [ebp-B8]
005105CD  |.  B9 44075100   mov     ecx, 00510744                    ;  ASCII "\hdw1z.dll"
005105D2  |.  8B55 FC       mov     edx, dword ptr [ebp-4]
005105D5  |.  E8 4645EFFF   call    00404B20
005105DA  |.  8B85 48FFFFFF mov     eax, dword ptr [ebp-B8]
005105E0  |.  BA 02000000   mov     edx, 2
005105E5  |.  E8 7E8FEFFF   call    00409568
005105EA  |.  EB 24         jmp     short 00510610
005105EC  |>  B8 58075100   mov     eax, 00510758                                                00510408  /.  55            push    ebp
00510409  |.  8BEC          mov     ebp, esp
0051040B  |.  B9 17000000   mov     ecx, 17
00510410  |>  6A 00         /push    0
00510412  |.  6A 00         |push    0
00510414  |.  49            |dec     ecx
00510415  |.^ 75 F9         \jnz     short 00510410
00510417  |.  53            push    ebx
00510418  |.  56            push    esi
00510419  |.  8BD8          mov     ebx, eax
0051041B  |.  33C0          xor     eax, eax
0051041D  |.  55            push    ebp
0051041E  |.  68 8D065100   push    0051068D
00510423  |.  64:FF30       push    dword ptr fs:[eax]
00510426  |.  64:8920       mov     dword ptr fs:[eax], esp
00510429  |.  68 80000000   push    80                               ; /BufSize = 80 (128.)
0051042E  |.  8D85 7BFFFFFF lea     eax, dword ptr [ebp-85]          ; |
00510434  |.  50            push    eax                              ; |Buffer
00510435  |.  E8 D26CEFFF   call    <jmp.&kernel32.GetSystemDirector>; \GetSystemDirectoryA
0051043A  |.  8D45 FC       lea     eax, dword ptr [ebp-4]
0051043D  |.  8D95 7BFFFFFF lea     edx, dword ptr [ebp-85]
00510443  |.  B9 81000000   mov     ecx, 81
00510448  |.  E8 3746EFFF   call    00404A84
0051044D  |.  8D95 74FFFFFF lea     edx, dword ptr [ebp-8C]
00510453  |.  8B83 34030000 mov     eax, dword ptr [ebx+334]
00510459  |.  E8 D20BF3FF   call    00441030                          判断注册码是否为空
0051045E  |.  83BD 74FFFFFF>cmp     dword ptr [ebp-8C], 0
00510465  |.  74 1A         je      short 00510481
00510467  |.  8D95 70FFFFFF lea     edx, dword ptr [ebp-90]
0051046D  |.  8B83 10030000 mov     eax, dword ptr [ebx+310]
00510473  |.  E8 B80BF3FF   call    00441030
00510478  |.  83BD 70FFFFFF>cmp     dword ptr [ebp-90], 0            判断订单号是否为空
0051047F  |.  75 0F         jnz     short 00510490
00510481  |>  B8 A4065100   mov     eax, 005106A4
00510486  |.  E8 999DF2FF   call    0043A224
0051048B  |.  E9 80010000   jmp     00510610
00510490  |>  8D95 6CFFFFFF lea     edx, dword ptr [ebp-94]
00510496  |.  8B83 34030000 mov     eax, dword ptr [ebx+334]
0051049C  |.  E8 8F0BF3FF   call    00441030
005104A1  |.  8B85 6CFFFFFF mov     eax, dword ptr [ebp-94]
005104A7  |.  50            push    eax
005104A8  |.  8D95 60FFFFFF lea     edx, dword ptr [ebp-A0]
005104AE  |.  8B83 10030000 mov     eax, dword ptr [ebx+310]
005104B4  |.  E8 770BF3FF   call    00441030
005104B9  |.  8B85 60FFFFFF mov     eax, dword ptr [ebp-A0]
005104BF  |.  E8 5C8EEFFF   call    00409320
005104C4  |.  B9 D1000000   mov     ecx, 0D1
005104C9  |.  99            cdq
005104CA  |.  F7F9          idiv    ecx
005104CC  |.  8BC2          mov     eax, edx
005104CE  |.  8D95 64FFFFFF lea     edx, dword ptr [ebp-9C]
005104D4  |.  E8 E38DEFFF   call    004092BC
005104D9  |.  FFB5 64FFFFFF push    dword ptr [ebp-9C]
005104DF  |.  8D95 54FFFFFF lea     edx, dword ptr [ebp-AC]
005104E5  |.  8B83 10030000 mov     eax, dword ptr [ebx+310]
005104EB  |.  E8 400BF3FF   call    00441030                       这里call即,读取假“注册码”
005104F0  |.  8B85 54FFFFFF mov     eax, dword ptr [ebp-AC]
005104F6  |.  E8 258EEFFF   call    00409320
005104FB  |.  8D95 58FFFFFF lea     edx, dword ptr [ebp-A8]
00510501  |.  E8 C6FCFFFF   call    005101CC
00510506  |.  8B85 58FFFFFF mov     eax, dword ptr [ebp-A8]
0051050C  |.  E8 0F8EEFFF   call    00409320
00510511  |.  8D95 5CFFFFFF lea     edx, dword ptr [ebp-A4]
00510517  |.  E8 90FDFFFF   call    005102AC
0051051C  |.  FFB5 5CFFFFFF push    dword ptr [ebp-A4]
00510522  |.  68 C4065100   push    005106C4
00510527  |.  8D85 68FFFFFF lea     eax, dword ptr [ebp-98]
0051052D  |.  BA 03000000   mov     edx, 3
00510532  |.  E8 5D46EFFF   call    00404B94
00510537  |.  8B95 68FFFFFF mov     edx, dword ptr [ebp-98]
0051053D  |.  58            pop     eax
0051053E  |.  E8 D546EFFF   call    00404C18                                              关键call 追真码就在这call里,可以跟进,明码比较
00510543      0F85 A3000000 jnz     005105EC                                              这里修改为“je”即为爆破,再向上追
00510549  |.  B8 D0065100   mov     eax, 005106D0
0051054E  |.  E8 D19CF2FF   call    0043A224
00510553  |.  A1 14BA5100   mov     eax, dword ptr [51BA14]
00510558  |.  8B00          mov     eax, dword ptr [eax]
0051055A  |.  8B80 18030000 mov     eax, dword ptr [eax+318]
00510560  |.  8B80 08020000 mov     eax, dword ptr [eax+208]
00510566  |.  33D2          xor     edx, edx
00510568  |.  E8 87ECF5FF   call    0046F1F4
0051056D  |.  BA F4065100   mov     edx, 005106F4
00510572  |.  E8 D9EBF5FF   call    0046F150
00510577  |.  8D85 50FFFFFF lea     eax, dword ptr [ebp-B0]
0051057D  |.  B9 10075100   mov     ecx, 00510710                    ;  ASCII "\hdwlz.dll"
00510582  |.  8B55 FC       mov     edx, dword ptr [ebp-4]
00510585  |.  E8 9645EFFF   call    00404B20
0051058A  |.  8B8D 50FFFFFF mov     ecx, dword ptr [ebp-B0]
00510590  |.  B2 01         mov     dl, 1
00510592  |.  A1 C4264600   mov     eax, dword ptr [4626C4]
00510597  |.  E8 D821F5FF   call    00462774
0051059C  |.  8BF0          mov     esi, eax
0051059E  |.  8D95 4CFFFFFF lea     edx, dword ptr [ebp-B4]
005105A4  |.  8B83 10030000 mov     eax, dword ptr [ebx+310]
005105AA  |.  E8 810AF3FF   call    00441030
005105AF  |.  8B85 4CFFFFFF mov     eax, dword ptr [ebp-B4]
005105B5  |.  50            push    eax
005105B6  |.  B9 24075100   mov     ecx, 00510724                    ;  ASCII "setet567"
005105BB  |.  BA 38075100   mov     edx, 00510738                    ;  ASCII "sym"
005105C0  |.  8BC6          mov     eax, esi
005105C2  |.  8B18          mov     ebx, dword ptr [eax]
005105C4  |.  FF53 04       call    dword ptr [ebx+4]
005105C7  |.  8D85 48FFFFFF lea     eax, dword ptr [ebp-B8]
005105CD  |.  B9 44075100   mov     ecx, 00510744                    ;  ASCII "\hdw1z.dll"
005105D2  |.  8B55 FC       mov     edx, dword ptr [ebp-4]
005105D5  |.  E8 4645EFFF   call    00404B20
005105DA  |.  8B85 48FFFFFF mov     eax, dword ptr [ebp-B8]
005105E0  |.  BA 02000000   mov     edx, 2
005105E5  |.  E8 7E8FEFFF   call    00409568
005105EA  |.  EB 24         jmp     short 00510610
005105EC  |>  B8 58075100   mov     eax, 00510758                                   注册失败,请重新注册字符串提示符,向上追寻关键跳转‘jnz’
PYG19周年生日快乐!

该用户从未签到

发表于 2010-5-30 20:22:57 | 显示全部楼层
多谢楼主发帖。
我也是这么做的。

可自己的能力太差。
dword ptr [ebp-90], 0            判断订单号是否为空




00510459  |.  E8 D20BF3FF   call    00441030                          判断注册码是否为空
0051045E  |.  83BD 74FFFFFF>cmp     dword ptr [ebp-8C], 0

是不是就是说和零比较,所以就是判断是否为空了。如果是的话,我今天就算是学习了点。
PYG19周年生日快乐!

该用户从未签到

发表于 2010-5-30 20:37:35 | 显示全部楼层
知道了程序的流程,就能用多种方法解决了
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2015-8-23 23:49
  • 签到天数: 27 天

    [LV.4]偶尔看看III

    发表于 2010-5-30 20:41:45 | 显示全部楼层
    印象中记得貌似建立一个文件就OK的了哈/:017
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-5-30 21:33:37 | 显示全部楼层
    我想问下重新打开后那文件自动被删了。双显示末注册,怎么办?
    PYG19周年生日快乐!
  • TA的每日心情
    擦汗
    2020-6-14 15:22
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2010-6-1 10:19:44 | 显示全部楼层
    005153D9  |.  B9 6C555100           mov     ecx, 0051556C                                  ;  ASCII "\hdwl21.dll"

    注册文件
    PYG19周年生日快乐!
  • TA的每日心情
    擦汗
    2020-6-14 15:22
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2010-6-1 10:40:03 | 显示全部楼层
    本帖最后由 sffs 于 2010-6-1 10:42 编辑

    看了下注册算法比较简单,适合我们新收学习。
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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