无逻辑注册分析

原帖地址

http://www.unpack.cn/thread-58776-1-1.html

 

做个记录留给自己以后可以看看

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
// 无逻辑注册分析
01234567890123456789012345678901 假码
 
// 首先对程序进行脱壳  upx
 
// 因为程序使用易语言编写 里边还加了花指令 , 所以使用OD 插件"E Junk Code"  去除程序所有花指令
// 然后再重新dump 进程(因为 EjunkCode 使用writeprocememory) OD无法直接 保存 所以重新再把程序dump 出来
// 现在你可以看到干净的代码了, 下面来对程序进行分析
 
00405E17    E8 AD020000     call <fackFlow.取硬盘序列号>                   ; 读取机器码
00405E1C    8945 F4         mov dword ptr ss:[ebp-0xC],eax           ; F2407F55
 
00405E31    8B45 F4         mov eax,dword ptr ss:[ebp-0xC]
00405E34    A3 90614900     mov dword ptr ds:[0x496190],eax 保存机器码 int
 
00405E78    8B45 F4         mov eax,dword ptr ss:[ebp-0xC]
00405E7B    50              push eax
00405E7C    90              nop
00405E7D    90              nop
00405E7E    90              nop
00405E7F    8B1D 94614900   mov ebx,dword ptr ds:[0x496194]
00405E85    85DB            test ebx,ebx
00405E87    74 09           je XfackFlow.00405E92
00405E89    53              push ebx
00405E8A    E8 45700000     call fackFlow.0040CED4
00405E8F    83C4 04         add esp,0x4
00405E92    58              pop eax
00405E93    A3 94614900     mov dword ptr ds:[0x496194],eax  转换为字节集
 
// 计算机器码
00405EAB    68 94614900     push fackFlow.00496194                   ; pMachineCode
00405EB3    E8 CD0A0000     call fackFlow.00406985                   ; 计算出机器码、
00405EB8    8945 F4         mov dword ptr ss:[ebp-0xC],eax      // call
 
0016D038  D4D3F021
 
// 计算注册玛部分
00403360    E8 999B0000     call fackFlow.0040CEFE                   ; 读取注册码
00403365    83C4 10         add esp,0x10
00403368    8945 E4         mov dword ptr ss:[ebp-0x1C],eax
 
0040338F    8945 FC         mov dword ptr ss:[ebp-0x4],eax
 
//  计算机器码
0040369A    8D45 E4         lea eax,dword ptr ss:[ebp-0x1C]   // 字节集 注册码
0040369D    50              push eax
0040369E    90              nop
0040369F    90              nop
004036A0    90              nop
004036A1    E8 D0F1FFFF     call fackFlow.00402876
004036A6    8945 E0         mov dword ptr ss:[ebp-0x20],eax  // 0B 6D C7 83 29 83 4F A1
004036DC    8945 F8         mov dword ptr ss:[ebp-0x8],eax
 
// 到这里写不下去了
 
//  如果注册码失败的话 程序会直接内存错误, 所以可以在od里边去掉
// 内存访问异常的勾  来拦截异常的内容 , 进而进行修改

// 到这里写不下去了

//  如果注册码失败的话 程序会直接内存错误, 所以可以在od里边去掉 // 内存访问异常的勾  来拦截异常的内容 , 进而进行修改

 // 可通过搜索特征码

 

 

 

CLG_E逆工程师

E_Junk_Code

Crackme

程序打包

 http://pan.baidu.com/s/1qWPsEF6

posted @   JinsYang  阅读(221)  评论(0编辑  收藏  举报
编辑推荐:
· .NET开发智能桌面机器人:用.NET IoT库编写驱动控制两个屏幕
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· ASP.NET Core - 日志记录系统(二)
· .NET 依赖注入中的 Captive Dependency
阅读排行:
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(二):用.NET IoT库
· 几个自学项目的通病,别因为它们浪费了时间!
· 在外漂泊的这几年总结和感悟,展望未来
· .NET 数据拷贝方案选择
· .net工作流elsa-书签
点击右上角即可分享
微信分享提示