昨天发了个3.53的破解版,当时没考虑到,不同的地区所用的客户端是不同的,所以就在这把破解过程介绍一遍吧...
我所指的破解不是什么高深的东西,而是简单的jmp(不过也不要小看了jmp,绕过注册验证之类的都可以jmp,插入代码也可以jmp到自己的代码区域完成后再jmp回来)...根据大姚的说法只要把监控线程给终结掉,或者不让他启动应该就能达到破解的目的,但是在我的机子上,开着虚拟机共享上网,3.72并没有自动注销,我也就没必要去探究jmp掉哪个线程了。
Dr.com每次一连上网就会弹出一次IE,这个特烦人,我拿到原版第一件想做的事情就是去掉弹出IE,也是一个jmp,和jmp监控线程是一样的原理。
首先用PEID查下壳,发现加的是UPX的壳,这种壳熟练了以后是最容易脱的。详细的脱壳就不说了,这里给出一个简便方法,对于大部分UPX的壳,你只要一直按pagedown就能很快找到papad,因为papad下面几行是0000,空的...
004E7DC6 61 popad
004E7DC7 8D4424 80 lea eax, dword ptr [esp-80]
004E7DCB 6A 00 push 0
004E7DCD 39C4 cmp esp, eax
004E7DCF ^ 75 FA jnz short 004E7DCB
004E7DD1 83EC 80 sub esp, -80
004E7DD4 - E9 6639F3FF jmp 0041B73F <--F7跟过去就是OEP了
004E7DD9 0000 add byte ptr [eax], al
004E7DDB 0000 add byte ptr [eax], al
004E7DDD 0000 add byte ptr [eax], al
004E7DDF 0000 add byte ptr [eax], al
004E7DE1 0000 add byte ptr [eax], al
004E7DE3 0000 add byte ptr [eax], al
单步步入跟到0x0041B73F处...
0041B73F 55 push ebp <--这里就是OEP了
然后用Ollydump或者LordPE把整个内存dump出来,再重建IAT就行了,脱壳就完成了...
再用OD载入脱壳后的dr.com,调用IE打开指定网页一般会用CreateProcess这个API,快捷键Ctrl+N调出函数名称,再找到CreateProcess的地址...
在主线程模块搜索FF 15 FC D1 41 00 即call CreateProcess 的机器码
找到所有调用CreateProcess的地方F2下断点,再F9让程序停在断点处,找到创建IE进程的CreateProcess处,在该call的下面一行按:(冒号)做个标签here,往上找到第一个push的地方,按空格键修改成 jmp here,这样就把IE弹出框给jmp掉了,再保存修改到文件就OK了。
如果要jmp掉createthread也是一样的...