【破解日期】 2006年4月6日 22:51
【破解作者】 冷血书生[OCN][DFCG]
【作者邮箱】 meiyou
【作者主页】 meiyou
【使用工具】 OD
【破解平台】 Win9x/NT/2000/XP
【软件名称】 易通文件夹锁2006 V2.8.1
【下载地址】 http://www.shareware.cn/pub/14197.html
【软件大小】 2.68 MB
【加壳方式】 ASPack 2.12 -> Alexey Solodovnikov
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【破解内容】
应lzq1973 兄弟的要求写的,本今晚不想写,虽然简单,但却花掉N个小时,晕啊~没办法,俺还是菜鸟一个!
003CF1E4 A1 C0C93D00 mov eax,dword ptr ds:[3DC9C0]
003CF1E9 8B00 mov eax,dword ptr ds:[eax]
003CF1EB E8 5C81FEFF call ETDirLoc.003B734C
003CF1F0 8D45 F4 lea eax,dword ptr ss:[ebp-C]
003CF1F3 E8 54FAFFFF call ETDirLoc.003CEC4C ; 获取硬盘ID计算机器码
003CF1F8 8D4D F0 lea ecx,dword ptr ss:[ebp-10]
003CF1FB 8BD7 mov edx,edi
003CF1FD A1 48DC3D00 mov eax,dword ptr ds:[3DDC48]
003CF202 E8 55FCFFFF call ETDirLoc.003CEE5C ; 注册算法CALL
003CF207 8B45 F0 mov eax,dword ptr ss:[ebp-10] ; 真码
003CF20A 8BD6 mov edx,esi
003CF20C E8 1759F9FF call ETDirLoc.00364B28 ; 经典比较
003CF211 0F85 A0000000 jnz ETDirLoc.003CF2B7
003CF217 B2 01 mov dl,1
003CF219 A1 F4D93C00 mov eax,dword ptr ds:[3CD9F4]
////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////// 跟进 call ETDirLoc.003CEC4C ///////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
003CEC6A E8 5DFEFFFF call ETDirLoc.003CEACC
003CEC6F 8D55 F8 lea edx,dword ptr ss:[ebp-8]
003CEC72 8B45 FC mov eax,dword ptr ss:[ebp-4]
003CEC75 E8 929DF9FF call ETDirLoc.00368A0C
003CEC7A 8B55 F8 mov edx,dword ptr ss:[ebp-8]
003CEC7D 8D45 FC lea eax,dword ptr ss:[ebp-4]
003CEC80 E8 3F5BF9FF call ETDirLoc.003647C4
003CEC85 837D FC 00 cmp dword ptr ss:[ebp-4],0 ; 是否有硬盘?
003CEC89 74 22 je short ETDirLoc.003CECAD
003CEC8B 8D45 F4 lea eax,dword ptr ss:[ebp-C]
003CEC8E 50 push eax
003CEC8F 33C9 xor ecx,ecx
003CEC91 BA 12000000 mov edx,12 ; edx=12
003CEC96 8B45 FC mov eax,dword ptr ss:[ebp-4] ; 硬盘ID转移
003CEC99 E8 FA000000 call ETDirLoc.003CED98 ; 机器码算法CALL
003CEC9E 8B55 F4 mov edx,dword ptr ss:[ebp-C]
003CECA1 B8 48DC3D00 mov eax,ETDirLoc.003DDC48
////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////// 跟进 call ETDirLoc.003CED98 ///////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
003CEDC3 E8 1C5CF9FF call ETDirLoc.003649E4 ; 获取长度
003CEDC8 8BF8 mov edi,eax ; 转移
003CEDCA 85FF test edi,edi
003CEDCC 7E 61 jle short ETDirLoc.003CEE2F
003CEDCE BE 01000000 mov esi,1 ; esi=1
003CEDD3 8B45 FC mov eax,dword ptr ss:[ebp-4]
003CEDD6 0FB64430 FF movzx eax,byte ptr ds:[eax+esi-1] ; 依次取硬盘ID ASCII值
003CEDDB 99 cdq
003CEDDC F77D F8 idiv dword ptr ss:[ebp-8] ; /12
003CEDDF 8BDA mov ebx,edx ; 结果转移
003CEDE1 33DE xor ebx,esi ; ebx xor esi
003CEDE3 837D F4 01 cmp dword ptr ss:[ebp-C],1 ; 与1比较
003CEDE7 75 2A jnz short ETDirLoc.003CEE13 ; 不相等就跳,如果不跳,就走下面的计算
003CEDE9 8BC3 mov eax,ebx
003CEDEB B9 24000000 mov ecx,24
003CEDF0 99 cdq
003CEDF1 F7F9 idiv ecx
003CEDF3 8BDA mov ebx,edx
003CEDF5 8D45 F0 lea eax,dword ptr ss:[ebp-10]
003CEDF8 8A93 30C63D00 mov dl,byte ptr ds:[ebx+3DC630]
003CEDFE E8 095BF9FF call ETDirLoc.0036490C
003CEE03 8B55 F0 mov edx,dword ptr ss:[ebp-10]
003CEE06 8B45 08 mov eax,dword ptr ss:[ebp+8]
003CEE09 E8 DE5BF9FF call ETDirLoc.003649EC
003CEE0E 8B45 08 mov eax,dword ptr ss:[ebp+8]
003CEE11 EB 18 jmp short ETDirLoc.003CEE2B
003CEE13 8D55 EC lea edx,dword ptr ss:[ebp-14]
003CEE16 8BC3 mov eax,ebx
003CEE18 E8 0B9EF9FF call ETDirLoc.00368C28 ; 将值转化为十进制
003CEE1D 8B55 EC mov edx,dword ptr ss:[ebp-14]
003CEE20 8B45 08 mov eax,dword ptr ss:[ebp+8]
003CEE23 E8 C45BF9FF call ETDirLoc.003649EC
003CEE28 8B45 08 mov eax,dword ptr ss:[ebp+8]
003CEE2B 46 inc esi
003CEE2C 4F dec edi
003CEE2D ^ 75 A4 jnz short ETDirLoc.003CEDD3 ; 循环计算
003CEE2F 33C0 xor eax,eax
003CEE31 5A pop edx
003CEE32 59 pop ecx
003CEE33 59 pop ecx
003CEE34 64:8910 mov dword ptr fs:[eax],edx
003CEE37 68 51EE3C00 push ETDirLoc.003CEE51
003CEE3C 8D45 EC lea eax,dword ptr ss:[ebp-14]
003CEE3F BA 02000000 mov edx,2
003CEE44 E8 0759F9FF call ETDirLoc.00364750
003CEE49 C3 retn
////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////// 跟进 call ETDirLoc.003CEE5C ///////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
003CEE9F E8 405BF9FF call ETDirLoc.003649E4
003CEEA4 85C0 test eax,eax
003CEEA6 0F84 A2000000 je ETDirLoc.003CEF4E
003CEEAC 8D45 E4 lea eax,dword ptr ss:[ebp-1C]
003CEEAF E8 7858F9FF call ETDirLoc.0036472C
003CEEB4 8B45 FC mov eax,dword ptr ss:[ebp-4]
003CEEB7 E8 285BF9FF call ETDirLoc.003649E4
003CEEBC 8945 EC mov dword ptr ss:[ebp-14],eax
003CEEBF 8B45 F8 mov eax,dword ptr ss:[ebp-8]
003CEEC2 E8 1D5BF9FF call ETDirLoc.003649E4
003CEEC7 8945 E8 mov dword ptr ss:[ebp-18],eax
003CEECA BF 01000000 mov edi,1
003CEECF BB 01000000 mov ebx,1
003CEED4 C745 F0 0100000>mov dword ptr ss:[ebp-10],1 ; [ebp-10]=1
003CEEDB 8B45 FC mov eax,dword ptr ss:[ebp-4]
003CEEDE 0FB64438 FF movzx eax,byte ptr ds:[eax+edi-1] ; 依次取机器码ASCII值
003CEEE3 2B45 F0 sub eax,dword ptr ss:[ebp-10] ; eax-[ebp-10]
003CEEE6 03C7 add eax,edi ; eax+edi
003CEEE8 8B55 F8 mov edx,dword ptr ss:[ebp-8]
003CEEEB 0FB6541A FF movzx edx,byte ptr ds:[edx+ebx-1] ; 依次取用户名ASCII值
003CEEF0 33C2 xor eax,edx ; eax xor edx
003CEEF2 03C3 add eax,ebx ; eax+edx
003CEEF4 99 cdq
003CEEF5 33C2 xor eax,edx ; eax xor edx
003CEEF7 2BC2 sub eax,edx ; eax-edx
003CEEF9 8BF0 mov esi,eax ; eax转移
003CEEFB 8BC6 mov eax,esi
003CEEFD B9 24000000 mov ecx,24 ; ecx=24
003CEF02 99 cdq
003CEF03 F7F9 idiv ecx ; /24
003CEF05 8BF2 mov esi,edx ; edx为结果
003CEF07 8D45 E0 lea eax,dword ptr ss:[ebp-20]
003CEF0A 8A96 30C63D00 mov dl,byte ptr ds:[esi+3DC630] ; 从密码表取相应的位数
003CEF10 E8 F759F9FF call ETDirLoc.0036490C
003CEF15 8B55 E0 mov edx,dword ptr ss:[ebp-20]
003CEF18 8D45 E4 lea eax,dword ptr ss:[ebp-1C]
003CEF1B E8 CC5AF9FF call ETDirLoc.003649EC
003CEF20 3B7D EC cmp edi,dword ptr ss:[ebp-14]
003CEF23 7D 03 jge short ETDirLoc.003CEF28
003CEF25 47 inc edi
003CEF26 EB 05 jmp short ETDirLoc.003CEF2D
003CEF28 BB 01000000 mov ebx,1
003CEF2D 3B5D E8 cmp ebx,dword ptr ss:[ebp-18]
003CEF30 7D 03 jge short ETDirLoc.003CEF35
003CEF32 43 inc ebx
003CEF33 EB 05 jmp short ETDirLoc.003CEF3A
003CEF35 BB 01000000 mov ebx,1
003CEF3A FF45 F0 inc dword ptr ss:[ebp-10]
003CEF3D 837D F0 15 cmp dword ptr ss:[ebp-10],15
003CEF41 ^ 75 98 jnz short ETDirLoc.003CEEDB
003CEF43 8B45 F4 mov eax,dword ptr ss:[ebp-C]
003CEF46 8B55 E4 mov edx,dword ptr ss:[ebp-1C]
003CEF49 E8 3258F9FF call ETDirLoc.00364780
003CEF4E 33C0 xor eax,eax
003CEF50 5A pop edx
003CEF51 59 pop ecx
003CEF52 59 pop ecx
003CEF53 64:8910 mov dword ptr fs:[eax],edx
003CEF56 68 70EF3C00 push ETDirLoc.003CEF70
003CEF5B 8D45 E0 lea eax,dword ptr ss:[ebp-20]
003CEF5E BA 02000000 mov edx,2
003CEF63 E8 E857F9FF call ETDirLoc.00364750
003CEF68 C3 retn
////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
机器码算法总结:
(1)(硬盘IDASCII值/12) xor esi(esi初始为1,其后为累加值)
(2)每一次的计算结果转换为十进制后连接起来,就是机器码了
注册码算法总结:
(1)(机器码ASCII值 xor 用户名ASCII值 + n(n第一次为1,第二次为2,第三次为3,……) )/24
(2)每一次的结果结果去查密码表,每一次所查的结果连接起来即为注册码
密码表: CM5EQ9RPZ6DV4B3ULC7YSG8KFNA1HIG2JOT
////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
--------------------------------------------------------------------------------
【破解总结】
没啥好总结,纯属娱乐!
--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)