按钮事件
易语言
按钮事件 特征码
FF 55 FC 5F 5E
VC
VB
Delphi
按钮事件脚本
1 | /* |
处理时钟
在按钮事件下断,在未点击按钮时,一直被断下,有点像心跳包的感觉,就是有时钟干扰,两种方法处理
1.Pchunter
使用Pchunter
移除定时器
打开Pchunter
,进程,找到目标进程,右键->查看->查看进程定时器->选择定时器->移除
2.OD断点条件
有时候,有的闹钟是有实际功能的,如果直接移除了,软件就没用了,或者退出了,所以可以像处理心跳包一样,下条件断点。
在按钮事件下断,断下来以后,F7
跟进去,可以看到这里的闹钟并没有什么用处,记录下地址00401C44
脱壳
1.ASP壳
拖入OD,断在这里,然后按F8
跟了一下,过了CALL以后就会把程序运行起来,所以要F7`跟进去
进入call里面以后,一路F8,当碰到这种,跳转上去的,就在下一个代码那里按F4
一路F8到了这里,这里是一处OEP
,继续F8,会返回出去。
到了这里,在push ebp
处右键
点击用OD脱壳进程
填写好修正为的地址,然后点击脱壳
2.UPX壳
拖入OD,像跟ASP
壳一样,一路F8下来,到这里,就是一个Delphi
的特征位置。
对下面的代码进行删除分析,然后F8
跟过去JMP
的地址,就是OEP的地址了
3.ESP定律
把加壳的软件拖入OD,然后按一次F8
,然后观察右侧寄存器窗口,ESP
处,右键
ESP
->右键->HW break [ESP]
(就是在ESP的地址下硬件断点)->F9
运行
然后就会直接跳到这里,刚才这里就是Delphi
的特征,JMP
过去以后就是OEP的地址
4.内存镜像法
托加壳软件进OD,然后点击右上方的m
,然后找出资源段,按f2
下断,然后点F9
运行
m->找资源段->F2->F9
然后在找代码段,在F2
下断,在运行
代码段->F2->F9
然后点击C
,会发现来到这么一个位置,然后往下拉,就可以看见那个OEP
了
5.标志法
加了壳的程序拖进去以后,就会看见一个特征,头部都是pushad
,按住汇编语法,pushad
开头,那么就有popad
结尾,所以可以通过搜索popad
来查找
Ctrl +F 输入popad
然后一路 Ctrl +L ,搜索下一个,没几下就到这里了,就是易语言的OEP入口