• 标 题:vfp&exe加密程序破解实录 (1千字)
  • 作 者:lpyxt
  • 时 间:2001-8-17 12:31:58
  • 链 接:http://bbs.pediy.com

vfp&exe加密程序破解实录
vfp&exe.exe v1.8.5演示版
用vfp6编译一应用程序myvfp.exe
运行vfp&exe对myvfp.exe进行加密
运行加密后的myvfp.exe
出现输入密码窗口(如加密时选择了密码项)和一个演示版的提示窗口
去除vfp&exe加的壳:
用trw2000调入加密后的myvfp.exe
下断点bpx 401760(vfp6编译的文件入口处)
f5几次
出现输入密码窗口时输入密码
当出现演示版提示窗口时按确定,再按f5键
A!记下trw2000横线上的当前文件名
suspend  回到windows
运行ollydbg
选file菜单下的attach子菜单
在弹出的窗口中选A!处记下的文件名后击attach钮
右击左上方窗口
选go to -->address输入401760击ok钮
右击弹出的窗口
选copy to exxcutable file
右击弹出的窗口
选backup-->save data to file
选一个存放文件的路径和文件名(unmyvfp.exe)
击打开钮
运行prodump.exe
选 菜单编辑pe文件
将文件unmyvfp.exe的入口地址由48e8改为1760后存盘退出

(或者
运行winhex改文件入口偏移
调入unmyvfp.exe
取地址3CH处的值,为B8H,计算B8H+28H=E0H
改E0H处的E848H为6017------程序入口处)

运行winhex
寻找00FEF2
删除第二次找到的地方的FF处开始到文件结束的所有数据后存盘退出
用unfoxall对unmyvfp.exe就可进行反编译了!!!

此法完全用于学习,不得用于非法用途!

好了搞定这个东西耗费了我两天的时间,眼睛受不了了.....

        lpyxt    写于2001年8月16日17时20分
email:liupeiyuxt@km169.net

  • 标 题:这样做的意义不大,跟手工找到自身还原的程序无异,请看其局限性。 (1千字)
  • 作 者:Aming[品琳居]
  • 时 间:2001-8-17 20:00:21

首先,我们来看看vfp&exe对VFP文件的加密:
1、将VFP的EXE文件看做一个普通的PE文件看待,在加密后程序运行后自身解密,然后SHELL这个文件,通常保存在WINDOWS一些特殊的目录里面,如垃圾桶、INF等。
2、为防止别人拷贝这个文件,在运行这个文件的时候,对文件的存取做了限制;
3、为防止通过FILEMON查看到自身还原的程序藏身之处后将文件拷贝,
会自动终止WINDOWS自带“查找”;
4、加有反unvfp&exe的代码“☆ 文件型...终结者”、UNVFP&EXE...当发现前者自动弹出输入密码的窗口后停滞不前;发现后者则以“文件不能锁定”自动退出。
5、针对APP文件的结构作了一些小动作,将文件列表的标识符放到错误的位置,UNFOXALL不能正确识别;
6、随机加入垃圾信息,使得文件在文件列表的偏移发生变化,UNFOXALL不能正确识别;
7、加入一个APP文件,使主APP文件入口及调用产生偏移,UNFOXALL不能正确识别。
LPYXT朋友的方法只是做到了两样:
A、利用OLLYDBG找到自身还原的程序;
B、去掉使主APP文件入口及调用产生偏移的APP信息。
这种方法的局限性很大,从理论上使得对付很多文件都不可行。
其实想找到自身还原的程序并不需要TRW2000、OLLYDBG等,您只要
用一个FILEMON记下加密程序自身还原后的存放位置,狠心关机,把它拷贝出来就是了。

LPYXT朋友,你不妨用您的方法试一下:
http://www.javasoft.com.cn
上面的Foxmis。

== 欢迎光临品琳居 ==
永远的朋友:Aming