飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 17694|回复: 49

[原创] EncryptPE V2.2007.4.11主程序破解分析

[复制链接]

该用户从未签到

发表于 2007-11-1 12:00:13 | 显示全部楼层 |阅读模式
文章标题】: EncryptPE V2.2007.4.11主程序破解分析
【文章作者】: johnroot
【软件名称】: EncryptPE V2.2007.4.11主程序
【下载地址】: 自己搜索下载
【保护方式】: EncryptPE V2.2007.4.11
【编写语言】: DELPHI
【使用工具】: OLLYDBG
【操作平台】: WIN32
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】[code]  1。脱壳我就不在这多罗嗦了,详细请参考DarkBull大侠的文章。
  
  2。修补被KEY文件偷走的3段代码:
  
  找个注册版,DUMP就可以找到
  004C4F6D    8D45 EC         LEA EAX,DWORD PTR SS:[EBP-14]
  004C4F70    BA F4B44C00     MOV EDX,EncryptP.004CB4F4
  004C4F75    E8 3EF9F3FF     CALL EncryptP.004048B8
  004C4F7A    8D95 48FFFFFF   LEA EDX,DWORD PTR SS:[EBP-B8]
  
  004C5CFE    8D85 48FFFFFF   LEA EAX,DWORD PTR SS:[EBP-B8]
  004C5D04    E8 1FF0F3FF     CALL EncryptP.00404D28
  004C5D09    C600 06         MOV BYTE PTR DS:[EAX],6
  
  004C832E    66:A1 605D4D00  MOV AX,WORD PTR DS:[4D5D60]
  004C8334    66:83C0 1C      ADD AX,1C
  004C8338    66:0305 405D4D0>ADD AX,WORD PTR DS:[4D5D40]
  004C833F    66:0305 445D4D0>ADD AX,WORD PTR DS:[4D5D44]
  004C8346    66:83E8 02      SUB AX,2
  004C834A    66:BA 0400      MOV DX,4
  004C834E    E8 418BFAFF     CALL EncryptP.00470E94
  004C8353    8BD0            MOV EDX,EAX
  004C8355    8D85 68FFFFFF   LEA EAX,DWORD PTR SS:[EBP-98]
  004C835B    B9 04000000     MOV ECX,4
  004C8360    E8 13F6F3FF     CALL EncryptP.00407978
  004C8365    8D85 44FFFFFF   LEA EAX,DWORD PTR SS:[EBP-BC]
  004C836B    8B95 68FFFFFF   MOV EDX,DWORD PTR SS:[EBP-98]
  004C8371    E8 E6CAF3FF     CALL EncryptP.00404E5C
  004C8376    66:A1 605D4D00  MOV AX,WORD PTR DS:[4D5D60]
  004C837C    66:83C0 1C      ADD AX,1C
  004C8380    66:0305 405D4D0>ADD AX,WORD PTR DS:[4D5D40]
  004C8387    66:0305 445D4D0>ADD AX,WORD PTR DS:[4D5D44]
  004C838E    66:83C0 02      ADD AX,2
  004C8392    66:8B95 68FFFFF>MOV DX,WORD PTR SS:[EBP-98]
  004C8399    E8 F68AFAFF     CALL EncryptP.00470E94
  004C839E    50              PUSH EAX
  004C839F    8D85 44FFFFFF   LEA EAX,DWORD PTR SS:[EBP-BC]
  004C83A5    E8 7EC9F3FF     CALL EncryptP.00404D28
  004C83AA    8B8D 68FFFFFF   MOV ECX,DWORD PTR SS:[EBP-98]
  004C83B0    5A              POP EDX
  004C83B1    E8 C2F5F3FF     CALL EncryptP.00407978
  004C83B6    8B95 44FFFFFF   MOV EDX,DWORD PTR SS:[EBP-BC]
  004C83BC    8B45 E0         MOV EAX,DWORD PTR SS:[EBP-20]
  004C83BF    8B08            MOV ECX,DWORD PTR DS:[EAX]
  004C83C1    FF51 2C         CALL DWORD PTR DS:[ECX+2C]
  
  
  3。找出壳的数据文件:
  004D045C >  55              PUSH EBP                 OEP
  004D045D    8BEC            MOV EBP,ESP
  004D045F    83C4 F0         ADD ESP,-10
  004D0462    B8 4C024D00     MOV EAX,EncryptP.004D024C
  004D0467    E8 B868F3FF     CALL EncryptP.00406D24
  004D046C    E8 3FE5FEFF     CALL EncryptP.004BE9B0   跟进
  
  004BE9C2    66:BA 1C00      MOV DX,1C                数据大小
  004BE9C6    66:B8 0100      MOV AX,1                 数据起始位置
  004BE9CA    E8 C524FBFF     CALL EncryptP.00470E94   获取壳数据
  004BE9CF    8B10            MOV EDX,DWORD PTR DS:[EAX]   
  
  004BE9C2    66:BA 1C00      MOV DX,1C  
  修改此处命令为 mov DX,F0000,来获取全部数据
  
  004BE9CF    8B10            MOV EDX,DWORD PTR DS:[EAX] F4我们停在着查看 EAX的数据就是壳的数据
  
  用WINHEX获取EAX处数据长度为F000,另存为文件 EPE.DAT
  
  看看壳的数据:
  
  Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
  
  00000000   38 A8 CB EE 7C 69 CC EE  D8 0B CC EE FC FE CC EE   8ㄋ顋i填?填?填
  00000010   FC BB CC EE 40 E2 0B 00  D5 06 00 00 CB CE CC E5   ?填@?.?..宋体
  00000020   00 00 00 00 FF FF FF FF  04 00 00 00 BE AF B8 E6   ....

评分

参与人数 1威望 +200 飘云币 +200 收起 理由
yyjpcx + 200 + 200 PYG有你更精彩!

查看全部评分

PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2007-11-1 12:06:48 | 显示全部楼层
呵呵!是我们想要的,数据前面5个地址(每个地址4字节),是壳加密了的子程序地址。
  Address是函数真实地址与保护密码的HASH值前八位(不足八位则前补0)转换过来的数以及特征整数两次异或过的,
  自己处理下就可以用了。
  
  
  4。找出壳的特征数值和原加壳机器的机器号:
  
  用WINHEX搜索“EncryptPE(未注册)”可以找到
  
  Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
  
  00EF4790   4E 0D 0A 44 31 38 44 46  45 45 36 30 38 31 45 36   N..D18DFEE6081E6
  00EF47A0   33 34 32 46 37 45 31 39  43 42 44 0D 0A 6A 6F 68   342F7E19CBD..joh
  00EF47B0   6E 72 6F 6F 74 0D 0A 36  36 36 36 36 36 36 36 36   nroot..666666666
  00EF47C0   36 36 36 36 36 36 0D 0A  45 6E 63 72 79 70 74 50   666666..EncryptP
  00EF47D0   45 28 CE B4 D7 A2 B2 E1  29 0D 0A 31 0D 0A 30 0D   E(未注册)..1..0.
  00EF47E0   0A 30 0D 0A 32 30 30 37  31 30 31 37 0D 0A 32 30   .0..20071017..20
  00EF47F0   30 38 30 36 33 30 0D 0A  33 30 30 0D 0A 33 35 0D   080630..300..35.
  00EF4800   0A 33 30 30 0D 0A 31 30  32 30 0D 0A 30 44 35 43   .300..1020..0D5C
  00EF4810   30 31 35 45 34 42 31 30  45 41 45 42 35 45 44 43   015E4B10EAEB5EDC
  00EF4820   32 31 42 33 37 46 30 43  34 42 36 41 44 30 30 46   21B37F0C4B6AD00F
  00EF4830   37 38 44 41 45 43 31 44  38 46 31 42 44 33 46 44   78DAEC1D8F1BD3FD
  00EF4840   43 43 42 38 30 42 38 46  36 31 30 34 37 46 33 30   CCB80B8F61047F30
  00EF4850   32 46 37 39 36 35 31 31  46 30 45 41 45 39 0D 0A   2F796511F0EAE9..
  00EF4860   31 46 30 43 39 33 41 43  46 46 46 41 37 31 43 32   1F0C93ACFFFA71C2
  00EF4870   30 30 30 35 38 45 33 44  0D                        00058E3D.
  由上数据可得知 :
  特征整数为:1020
  保密码的Hash值:0D5C015E4B10EAEB5EDC21B37F0C4B6AD00F78DAEC1D8F1BD3FDCCB80B8F61047F302F796511F0EAE9
  原加壳机器的机器号:1F0C93ACFFFA71C200058E3D
  限制试用天数、次数为:300
  过期日期为:20080630
  
  
  
  5。EncryptPE V2.2007.4.11的效验:
  主程序里:
  ::004C431C::  A1 60444D00              MOV EAX,[4D4460]                        
  ::004C4321::  8B00                     MOV EAX,[EAX]                           
  ::004C4323::  BA 0F000000              MOV EDX,F                              
  ::004C4328::  8B18                     MOV EBX,[EAX]                           
  ::004C432A::  FF53 0C                  CALL [EBX+C]                    获取原加壳机器的机器码           
  ::004C432D::  8B45 E4                  MOV EAX,[EBP-1C]                        
  ::004C4330::  B9 04000000              MOV ECX,4                        取4位      
  ::004C4335::  BA 09000000              MOV EDX,9                        第9位起      
  ::004C433A::  E8 F109F4FF              CALL 00404D30                           \:JMPUP
  ::004C433F::  8B45 E8                  MOV EAX,[EBP-18]                        
  ::004C4342::  BA 50444C00              MOV EDX,4C4450                              \->: FFFA   比较是不是“FFFA”
  ::004C4347::  E8 D008F4FF              CALL 00404C1C                           \:JMPUP
  ::004C434C::  74 07                    JE SHORT 004C4355                       \:JMPDOWN
  这样的效验有4处,还有效验特征整数
  
  DLL里:
  ::71201035::  80B8 6E030000 07         CMP     BYTE PTR [EAX+36E], 7           
  ::7120103C::  73 6B                    JNB     SHORT 712010A9                  \:JMPDOWN  //判断是不是EncryptPE主程序
  
  
  ::7120108B::  BA FC112071              MOV     EDX, 712011FC                       \->: TEncryptPEForm //如果不是主程序,就判断主窗体
  ::71201090::  E8 7F3EF2FF              CALL    71124F14                        \:JMPUP
  ::71201095::  75 12                    JNZ     SHORT 712010A9                  \:JMPDOWN
  ::71201097::  8B45 F8                  MOV     EAX, [EBP-8]                    
  ::7120109A::  05 58030000              ADD     EAX, 358                        
  ::7120109F::  BA E8112071              MOV     EDX, 712011E8                       \->: EncryptPE    如果不是主程序,而主窗体 是 “TEncryptPEForm”就使加解密字符串结果为“EncryptPE”
  ::712010A4::  E8 C33AF2FF              CALL    71124B6C                        \:JMPUP
  
  
  由上面可知,我们只要把DUMP下的程序还原成原程序一样,它的效验就失效了
  
  特征整数为:1020,使自己的机器号为:1F0C93ACFFFA71C200058E3D,选上开始获取的处理好的壳数据,自己再加
  EncryptPE壳,到此EncryptPE V2.2007.4.11的注册权就由自己控制了。
  
  
--------------------------------------------------------------------------------
PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2016-1-13 12:25
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2007-11-1 14:34:34 | 显示全部楼层
    强!!!呵呵,有空搞个动画来

    [ 本帖最后由 small-q 于 2007-11-1 14:35 编辑 ]
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-11-1 14:41:31 | 显示全部楼层
    江山待有牛人出 各领风骚数百年   /:09
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-11-1 14:44:57 | 显示全部楼层
    无语中~~
    不是一般的强/:good
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-11-1 14:54:08 | 显示全部楼层
    /:good 实在是牛/:09
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-6-27 16:55
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2007-11-1 15:11:46 | 显示全部楼层
    太有才了!期待搞个破解版来。
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2017-8-31 14:43
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2007-11-1 15:40:34 | 显示全部楼层
    强,,,学习也学不到。。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-11-1 21:19:26 | 显示全部楼层
    强悍/:good
    老王/:002
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2015-10-7 11:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2007-11-2 17:16:14 | 显示全部楼层
    学习!完美!
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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