【文章标题】: 一个E语言的破解
【文章作者】: appleibm
【作者邮箱】: ibming@126.com
【下载地址】: 见楼主地址
【加壳方式】: 无壳
【编写语言】: E语言
【使用工具】: PEID,OD
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
1、下载程序,使用PeID查壳,发现是VC[OVERLAY],怀疑可能是E语言所编
2、使用OD加载程序,按F9执行程序,出现程序运行窗口。
3、回到OD,按Alt+E,查看可执行模块窗口,发现krnln.fnr及dpl.fne等E语言特征模块,确认程序使用E语言编译。
4、输入伪码注册,未弹出任何提示,直接退出。重新加载并运行程序,考虑使用E语言特征码寻找按钮事件。
5、在可执行模块窗口,双击krnln.fnr,进入其程序领空,按Ctrl+B弹出寻找窗口,输入E语言的按钮特征码:FF 55 FC,点“确定”
6、程序来到10028EC6(根据调试环境可能会有差异),按F2下断。
7、切换到程序运行界面,在“注册码”处输入伪码,由于其有缺省内容,不输入也可,点击开始,程序被断下
8、按F7跟随进入函数,来到主程序领空。一路F8,可以看到程序整个取机器码的过程,跟到0042E74B处即可发现注册码比较函数,如果想详细分析算法可以跟入,关键跳在0042E757处,爆破可从此入手
9、退出OD,使用Ultra Edit,换算内存地址0042E757为文件地址0002E757,查找到地址后,将0F85改为0F84,保存后即可
10、运行修改后的文件,随便输入伪码即可进入
--------------------------------------------------------------------------------
【经验总结】
a、OD加载,F9运行程序
b、在OD中,按ALT+E,查看执行窗口
c、寻找E语言的运行库krnln,双击进入
d、按ctrl+b,输入按钮特征码FF 55 FC,找到后F2下断
e、在程序中输入伪码,按“开始”注册,被中断
f、F7进入后找到注册码函数,同时找到关键跳0042E757 jnz 0042E884
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 不可违法使用,转载请注明作者并保持文章的完整, 谢谢!
2010年03月19日 16:57:09