E语言基本特征码/时钟反调试/窗体push大法

该篇文章有以下内容:

    1. 易语言字符串比较函数 test edx,3 F7C203000000
    2. 按钮事件特征码:FF55FC5F5E,可以被修改恒成立
    3. 易语言体 FF 25
    4. 时钟的反调试
    5. Push窗体大法

 

一、利用 test edx,3 来判断字符串比较  F7C203000000
1. 查看该程序

E语言基本特征码/时钟反调试/窗体push大法-风君雪科技博客

2. 一般直接搜内存其硬编码(如果搜指令可能在高版本的E语言中可能搜索不到)
Test edx,0x3 其对应的硬编码为 F7C203000000

E语言基本特征码/时钟反调试/窗体push大法-风君雪科技博客

3. 在搜索结果中查看该地址

E语言基本特征码/时钟反调试/窗体push大法-风君雪科技博客

4. CPU窗口对应转到该指令当中去

E语言基本特征码/时钟反调试/窗体push大法-风君雪科技博客

 5. 下断点,当程序断下走完前几个,直接查看 edx,ecx 寄存器即可。

E语言基本特征码/时钟反调试/窗体push大法-风君雪科技博客

6. 修改字符串比较的返回值,这样就能达到注册的目的。

E语言基本特征码/时钟反调试/窗体push大法-风君雪科技博客

二、按钮事件特征码(FF55FC5F5E)

1. 这个应该被称为“易语言控件消息派发函数”,所有按钮都经过到这里来。

E语言基本特征码/时钟反调试/窗体push大法-风君雪科技博客

 2. 我们在这里下一个断点,之后按钮在这里断下。

E语言基本特征码/时钟反调试/窗体push大法-风君雪科技博客

 3. 不同的按钮都经过这里断下,之后进入各自的函数中。

E语言基本特征码/时钟反调试/窗体push大法-风君雪科技博客

三、易语言体(FF25)
1. 易语言体,所有的易语言函数都会经过这里

E语言基本特征码/时钟反调试/窗体push大法-风君雪科技博客

2. 我们之后就可以在这里利用如“PUSH 窗体大法”等来利用

四、“时钟”的反调试与干掉“时钟”
1. 设置一个“时钟”

E语言基本特征码/时钟反调试/窗体push大法-风君雪科技博客

2. 利用 FF55FC5F5E 特征码到达消息派发函数处,设置断点。

E语言基本特征码/时钟反调试/窗体push大法-风君雪科技博客

3. 之后发现每一秒都会暂停这里,根本无法暂停在按钮事件中。

4. 解决办法:设置条件断点
    00401047  /.  55            push ebp

E语言基本特征码/时钟反调试/窗体push大法-风君雪科技博客

五、push窗体大法

1. 先写一个窗口界面。

E语言基本特征码/时钟反调试/窗体push大法-风君雪科技博客

2. 定义到 FF25 易语言体,上面一个 LoadBeginWin 加载窗口,我们的思路是遍历窗口ID,让其弹出自己想弹出的窗口,这样就实现另外一种思路的破解了。
E语言基本特征码/时钟反调试/窗体push大法-风君雪科技博客

3. 找到该对应的插件,先运行程序再启动。

E语言基本特征码/时钟反调试/窗体push大法-风君雪科技博客

4. 查看对应的窗体ID

E语言基本特征码/时钟反调试/窗体push大法-风君雪科技博客

5. 再次重新调试程序,运行前修改有关参数,即可完成跳转。

E语言基本特征码/时钟反调试/窗体push大法-风君雪科技博客