首页
社区
课程
招聘
[讨论]E语言写的使用硬盘序列号加密的程序
发表于: 2007-1-8 17:13 11206

[讨论]E语言写的使用硬盘序列号加密的程序

2007-1-8 17:13
11206
【破解分析】

PEID查壳  无壳

00403831 >/$  55            PUSH EBP    //OD在入停在这里
00403832  |.  8BEC          MOV EBP,ESP
00403834  |.  6A FF         PUSH -1
00403836  |.  68 F0624000   PUSH 发贴-测?004062F0
0040383B  |.  68 A44C4000   PUSH 发贴-测?00404CA4                       ;  SE 处理程序安装
00403840  |.  64:A1 0000000>MOV EAX,DWORD PTR FS:[0]
00403846  |.  50            PUSH EAX
00403847  |.  64:8925 00000>MOV DWORD PTR FS:[0],ESP
0040384E  |.  83EC 58       SUB ESP,58
00403851  |.  53            PUSH EBX
00403852  |.  56            PUSH ESI
00403853  |.  57            PUSH EDI
00403854  |.  8965 E8       MOV DWORD PTR SS:[EBP-18],ESP
00403857  |.  FF15 48604000 CALL DWORD PTR DS:[<&KERNEL32.GetVersion>;  kernel32.GetVersion
0040385D  |.  33D2          XOR EDX,EDX
0040385F  |.  8AD4          MOV DL,AH
00403861  |.  8915 6C8A4000 MOV DWORD PTR DS:[408A6C],EDX
00403867  |.  8BC8          MOV ECX,EAX
00403869  |.  81E1 FF000000 AND ECX,0FF
0040386F  |.  890D 688A4000 MOV DWORD PTR DS:[408A68],ECX
00403875  |.  C1E1 08       SHL ECX,8
00403878  |.  03CA          ADD ECX,EDX
0040387A  |.  890D 648A4000 MOV DWORD PTR DS:[408A64],ECX
00403880  |.  C1E8 10       SHR EAX,10
00403883  |.  A3 608A4000   MOV DWORD PTR DS:[408A60],EAX
00403888  |.  33F6          XOR ESI,ESI
0040388A  |.  56            PUSH ESI
0040388B  |.  E8 D3010000   CALL 发贴-测?00403A63

F9跑起来后 提示XXXXXXXX 按ALT+E

Executable modules, 项目 3
基址=10000000
大小=00121000 (1183744.)
入口=1011E001 krnln.<模块入口点>
名称=krnln
文件版本=1, 0, 0, 1
路径=C:\DOCUME~1\BLACKP~1\LOCALS~1\Temp\E_4\krnln.fnr

找到这个模块  

双击来到这里

10001000    55              PUSH EBP   //来到这里
10001001    8BEC            MOV EBP,ESP
10001003    6A FF           PUSH -1
10001005    68 B8910B10     PUSH krnln.100B91B8
1000100A    64:A1 00000000  MOV EAX,DWORD PTR FS:[0]
10001010    50              PUSH EAX
10001011    64:8925 0000000>MOV DWORD PTR FS:[0],ESP
10001018    83EC 10         SUB ESP,10
1000101B    53              PUSH EBX
1000101C    56              PUSH ESI
1000101D    57              PUSH EDI
1000101E    8D4D E4         LEA ECX,DWORD PTR SS:[EBP-1C]
10001021    8965 F0         MOV DWORD PTR SS:[EBP-10],ESP
10001024    E8 63C30A00     CALL krnln.100AD38C
10001029    8B55 10         MOV EDX,DWORD PTR SS:[EBP+10]
1000102C    8B4D 08         MOV ECX,DWORD PTR SS:[EBP+8]
1000102F    52              PUSH EDX
10001030    8B55 0C         MOV EDX,DWORD PTR SS:[EBP+C]
10001033    8B01            MOV EAX,DWORD PTR DS:[ECX]
10001035    C745 FC 0000000>MOV DWORD PTR SS:[EBP-4],0
1000103C    52              PUSH EDX
1000103D    C645 FC 01      MOV BYTE PTR SS:[EBP-4],1
10001041    FF50 34         CALL DWORD PTR DS:[EAX+34]
10001044    8BF0            MOV ESI,EAX
10001046    C745 FC FFFFFFF>MOV DWORD PTR SS:[EBP-4],-1
1000104D    E8 78C30A00     CALL krnln.100AD3CA
10001052    8BC6            MOV EAX,ESI
使用OD插件 Ultra string Reference的Find ASCII功能,找到超级字串参考, 项目 64
地址=1000DEE6
反汇编=PUSH krnln.100DDFCC
文本字串=\\.\PhysicalDrive0
双击

1000DEDA    53              PUSH EBX
1000DEDB    53              PUSH EBX
1000DEDC    6A 03           PUSH 3
1000DEDE    53              PUSH EBX
1000DEDF    6A 03           PUSH 3
1000DEE1    68 000000C0     PUSH C0000000
1000DEE6    68 CCDF0D10     PUSH krnln.100DDFCC                      ; \\.\PhysicalDrive0
1000DEEB    FF15 20240C10   CALL DWORD PTR DS:[100C2420]             ; kernel32.CreateFileA
1000DEF1    8BF0            MOV ESI,EAX
1000DEF3    83FE FF         CMP ESI,-1
1000DEF6    0F84 C0000000   JE krnln.1000DFBC
1000DEFC    57              PUSH EDI
1000DEFD    B9 06000000     MOV ECX,6
1000DF02    33C0            XOR EAX,EAX
1000DF04    8D7C24 14       LEA EDI,DWORD PTR SS:[ESP+14]
1000DF08    F3:AB           REP STOS DWORD PTR ES:[EDI]
1000DF0A    8D4424 0C       LEA EAX,DWORD PTR SS:[ESP+C]
1000DF0E    53              PUSH EBX
1000DF0F    50              PUSH EAX
1000DF10    8D4C24 1C       LEA ECX,DWORD PTR SS:[ESP+1C]
1000DF14    6A 18           PUSH 18
1000DF16    51              PUSH ECX
1000DF17    53              PUSH EBX
1000DF18    53              PUSH EBX
1000DF19    68 80400700     PUSH 74080
1000DF1E    56              PUSH ESI
1000DF1F    895C24 2C       MOV DWORD PTR SS:[ESP+2C],EBX
1000DF23    FF15 28240C10   CALL DWORD PTR DS:[100C2428]             ; kernel32.DeviceIoControl
1000DF29    8A4424 17       MOV AL,BYTE PTR SS:[ESP+17]
1000DF2D    3AC3            CMP AL,BL
1000DF2F    76 78           JBE SHORT krnln.1000DFA9
1000DF31    24 10           AND AL,10
1000DF33    B9 08000000     MOV ECX,8
1000DF38    F6D8            NEG AL

在1000DEE6访问断点 重新载入程序 跑起来后 提示XXX输入假玛 点确定 自动退出!

如果下硬件执行断点 可以断下来 但是不能输入假玛了



跟过来跟过去 没找到爆破点 也没找到注册玛比较

请大家帮忙分析下

软件下载地址

http://www.onlinedown.net/soft/39990.htm

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

收藏
免费 0
支持
分享
最新回复 (48)
雪    币: 304
活跃值: (82)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
2
如果是易语言的直接反编译成源码,所有处理一目了然。
2007-1-8 17:43
0
雪    币: 16
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
正确的 注册是,那个 注册的 项消失,呵呵
我有机会在搞,呵呵
那个提示注册其实还没完全破解,呵呵

我是看了网站上的 说明才知道的 呵呵
2007-1-8 19:04
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
4
最初由 skylly 发布
如果是易语言的直接反编译成源码,所有处理一目了然。


E-Code Explorer 0.86版 反编译也找不到?
2007-1-8 19:26
0
雪    币: 175
活跃值: (2331)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
最初由 skylly 发布
如果是易语言的直接反编译成源码,所有处理一目了然。


易语言可以直接反编译成源码?
2007-1-8 20:42
0
雪    币: 144
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
应该是胡说吧
2007-1-8 21:30
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
7
cmp eax,0
2007-1-8 21:35
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
8
最初由 大彻大悟 发布
cmp eax,0


没看见这个地址?我就是在找这个地址 没找到?
2007-1-8 22:27
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
9
放个下载连接
2007-1-8 22:41
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
10
最初由 大彻大悟 发布
放个下载连接


跟过来跟过去 没找到爆破点 也没找到注册玛比较

请大家帮忙分析下

软件下载地址

http://www.onlinedown.net/soft/39990.htm

2007-1-8 22:58
0
雪    币: 184
活跃值: (47)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
11
找到程序的空间 在会吊时候段掉他不就行了~~
2007-1-9 07:40
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
12
最初由 wopasi 发布
找到程序的空间 在会吊时候段掉他不就行了~~


程序的空间找到了

但是就是没找到关键代码?
2007-1-9 11:34
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
13
楼上的大侠门还没找到解决办法

找到了告诉下 卡在这里2天了没进展了
2007-1-9 15:22
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
14
别管库函数,在.ecode段中断
2007-1-9 17:53
0
雪    币: 211
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
00439075    55              PUSH EBP
这里开始吧~
2007-1-9 18:48
0
雪    币: 211
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
00439075    55              PUSH EBP
00439076    8BEC            MOV EBP,ESP
00439078    90              NOP
00439079    90              NOP
0043907A    90              NOP
0043907B    6A 00           PUSH 0
0043907D    6A 00           PUSH 0
0043907F    6A 00           PUSH 0
00439081    68 01030080     PUSH 80000301
00439086    6A 00           PUSH 0
00439088    90              NOP
00439089    90              NOP
0043908A    90              NOP
0043908B    68 00000000     PUSH 0
00439090    68 04000080     PUSH 80000004
00439095    6A 00           PUSH 0
00439097    90              NOP
00439098    90              NOP
00439099    90              NOP
0043909A    90              NOP
0043909B    68 FFB94000     PUSH 发贴-试?0040B9FF
004390A0    68 03000000     PUSH 3
004390A5    BB 00030000     MOV EBX,300
004390AA    90              NOP
004390AB    90              NOP
004390AC    90              NOP
004390AD    E8 4F020000     CALL 发贴-试?00439301    //这里出错了.....

看来象胡扯的............
004390B2    83C4 28         ADD ESP,28
004390B5    90              NOP
004390B6    90              NOP
004390B7    90              NOP
004390B8    90              NOP
004390B9    90              NOP
004390BA    90              NOP
004390BB    90              NOP
004390BC    68 01000100     PUSH 10001
004390C1    90              NOP
004390C2    90              NOP
004390C3    90              NOP
004390C4    68 00000106     PUSH 6010000
004390C9    68 01000152     PUSH 52010001
004390CE    68 01000000     PUSH 1
004390D3    BB 60030000     MOV EBX,360
004390D8    90              NOP
004390D9    90              NOP
004390DA    90              NOP
004390DB    90              NOP
004390DC    E8 20020000     CALL 发贴-试?00439301
004390E1    83C4 10         ADD ESP,10
004390E4    90              NOP
004390E5    90              NOP
004390E6    90              NOP
004390E7    90              NOP
004390E8    90              NOP
004390E9    90              NOP
004390EA    90              NOP
004390EB    68 01000100     PUSH 10001
004390F0    90              NOP
004390F1    90              NOP
004390F2    90              NOP
004390F3    90              NOP
004390F4    90              NOP
004390F5    90              NOP
004390F6    90              NOP
004390F7    90              NOP
004390F8    90              NOP
004390F9    90              NOP
004390FA    90              NOP
004390FB    68 E0000106     PUSH 60100E0
00439100    68 DF000152     PUSH 520100DF
00439105    68 01000000     PUSH 1
0043910A    BB 60030000     MOV EBX,360
0043910F    90              NOP
00439110    90              NOP
00439111    90              NOP
00439112    90              NOP
00439113    E8 E9010000     CALL 发贴-试?00439301
00439118    83C4 10         ADD ESP,10
0043911B    8BE5            MOV ESP,EBP
0043911D    5D              POP EBP
0043911E    C3              RETN
2007-1-9 18:53
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
17
还是不行啊 能详细的指点一下么?
2007-1-9 20:33
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
18
最初由 forgot 发布
别管库函数,在.ecode段中断


请问目的是不是为了找关键字符?

但是提示错误太多 还是迷茫了。。请版主详细一点点
2007-1-9 21:34
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
19
我晕 还是不行啊。。各种方法都试过了
能力有限 哪个大侠把谜底公开下啊
2007-1-10 12:14
0
雪    币: 1223
活跃值: (469)
能力值: (RANK:460 )
在线值:
发帖
回帖
粉丝
20
用EcE加载,在插件里面把花指令插件启用,然后用调试模式自动跑到入口点,选“分析”-〉“详细的反汇编分析”。在生成的报告文件里面搜索“取硬盘特征字”,应该就可以找到。
2007-1-10 13:18
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
21
最初由 monkeycz 发布
用EcE加载,在插件里面把花指令插件启用,然后用调试模式自动跑到入口点,选“分析”-〉“详细的反汇编分析”。在生成的报告文件里面搜索“取硬盘特征字”,应该就可以找到。


谢谢版主。。有点效果。。努力跟```
2007-1-10 14:55
0
雪    币: 144
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
然后用调试模式自动跑到入口点?怎么做是,没有发现E-CE有这东西的,是用OD

吗? 还是菜啊 请斑竹说明白点

附件是我自己生成的报告,没有发现斑竹说的

取硬盘特征字 请问我错在什么地方?
2007-1-10 15:09
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
23
还是不行。。谁能详细的指点一下么 2天了 晕忽忽的
2007-1-10 21:00
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
24
最初由 monkeycz 发布
用EcE加载,在插件里面把花指令插件启用,然后用调试模式自动跑到入口点,选“分析”-〉“详细的反汇编分析”。在生成的报告文件里面搜索“取硬盘特征字”,应该就可以找到。


然后用调试模式自动跑到入口点 这个是怎么实现的 没用过ECE 请指教
2007-1-10 22:44
0
雪    币: 1223
活跃值: (469)
能力值: (RANK:460 )
在线值:
发帖
回帖
粉丝
25
在“分析设置”-〉“进程分析设置”里面有

2007-1-11 10:24
0
游客
登录 | 注册 方可回帖
返回
//