飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 7493|回复: 14

[原创] The Enigma Protector 1.66 偽注冊 (含源碼)

[复制链接]
  • TA的每日心情
    开心
    2019-3-14 10:36
  • 签到天数: 44 天

    [LV.5]常住居民I

    发表于 2009-6-11 15:00:38 | 显示全部楼层 |阅读模式
    網上已經放出 The Enigma Protector 1.66 正式版了.
    希望大家參考網上的教程, 自已動手破解.

    這裡送個小禮物給大家玩玩.
    順便介紹一下, Enigma 的另一種修改法.

    用法:
    把 Zenix_Enigma.DLL 放到 Enigma verion 1.66 的 Plugins 文件夾底下.
    再啟動 Enigma

    這個例子只破解 Enigma 主程序的注冊檢查.
    其它的地方, 留給你們自已練習.

    ZeNiX  2009-06-09


    源碼在這裡...
    中間放了點防小人山寨的簡單加減法標記 ZeNiX.
    相信這裡的朋友都看得懂.
    1.     .386
    2.     .model flat, stdcall
    3.     option casemap :none   ; case sensitive

    4.     include \masm32\include\windows.inc

    5. .code

    6. LibMain proc hInstDLL:DWORD, reason:DWORD, unused:DWORD


    7.         .if reason == DLL_PROCESS_ATTACH

    8.             mov Eax, TRUE

    9.         .elseif reason == DLL_PROCESS_DETACH

    10.         .elseif reason == DLL_THREAD_ATTACH

    11.         .elseif reason == DLL_THREAD_DETACH
    12.             
    13.         .endif
    14.            
    15.         _exit:

    16.         ret

    17. LibMain Endp

    18. Enigma_Plugin_About proc      
    19.             push ebx
    20.             push eax
    21.             mov  ebx, dword ptr Zenix
    22.             mov  eax, dword ptr Zenix+1
    23.             sub  ebx, 689F4CEDh
    24.             add  eax, 6d771ceh                    
    25.             mov dword ptr [ebx], eax
    26.             pop  eax
    27.             pop ebx      
    28.             ret
    29.   Zenix     db 'ZeNiX'         
    30. Enigma_Plugin_About endp

    31. Enigma_Plugin_Description proc
    32.             ret
    33. Enigma_Plugin_Description endp

    34. Enigma_Plugin_OnInit proc
    35.             ret
    36. Enigma_Plugin_OnInit endp

    37. End LibMain
    复制代码
    追加一些說明:
    給新手說說如何找到這個修改點的思路吧!
    首先, 拿出 Enigma 的 API 來看看, 我注意到這個 API.
    EP_RegLoadAndCheckKey 用来读取和验证注册信息,包含两个函数 EP_RegLoadKey 和 EP_RegCheckKey 。

    1. 008EF614 >/$  53            push    ebx
    2. 008EF615  |.  83C4 F8       add     esp, -8
    3. 008EF618  |.  33DB          xor     ebx, ebx
    4. 008EF61A  |.  8D4424 04     lea     eax, dword ptr [esp+4]
    5. 008EF61E  |.  50            push    eax                              ; /Arg2
    6. 008EF61F  |.  8D4424 04     lea     eax, dword ptr [esp+4]           ; |
    7. 008EF623  |.  50            push    eax                              ; |Arg1
    8. 008EF624  |.  E8 23FCFFFF   call    EP_RegLoadKey                    ; \EP_RegLoadKey
    9. 008EF629  |.  83F8 01       cmp     eax, 1
    10. 008EF62C  |.  75 11         jnz     short 008EF63F
    11. 008EF62E  |.  8B4424 04     mov     eax, dword ptr [esp+4]
    12. 008EF632  |.  50            push    eax                              ; /Arg2
    13. 008EF633  |.  8B4424 04     mov     eax, dword ptr [esp+4]           ; |
    14. 008EF637  |.  50            push    eax                              ; |Arg1
    15. 008EF638  |.  E8 3FF2FFFF   call    EP_RegCheckKey                   ; \EP_RegCheckKey
    16. 008EF63D  |.  8BD8          mov     ebx, eax
    17. 008EF63F  |>  8BC3          mov     eax, ebx
    18. 008EF641  |.  59            pop     ecx
    19. 008EF642  |.  5A            pop     edx
    20. 008EF643  |.  5B            pop     ebx
    21. 008EF644  \.  C3            retn
    复制代码
    代碼不長, 人肉 F5 一下, 大概是這個樣子.
    1. BOOL EP_RegLoadAndCheckKey()
    2. {
    3.   if (EP_RegLoadKey( char** Name, char** Key ))
    4.       return EP_RegCheckKey( char* Name, char* Key );
    5.   else
    6.       return FALSE;
    7. }
    复制代码
    也就是說, 注冊判斷的傳回值在 EP_RegCheckKey, 所以我們就來看看 EP_RegCheckKey()
    1. 008EE87C >/$  55            push    ebp
    2. 008EE87D  |.  8BEC          mov     ebp, esp
    3. 008EE87F  |.  53            push    ebx
    4. 008EE880  |.  56            push    esi
    5. 008EE881  |.  8B75 0C       mov     esi, dword ptr [ebp+C]
    6. 008EE884  |.  8B5D 08       mov     ebx, dword ptr [ebp+8]
    7. 008EE887  |.  8BC6          mov     eax, esi
    8. 008EE889  |.  E8 CAA9F8FF   call    00879258
    9. 008EE88E  |.  50            push    eax
    10. 008EE88F  |.  56            push    esi
    11. 008EE890  |.  8BC3          mov     eax, ebx
    12. 008EE892  |.  E8 C1A9F8FF   call    00879258
    13. 008EE897  |.  50            push    eax
    14. 008EE898  |.  53            push    ebx
    15. 008EE899  |.  E8 6AFDFFFF   call    EP_RegCheckKeyEx
    16. 008EE89E  |.  8B15 A01B9200 mov     edx, dword ptr [921BA0]          ;  DLL_Load.0092A164
    17. 008EE8A4  |.  8802          mov     byte ptr [edx], al
    18. 008EE8A6  |.  5E            pop     esi
    19. 008EE8A7  |.  5B            pop     ebx
    20. 008EE8A8  |.  5D            pop     ebp
    21. 008EE8A9  \.  C2 0800       retn    8
    复制代码
    我們看到注冊標志由 EP_RegCheckKeyEx() 傳回來的 al 來決定的.
    所以我們只要讓它返回時, al=1 就好了.
    al=0 (未注冊)
    al=1 (已注冊)

    本帖子中包含更多资源

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

    x
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-6-11 15:05:46 | 显示全部楼层
    强大。。
    学习了。。
    PYG19周年生日快乐!
  • TA的每日心情
    慵懒
    2018-4-24 11:02
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2009-6-11 15:33:54 | 显示全部楼层
    PYG的贵宾.../:017
    PYG19周年生日快乐!
  • TA的每日心情
    慵懒
    2019-2-17 18:27
  • 签到天数: 33 天

    [LV.5]常住居民I

    发表于 2009-6-12 10:47:17 | 显示全部楼层
    强大!
    /:09

    支持一下,难得zenix在这里发贴
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-6-13 22:44:15 | 显示全部楼层
    /:018    没想到大Z突然混迹到这儿了 O(∩_∩)O哈哈~
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2017-3-9 21:22
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2009-6-13 23:45:34 | 显示全部楼层
    牛牛牛~~~
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-3-15 21:05
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2009-6-13 23:49:50 | 显示全部楼层
    /:good 和三鹿同一级别的大牛 精品文章 慢慢领悟:loveliness:
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-4-25 19:39
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2009-6-13 23:51:59 | 显示全部楼层
    突然出现的牛人,惊起一阵小波澜!
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2017-8-31 14:43
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2009-6-13 23:56:00 | 显示全部楼层
    学习。。。。。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-6-14 03:10:50 | 显示全部楼层
    感谢zenix分享的文章 这样今后再处理显注册问题 就简单多了 O(∩_∩)O~
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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