无逻辑注册分析

原帖地址

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

 

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

// 无逻辑注册分析

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

你可能感兴趣的:(分析)