以前加入BCG时写的几篇破文2

原创 2004年06月24日 17:04:00
标 题:Crack之亲历手迹3--Delphi程序中是如何获得一个Edit的Text内容的 (1千字)
发信人:y97523  [发短消息]
时 间:2002-03-09 19:58:37
阅读次数:284
详细信息:
Crack之亲历手迹3--Delphi程序中是如何获得一个Edit的Text内容的
----------Crack之亲历手迹2--我的第一个注册机----之续集
//--------------------------------------------------------------
实验工具:IDA Pro、Delphi 6、SoftICE4.05
实验目的:发现Delphi编的程序如何获得文本框(Edit)的数据(Text)而不用API函数
//--------------------------------------------------------------
1.用Delphi编个简单的试验程序
一个Form包含一个Edit、一个Button、代码如下
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(Edit1.Text);
end;
-------^~
而Edit.text好像是调用下面的类似函数(从IDA的反汇编可以看出,不过那叫TControl::GetText)
//摘录自Delphi6的source/vcl/controls.pas目录
function TControl.GetTextBuf(Buffer: PChar; BufSize: Integer): Integer;
begin
Result := Perform(WM_GETTEXT, BufSize, Longint(Buffer));
//Perform(Msg: Cardinal; WParam, LParam: Longint): Longint;
//Responds as if the control received a specified Windows message.
end;
从中我们可以看出Delphi时通过Perform函数直接模拟向Edit发送WM_GETTEXT消息来获得Text的内容的!
注意这个WM_GETTEXT消息发送是模拟的,你用BPX MSGFUN时栏不到的,其实是通过Call WndProc的方式!
2。用IDA反汇编1中的exe同样可见到
call @TControl@GetText ;
//--------------------------
@TControl@GetText proc near
...
call unknown_libname_169
...
//--------------------------
unknown_libname_169 proc near
...
call @Controls@TControl@Perform$qqruiii ; Controls::TControl::Perform(uint,int,int)
...
3.结论:Delphi通过向Edit发送WM_GETTEXT(直接调用WNDProc,而没有使用消息函数)消息来获得Text的内容的!
GetText(){
Call WndProc(WM_GETTEXT);
}
|
WndProc(Msg){
DefWndProc(Msg);
}
Text的自值由DefWndProc系统函数给出!
附:看来Borload的那些家伙写出的东西的确与众不同

以前加入BCG时写的几篇破文4

标 题:Crack之亲历手迹5------CD Data Rescue1.1 (7千字)发信人:y97523  [发短消息]时 间:2002-03-09 20:02:22阅读次数:168详细信息: C...
  • y97523szb
  • y97523szb
  • 2004年06月24日 18:46
  • 699

以前加入BCG时写的几篇破文6

序 号:200429标 题:Crack之亲历手迹8---破解流风婚纱形象设计系统2002版的序列号加密 (1千字)发信人:y97523[BCG]  [发短消息]时 间:2002-04-01 20:39...
  • y97523szb
  • y97523szb
  • 2004年06月24日 18:48
  • 805

以前加入BCG时写的几篇破文5

序 号:57247标 题:Crack之亲历手迹6---破解AuthorWare5的软件狗() (2千字)发信人:y97523  [发短消息]时 间:2002-03-09 20:04:17阅读次数:36...
  • y97523szb
  • y97523szb
  • 2004年06月24日 18:47
  • 736

以前加入BCG时写的几篇破文1

序 号:57242标 题:Crack之亲历手迹2--我的第一个注册机 (2千字)发信人:y97523  [发短消息]时 间:2002-03-09 19:55:42阅读次数:209详细信息: Crack...
  • y97523szb
  • y97523szb
  • 2004年06月24日 17:01
  • 928

以前加入BCG时写的几篇破文3

标 题:Crack之亲历手迹4--一个许久以前的心愿-FileSplit2X的注册码生成器 (1千字)发信人:y97523  [发短消息]时 间:2002-03-09 20:00:01阅读次数:160...
  • y97523szb
  • y97523szb
  • 2004年06月24日 17:06
  • 811

以前加入BCG时写的几篇破文7

序 号:274450标 题:以前的一篇笔记 (1千字)发信人:y97523  [发短消息]时 间:2003-10-20 18:56:19阅读次数:411详细信息: 去除ASPack2.1的时间限制! ...
  • y97523szb
  • y97523szb
  • 2004年06月24日 18:49
  • 823

如何手动添加BCG界面库到工程中

一、stdafx头文件 #define COMPILE_MULTIMON_STUBS #include #include 二、资源包括 1.  只读符号指令添加 #include "bcgp...
  • ayang1986
  • ayang1986
  • 2016年09月04日 19:50
  • 524

MFC程序应用BCGControl界面效果

vc6.0比较经典且运行环境要求较低,虽然是98年的产物,但仍被广泛应用,最近一直修改软件,可能是强迫症吧,一直觉得vc6生产的界面太丑太丑,就采用bcg的封装库来优化下,百度了好多方法都需要依赖bc...
  • sudoRoger
  • sudoRoger
  • 2016年09月12日 13:27
  • 1364

以前写的破代码,不忍心扔

// 判断整数的正因子数目 //#include //#include // //int main() //{ // int n; // int i,count=2; // scanf...
  • qq_34268647
  • qq_34268647
  • 2017年05月11日 20:45
  • 318

BCG界面控件三个产品的功能比较

为了帮助大家更好地选择适合的界面控件,本文首先对BGControlBar Library Pro Edition、BCGSuite for MFC和BCGControlBar Library .NET...
  • kylemecow
  • kylemecow
  • 2016年11月25日 13:02
  • 338
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:以前加入BCG时写的几篇破文2
举报原因:
原因补充:

(最多只允许输入30个字)