《第2期-03 DIY易语言程序》学习笔记
2018-08-08 本文已影响0人
听说我在混吃等死
本集视频用了两个例子。我在看完并试验后,很是疑惑这视频中介绍的把窗口创建代码放到按钮事件中有什么用处呢?
作者在视频中提到了一个:当遇到一个软件,它的登录窗口需要验证后才能出来;但是只要我们找到那个窗口创建的代码,复制过来然后运行起来。
这真是一个很巧妙的方法呀!这需要思维灵活,不能总是硬来。
第1个例子
这个例子是找到一个窗体的载入代码,使用OD“二进制复制并粘贴”到按钮事件里面。
-
找到窗体的载入代码。
窗体载入代码 -
选中按钮事件里面的代码。这里注意要选择比刚才复制的代码要多一些的区域。否则,选择的太小的话,一会儿粘贴的时候就只能粘贴出来一部分。
粘贴代码
注意修改call 后面的值。原来是 call 00401221,粘贴过来后如果不做修改就变为了 call 00401260。得在这里重新进行反汇编进行修改,按空格键就行了。
修改call后 -
还得把原来按钮事件结尾的三句代码同样二进制复制过来,放到刚才代码的后面。
4.png -
修改完成后的样子
第2个例子
这个例子是把窗体和对话框代码都复制过来,但是按钮事件里面的地方不够用,无法直接粘贴到按钮时间里面。
1.在程序的代码后面找到一块区域,里面没有代码,都是一堆0。
6.png
要把开始地址4646B9记下来,因为后面jmp的时候要用到
-
在按钮事件的开头,加上jmp 004646B9
-
把按钮事件段尾的地址004011B2记下来,中间的代码都nop掉。
-
在第1步中代码后面加上 jmp 004011B2。
总的来说,是让程序执行到按钮事件时,先jmp到4646B9执行载入窗体和对话框,然后jmp回去。