我就是从PEDIY开始学习软件破解的。在此首先表示感谢!

本人刚才开始学习软件破解,在此之前,做过新概念英语学习机的破解补钉和内存注册机(只是自己用啊)。这次修改万能五笔,主要目的是:
* 学习修改软件
* CopySo实在有点烦:有时拖动输入法框,却点开了CopySo。而且CopySo本身也是去调用其它搜索软件的,有点多此一举了。本人喜欢简洁至上。

修改过程如下:

工具:OllyDBG,Reshacker(EXESCOPE),UltraEdit

 1. CopySo去除
    打开CopySo时是进行外部调用,一般用shellexecutea或createprocessa
    打开OllyDBG,调入wnwb.exe
    下断:bpx shellexecutea
    跟踪点击CopySo、五笔网站、五笔邮件:三个按钮,将断下来的call dword ptr ds:[<&SHELL32.ShellExecuteA>] 修改为nop。
    注:本机跟踪shellexecutea时,OD老是死了,所以干脆将所有调用shellexecutea的全部改为nop了。反正输入法就是输入法,也不需要它去调用其它东东或上网。

    一测试,还会调用CopySo。
    再下断:bpx createprocessa,跟踪点击CopySo,在中断处的call createprocessa,改为nop

    再测试,发现在无wnwbio.exe文件时,不会启动CopySo了,但有wnwbio.exe文件时,还是会启动CopySo。
    调入wnwbio.exe,下断:bpx shellexecutea,只找到一处,改为nop。

    这下,CopySo全去除了。

 

  2. 去除加在“快速启动”和桌面上的copyso连接
     当无wnwb.ini文件时,启动万能五笔后,会自动在“快速启动”和桌面上的加上copyso快捷方式。
     对有关文件操作的API下断点后,未能跟踪到。
     不行,就换个办法了:
     查找ASCII码:copyso.lnk和wnwb.lnk,找到后,查看后面附近的代码,将其后面有关call的代码全部下断,发现在 442E79和442E96、442F8B均有call 45c3d0,此call运行后,就创建快捷方式了。
     这一段程序是子程序,是在主程序中调用。主程序调用两次,一次是建立WNWB的快捷方式,第二次是建立COPYSO的快捷方式。由于两个都不需要,所以直接将442E79和442E96、442F8B改为nop就行了。


  3. 输入法界面上“COPYSO”“网”“信”按钮的去除
    
    这些显示实际是位图,也可以用Reshacker删除相应位图。但删除后,有时会显示一个黑块。这里仍然在程序中去除相关显示的代码。
    先取消皮肤显示。
    然后下断:bpx bitblt
    运行程序,可以实现单步显示位图。但call bitblt是在一个子程序中,无法定位每一个位图的调用位置。因此顺着call bitblt回查代码,找到子程序入口:4412AE
    对call 4412AE进行下断:鼠标右键/搜索/所有命令,输入call 4412AE,对找到的所有命令设置断点
    按F9,一步一步运行,确定那一个调用是显示相应位图的。确认完后,将该调用改为nop
   
    注意:不同的输入法窗口类型显示位图的调用位置不同,要对每一个对应输入法窗口类型进行跟踪。

  4. COPYSO提示信息去除
    在上图所示的2中,会显示有关COPYSO的提示信息,当然,其中也会显示一些五笔使用技巧。
    用Reshacker(EXESCOPE)打开wnwb.exe,查看位图,将关于五笔使用技巧的位图导出。再查到有关COPYSO的提示信息,将其更换为五笔使用技巧位图即可。
 
    
 
  5. 鼠标悬停提示去除
     虽然去掉了COPYSO,五笔“网”“信”等显示,但鼠标悬停时仍会显示如上图所示2的提示
     对GetClientRect下断,虽然在鼠标悬停时中断了,但OD也死了。所以未能跟踪到代码。
     
     解决办法:用UltraEdit,搜索相关提示内容,找到后用00替换。


  6. 菜单修改
     用Reshacker将无用的菜单项删除即可。
    
  其它:
    后来发现wnwb还对IE地址栏进行劫持,即对IE地址栏中的内容进行监控,若不是有效URL,就将地址栏中的内容改为go.copyso.com/.....。以IEFRAME为关键词,找到相关代码,将调用代码NOP就行了。
    然后,它还在注册表中写入劫持IE地址栏插件的相关注册表项:
  [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{C0CDC83C-FEA7-499F-9BE7-A9AB4EAED292}
  [HKEY_CLASSES_ROOT\CLSID\{ED8DFC5C-10EF-45AB-9DC2-0639AFF5A270}
  以  ED8DFC5C-10EF-45AB-9DC2-0639AFF5A270 为关键词,找到相关代码,将调用代码NOP就行了


   问题:
   在OD中,对shellexecutea等下断后,运行程序,点击后中断,此时显示 ID XXXXXX 新的进程已创建,然后OD就死了。
   这个不知是什么问题,请大家指教啊。

下载:http://mywb.ys168.com