E语言基本特征码/时钟反调试/窗体push大法
该篇文章有以下内容:
1. 易语言字符串比较函数 test edx,3 F7C203000000
2. 按钮事件特征码:FF55FC5F5E,可以被修改恒成立
3. 易语言体 FF 25
4. 时钟的反调试
5. Push窗体大法
一、利用 test edx,3 来判断字符串比较 F7C203000000
1. 查看该程序
2. 一般直接搜内存其硬编码(如果搜指令可能在高版本的E语言中可能搜索不到)
Test edx,0x3 其对应的硬编码为 F7C203000000
3. 在搜索结果中查看该地址
4. CPU窗口对应转到该指令当中去
5. 下断点,当程序断下走完前几个,直接查看 edx,ecx 寄存器即可。
6. 修改字符串比较的返回值,这样就能达到注册的目的。
二、按钮事件特征码(FF55FC5F5E)
1. 这个应该被称为“易语言控件消息派发函数”,所有按钮都经过到这里来。
2. 我们在这里下一个断点,之后按钮在这里断下。
3. 不同的按钮都经过这里断下,之后进入各自的函数中。
三、易语言体(FF25)
1. 易语言体,所有的易语言函数都会经过这里
2. 我们之后就可以在这里利用如“PUSH 窗体大法”等来利用
四、“时钟”的反调试与干掉“时钟”
1. 设置一个“时钟”
2. 利用 FF55FC5F5E 特征码到达消息派发函数处,设置断点。
3. 之后发现每一秒都会暂停这里,根本无法暂停在按钮事件中。
4. 解决办法:设置条件断点
00401047 /. 55 push ebp
五、push窗体大法
1. 先写一个窗口界面。
2. 定义到 FF25 易语言体,上面一个 LoadBeginWin 加载窗口,我们的思路是遍历窗口ID,让其弹出自己想弹出的窗口,这样就实现另外一种思路的破解了。
3. 找到该对应的插件,先运行程序再启动。
4. 查看对应的窗体ID
5. 再次重新调试程序,运行前修改有关参数,即可完成跳转。