首页
社区
课程
招聘
Crack的思想解决程序开发问题
2006-5-26 15:59 4355

Crack的思想解决程序开发问题

2006-5-26 15:59
4355
Crack的思想解决程序开发问题
kongfoo/2006.5.26

单位某领导的亲属在某评选活动中作为候选人,在网上接受投票,
该领导发动我们投票,鉴于竞争对手(某些老师)发动学生投票,
该领导要求我们几个人各投100多次,遂写一网上投票机,但投完
之后网页弹一个对话框,“谢谢投票”云云,由于需要自动定时
投票,而这框却阻塞了进程,要去掉。网上搜一下解决方法是钩
函数。于是拿出OD,运行,bp MessageBoxA和bp MessageBoxW,
让它弹出对话框,意外地没断下来。得用其它办法。弹出对话框
后OD中F12暂停,看看堆栈,发现返回user32的地址,去下断。
几次返回之后就发现目标:

77D3B126    E8 23000000     CALL user32.SoftModalMessageBox

这方法对于弹出对话框函数的定位是比较有效的。

解决使用WebBrowser控件弹出对话框问题的答案也很自然浮出水面:
将SoftModalMessageBox函数开头的代码改为retn 4就OK了。

代码很简单:
var SMMB:Pointer;
    MBI:TMemoryBasicInformation;
begin
  SMMB:=GetProcAddress(GetModuleHandle('user32.dll'),'SoftModalMessageBox');
  VirtualQuery(SMMB,MBI,SizeOf(MBI));
  VirtualProtect(SMMB,1024,PAGE_EXECUTE_READWRITE,@MBI);
  asm  //patch
    mov eax,SMMB
    mov byte ptr [eax],$C2
    mov byte ptr [eax+1],4
    mov byte ptr [eax+2],0
  end;

环境:Windows xp sp2, delphi 7。

手中握着Crack这把利刃,软件开发中当如虎添翼,轻车熟路了。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (4)
雪    币: 253
活跃值: (25)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
紫色缘 7 2006-5-26 16:59
2
0
学习
雪    币: 2890
活跃值: (3437)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
china 5 2006-5-26 17:20
3
0
佩服的六体投地。
雪    币: 223
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ywb 2006-5-26 17:59
4
0
要是选国家领导人这样 的话, 程序员可就吃香
雪    币: 290
活跃值: (395)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jmzz 2006-5-26 21:58
5
0
可以采用MouseEvent的!
游客
登录 | 注册 方可回帖
返回