有没有办法可以使别的程序中被禁用的菜单项、按钮变为可用,编程实现!!(再加150分) (150分)

  • 主题发起人 主题发起人 ChenBoy
  • 开始时间 开始时间
哈哈,看来你是想破解别人的共享软件的吧,
有的软件没有注册时就是有的按钮、菜单等不可用,
gz
 
破解软件的我到用过不少。
也曾想过自己写。。
现在问题摆在眼前,却只能听课。。。。。。
 
你可以用exescope修改一下exe里面的Form资源代码啊,在rcdata里,比如那个按钮的单击事件,你可以把这个单击事件的过程名关联到另外一个可用的按钮的单击事件上去。比如“退出”按钮。然后你单击“退出”按钮的时候就变成这个非可用按钮单击
 
to 小高:
UPX不是脱壳的吧?他只能脱他自己加的壳。

这个问题如果是用soft_ice,trw等来实现没什么好说的,用编程来实现也许可以做成一个
通用的方法。但是,很多情况下,并不是简单的把button enable就可以了,有时还要把
事件给它关联上去。
 
我想多多听点高手们关于这方面的高论,另外再加分150分。欢迎大家继续UP!
zyg_zm的建议不错,先谢谢了!
 
有很多程序的按钮会被时刻更新,比如Delphi中和Action 关联起来
在TAction的onUPdate事件中更新,这时候就没办法了。除非作病毒,光修改
资源文件也没用.
 
To xeen:
多谢了,你两次提出提出的高论我已作笔记,希望这个贴子能再生存些时间,请原谅和
支持,好吧!
  欢迎大家多多UP,均有分,不够,另贴送上!谢谢了!
 
关注,学习。
 
procedure TForm1.Button3Click(Sender: TObject);
var
ph,h: THandle;
p: TPoint;
begin
ph:= FindWindow(nil, 'Internet Options');
if IsWindow(ph) then
begin
ph:= FindWindowEx(ph,0,Nil,'Security');
if IsWindow(ph) then
begin
p.x:= 281;
p.y:= 127;
h:= ChildWindowFromPoint(ph, p);
if IsWindowEnabled(h) then
EnableWindow(h,False)
else
EnableWindow(h,True);
end;
end;
end;
 
可以激活菜單,但是無法響應事件!
 
继续听课并作笔记,爱益菲浅呀,再次谢谢各位高手!
To lu.weifeng:
好像变灰的按钮无法用ChildWindowFromPoint()来获得!
 
多人接受答案了。
 
To ChenBoy:
關鍵是誰的子窗口要找准!
上面例子就是激活變灰的按鈕的!只是一個例子!!!
 
后退
顶部