lgjxj
发表于 2007-11-7 21:54:22
算法就是把内置的用户名 累加后
0048BD66 6945 F8 55E70B0>imul eax, dword ptr , 0BE755
EAX 为累加值
0048BD6D 05 970F0C00 add eax, 0C0F97
0048BD72 8945 F8 mov dword ptr , eax
0048BD75 8B5D F8 mov ebx, dword ptr
0048BD78 D1FB sar ebx, 1 EBX 就算完这步就是结果了
km159
发表于 2007-11-12 10:26:31
我加过壳。。。
你带壳分析?
lgjxj
发表于 2007-11-12 16:19:02
能不脱壳的情况下,绝对不去动它,这是我的原则 (只求结果)
hsnail
发表于 2007-11-12 19:44:27
看看,受教了谢谢
jting8210
发表于 2007-11-22 20:38:06
看看,真是受教了谢谢
塞上小飞
发表于 2007-11-27 21:08:11
看看
都是牛人呀!~~
指舞瞬间
发表于 2007-12-22 08:33:42
/:good 都高手
km159
发表于 2008-9-27 17:35:00
只有一人过关??
x80x88
发表于 2008-9-28 09:13:37
忽悠无罪,破解有理!/:001
OD载入后多进程啊/:011 !可以先运行程序再附加进来就OK了!用户名不能乱输哦,程序内置白名单/:012
.......
0048BD91lea edx,dword ptr ss:
0048BD97mov eax,dword ptr ds:
0048BD9Dcall out.0043658C
0048BDA2mov eax,dword ptr ss:
0048BDA8call out.004080CC
0048BDADcmp ebx,eax ; 真假码比较,EAX中为假码的16进制值,EBX中为真码的16进制值
0048BDAFjnz short out.0048BDC9
0048BDB1push 40
0048BDB3mov ecx,out.0048C2BC
0048BDB8mov edx,out.0048C2C4
.......
[ 本帖最后由 x80x88 于 2008-9-28 13:32 编辑 ]
x80x88
发表于 2008-9-28 09:39:15
继续娱乐一下!/:018
........
0048BD06mov eax,dword ptr ss:
0048BD0Cmov edx,dword ptr ds:
0048BD0Ecall out.004042A8 ; 与内置的白名单进行比较了
0048BD13jnz short out.0048BD85 ; 改成jz把自己的名字改成白名单娱乐一下^_^
0048BD15lea edx,dword ptr ss:
0048BD1Bmov eax,dword ptr ds:
0048BD21call out.0043658C
0048BD26mov eax,dword ptr ss:
0048BD2Ccall out.0040415C
0048BD31mov ebx,eax
0048BD33test ebx,ebx
0048BD35jle short out.0048BD66
0048BD37mov dword ptr ss:,1
0048BD3Elea edx,dword ptr ss:
0048BD44mov eax,dword ptr ds:
0048BD4Acall out.0043658C
0048BD4Fmov eax,dword ptr ss:
0048BD55mov edx,dword ptr ss:
0048BD58movzx eax,byte ptr ds: ; 按位取用户名"x80x88"
0048BD5Dadd dword ptr ss:,eax ; 累加
0048BD60inc dword ptr ss:
0048BD63dec ebx ; 循环
0048BD64jnz short out.0048BD3E ; 将用户名各位ASCII值结果累加,我的结果为1C8
0048BD66imul eax,dword ptr ss:,0BE755 ; 上面的累加结果乘0BE755,我的为1C8*0BE755=15340F68
0048BD6Dadd eax,0C0F97 ; 结果再加,即15340F68+0C0F97=15401EFF
0048BD72mov dword ptr ss:,eax ; 将结果搬来搬去^_^
0048BD75mov ebx,dword ptr ss: ;
0048BD78sar ebx,1 ; 上面的结果再右移1位,结果为0AA00F7F
0048BD7Ajns short out.0048BD7F ; 结果与正则转移
0048BD7Cadc ebx,0 ; 如果结果为负则转化成正数?
0048BD7Fadd ebx,4A2FFE3 ; 上面的结果再加,即0AA00F7F+4A2FFE3=0F430F62,转化为10进制即为真码"256053090"
0048BD85add edi,4
0048BD88dec dword ptr ss:
0048BD8Bjnz out.0048BCF5
0048BD91lea edx,dword ptr ss:
0048BD97mov eax,dword ptr ds:
0048BD9Dcall out.0043658C
0048BDA2mov eax,dword ptr ss:
0048BDA8call out.004080CC
0048BDADcmp ebx,eax ; 真假码比较,EAX中为假码的16进制值,EBX中为真码的16进制值
0048BDAFjnz short out.0048BDC9
.......
[ 本帖最后由 x80x88 于 2008-9-28 09:54 编辑 ]