首页
社区
课程
招聘
[旧帖] [求助]请前辈指点一下EPE如何改自己机器ID问题 0.00雪花
发表于: 2007-12-8 22:03 4431

[旧帖] [求助]请前辈指点一下EPE如何改自己机器ID问题 0.00雪花

2007-12-8 22:03
4431
在网上找到johnroot的文章。有些问题不明白,请前辈指点下。
1、文中第二步说“找个注册版”,这个注册版哪里有下载呢?
2、最后有“使自己的机器号为:1F0C93ACFFFA71C200058E3D”,怎么操作改自己的机器ID呢?
=====================================

EncryptPE V2.2007.4.11主程序破解分析
EncryptPE V2.2007.4.11主程序破解分析
文章标题】: 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  ....

呵呵!是我们想要的,数据前面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的注册权就由自己控制了。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
和我有同样的问题,希望有人能指点一下吧
2008-4-15 17:32
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
遇到这个壳了,不过楼主太高,小的没看懂
2008-6-27 21:05
0
游客
登录 | 注册 方可回帖
返回
//