telock脱壳总结
2007-01-12 20:13:26 来源:WEB开发网telock用fi查不出,所以如何判断是telock的壳,凭ImportRECf导出it的结果吧,乱七八糟的那种差不多就是了。初解telock的壳会感觉比较难,不过看了2个以后就不觉得有多难了。当然我略过了手动找入口的步骤,寻找程序的入口还是脱壳的关键所在也是难点。
用ShadowSecurityScaner Ver3.37举个例子吧,讲的时候会比较方便
1.寻找入口:
(1)delphi:
快速寻找入口的方法:执行程序,接着用winhex打开程序所在的主内存,选择搜索文本,填runtime,执行搜索,搜到后,向前找到离runtime最近的机器码为55 8B EC的地方就是程序的oep,所以delphi程序的oep最好找了。
脱壳详情请参考我最近写的(delphi程序)
脱Flashfxp 1.4的壳
(2)vb:
快速寻找入口的方法:执行程序,接着用winhex打开程序所在的主内存,选择搜索文本,填程序的名字,执行搜索,搜到后,向前找到离名字最近的机器码为68(后面就不一定了,一般很短,不超过20h字节)开头的地方就是程序的oep,所以vb程序的oep也比较好找。
(3)vc:
无任何规律,慢慢跟吧:(。手动脱壳方法最好熟练掌握,对付任何程序都应该有效吧:),熟悉以后就没问题了。(难~~~)
(4)其他:
没试过,不知道了。
ShadowSecurityScaner是用delphi写的,hoho运气真好:)。sss335以前某版肯定是用telock加的壳,不过在51下的337版没有加壳,所以我用telock0.90给他加一个壳。用快速寻找delphi程序入口的方法:执行sss,接着用winhex编辑sss的主内存,选择搜索文本,填runtime,执行搜索,搜到后,向前找到离runtime最近的机器码为55 8B EC的地方就是程序的oep,对应的地址是59b9e4。
2.脱壳:
telock的壳在dump之前需要用winhex内存编辑功能把400106-400107填回原来的section数(telock会改写为ffff,使脱壳程序无法dump)。然后从入口处dump,如果不是从入口dump的,一般不能用。再有用prodump dump的程序,需要手动把oep改成正确的。用天意,trw或peditor dump的程序稍大。其中天意在我的winme系统下执行suspend死机,所以极少用,peditor dump出的程序超大。trw只有娃娃改过的1.03版才能直接g到入口处,其余的版会非法操作的,而s-ice不会出任何问题的,cool。
更多精彩
赞助商链接