有感于博客长期缺少学术氛围,每天都是在为生活的琐事牢骚,今天俺决定写点技术性的东西,免得让人觉得自己不学无术——虽然我的确觉得自己就是如此。
这个程序是一位QQ上的朋友Livermore和我共同研究的,我的破解里面用到了许多他的研究成果,这里先向Livermore表示感谢。这个程序网上挺常见的,可以给EPSON ME2打印机清零,但网上给出的破解方法太麻烦,所以Livermore打算做个好点的破解,我只是做了一些打下手的工作,却征得了他的同意在这儿大言不惭地在这儿写博客,有点惭愧。
网上给出的破解需要三个条件,当条件不满足的时候会弹出对话框说无法运行程序,这里的爆破点在4036C5和4036F0初的两个call。
004036CD /74 0A je short 004036D9
004036CF |C785 E8FDFFFF 0>mov dword ptr [ebp-218], 1
004036D9 \8B85 E8FDFFFF mov eax, dword ptr [ebp-218]
004036DF 50 push eax
004036E0 8B8D 10FCFFFF mov ecx, dword ptr [ebp-3F0]
004036E6 81C1 2C0C0000 add ecx, 0C2C
004036EC 51 push ecx
004036ED 8D4D E4 lea ecx, dword ptr [ebp-1C]
004036F0 E8 9ED50C00 call 004D0C93
004036F5 83F8 01 cmp eax, 1
004036F8 74 0A je short 00403704
004036FA C785 E8FDFFFF 0>mov dword ptr [ebp-218], 1
00403704 83BD E8FDFFFF 0>cmp dword ptr [ebp-218], 0
0040370B 0F84 A4000000 je 004037B5爆破点这里显而易见,只要保证[ebp-218]是0就可以正常的运行程序了,爆破方法很简单,不说了。但是爆破之后会发现Particular adjustment mode不可用。经过研究发现,改内存中的数据怎么改都没关系,只要一修改文件立刻那个功能就失效了,于是程序肯定是对文件加了自校验的暗桩。下CreateFileA的断点,点那个按钮后断下,Ctrl+F9几次可以返回到主程序,再往下翻翻,来到这里:
004055EA |> \83BD 34FDFFFF>cmp dword ptr [ebp-2CC], 0
004055F1 |. 75 0C jnz short 004055FF
004055F3 |. C705 50995700>mov dword ptr [579950], 1
004055FD |. EB 18 jmp short 00405617
004055FF |> 8B85 2CFBFFFF mov eax, dword ptr [ebp-4D4]
00405605 |. 3B85 34FDFFFF cmp eax, dword ptr [ebp-2CC]
0040560B |. 75 0A jnz short 00405617
0040560D |. C705 50995700>mov dword ptr [579950], 1
00405617 |> 8B8D 38FDFFFF mov ecx, dword ptr [ebp-2C8]
0040561D |. 51 push ecx
0040561E |. E8 E3941100 call 0051EB06
00405623 |. 83C4 04 add esp, 4
00405626 |> 833D 50995700>cmp dword ptr [579950], 0
0040562D |. 75 05 jnz short 00405634由此可见,[579950]处是一个校验处,前面是对文件进行校验,然后这里就是个校验位,校验失败按钮就失效,粗粗看了一下,校验位有好几十个,每个还可能都不只一个位置,全都修改是项很耗体力和耐心的工作,不过也不是不能干。另外,由于这个程序只校验原文件,于是可以写一个Loader来动态修改内存中的地址,这样就可以避免修改那么多的暗桩,这应该是最简单的办法了。anyway,两种方法我都尝试了一下,下面是下载地址:
压缩包里是完整的EPSON ME2清零程序,里面的AdjProg.exe文件是原程序,我没有修改过,不信的可以自行在网上下载并比对MD5,Loader.exe是我写的loader方式的破解程序,运行时需要保证文件夹内有AdjProg.exe文件,否则不能运行。AdjProg1.exe是我改掉暗桩之后的程序,上百个暗桩,我不能保证全都修改完了,喜欢那种破解方式请自行选择。另外,loader方式会不会被认为是病毒程序我不知道,如果你信不过我的话,可以不用。
评论
哇……你的破解涉足的领域还真是广唉……
仰慕中。
@Marcher:
这是我一个朋友邀请我共同研究的,呵呵
终于看到博主行动了,看来先生对编程很在行的嘛,不过,希望更加勤奋些
@zyhxhw:
谢谢你的鼓励,不知道您是哪位?可否认识一下?
博主实在是太厉害了!我试验了您的AdjProg1.exe和Loader.exe,不用那三个条件,完全可以运行程序。
只是还有一个小问题,请教您,和我从别的地方下载的这个清零软件一样,点Cleaning,运行一半,报错“Waste ink pad counter overflow error”并且打印机没有动作,再重新执行几遍依然是这个问题。都是不成功。
要是点Initialization,报错"Communication error! Error Code:210004B0"。唉,总之不成功,请指教!
@suzy7777
谢谢您的支持。但是很抱歉我帮不到你,因为我没有用过Epson的打印机,这个程序只是和别人一起研究的,只是破解的研究,并没有研究过具体的清零能否使用,实在对不起。
ssfighter,不管怎样,还是要谢谢你!
:)
回复的怎么都是乱码啊
PLEASE TO ME EMAIL
EMAIL:hn_tuzi@163.com
现在又好了啊,可能是我打字太多的原因吧!CreateFileA太多要全下断吗?