cookie分析源码
需要加载模块 Ex_DirectUI 3.0
DLL命令表
1
2
3
4
5
|
.版本 2
.DLL命令 GetBitmapBits, 整数型, "gdi32", "GetBitmapBits"
.参数 hBitmap, 整数型
.参数 dwCount, 整数型
.参数 lpBits, 整数型
|
透明编辑框
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
.版本 2
.程序集 透明编辑框_EX, 编辑框_Ex
.程序集变量 img, 整数型
.程序集变量 类_左边, 整数型
.程序集变量 类_顶边, 整数型
.子程序 _初始化, , , 当基于本类的对象被创建后,此方法会被自动调用
.子程序 _销毁, , , 当基于本类的对象被销毁前,此方法会被自动调用
.子程序 _OnObjProc, 整数型, 公开, 虚函数,组件消息.返回值:0放行,1拦截。在 _ObjProc 之前被调用.
.参数 hWnd, 整数型
.参数 hObj, 整数型
.参数 uMsg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.判断开始 (uMsg = #事件_创建)
img = 图像_复制部分 (取EX指针 (窗口_取指针 (类_取成员值 (取指针 (), 2))), 左边 () + 10 + 类_左边, 顶边 () + 9 + 类_顶边, 宽度 (), 高度 ())
.判断 (uMsg = #事件_销毁)
图像_销毁 (img)
.默认
.判断结束
返回 (0)
.子程序 _计算客户区_编辑框, , 公开
.参数 客户区矩形, RectF, 参考 可空, 修改本参数将影响文本所在矩形
OFFSETRCF (5, 0, -10, -6, 客户区矩形)
.子程序 _绘制背景_编辑框, , 公开
.参数 exp, Exs_PaintStruct
.局部变量 m_文本格式, 整数型
.局部变量 m_字体指针, 整数型
.局部变量 Yw, 整数型
图形_平滑模式 (exp.mGraphics, #平滑模式_最佳质量)
图形_绘图 (exp.mGraphics, img)
.子程序 取EX指针, 整数型, , 句柄:窗口指针或组件句柄,返回PNG
.参数 句柄, 整数型
.参数 窗口只打印背景, 逻辑型, 可空
.局部变量 hBitmap, 整数型
.局部变量 Rc, RECT
.局部变量 length, 整数型
.局部变量 Bitmap, 整数型
.局部变量 BitData, BITMAPDATA
.局部变量 Image, 字节集
.如果 (组件_取成员值 (句柄, 4) = 句柄) ' exdui和obj类的成员4都是窗口指针,相同则说明参数是窗口指针
.如果 (窗口只打印背景)
hBitmap = 组件_取成员值 (句柄, 32) ' 背景位图缓存
.否则
hBitmap = 组件_取成员值 (句柄, 28) ' 窗口位图
.如果结束
GetWindowRect (组件_取成员值 (句柄, 2), Rc)
.否则
hBitmap = 组件_取成员值 (句柄, 44)
CopyMemory (指针到整数 (取指针_通用型 (Rc)), 类_取成员指针 (句柄, 53), 4 × 4) ' 53-56
.如果结束
length = GetBitmapBits (hBitmap, 0, 0) ' 获取长度
Bitmap = 图像_创建自像素格式 (Rc.right - Rc.left, Rc.bottom - Rc.top)
图像_锁定数据 (Bitmap, MakeRC (0, 0, Rc.right - Rc.left, Rc.bottom - Rc.top), 位或 (#图像锁定模式_读, #图像锁定模式_写), #像素格式_32bppPARGB, BitData)
GetBitmapBits (hBitmap, length, BitData.Scan0) ' 获取拷贝位图数据
图像_解锁数据 (Bitmap, BitData)
返回 (Bitmap)
.子程序 设置位置, , 公开
.参数 左边, 整数型
.参数 顶边, 整数型
类_左边 = 左边
类_顶边 = 顶边
|
对比代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
.版本 2
.支持库 exui
.程序集 程序集1
.程序集变量 Ex_hDll, 整数型
.程序集变量 MainWindow, Ex_DirectUI
.程序集变量 Mainhwnd, 整数型
.程序集变量 MSLabel, 标签_Ex
.程序集变量 MSGroupBox, 分组框_Ex, , "4"
.程序集变量 MSEditBox, 透明编辑框_EX, , "4"
.程序集变量 GroupBoxHandle, 整数型, , "4"
.程序集变量 MSPictureFrame, 图片框_Ex, , "4"
.程序集变量 MSGraphicButton, 图形按钮_Ex
.子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行
Ex_hDll = _LoadLibrary (取指针_字节集型 (#Dll_ExduiDll), 0, 0)
Mainhwnd = 窗口_创建 (, “cookie分析”, , , 980, 620, )
全局_初始化 (Ex_hDll, 真, #主题包_Exdui主题包, , { }, “微软雅黑”, 13, , #文本渲染模式_ClearType文本和hinting技术, , , )
MainWindow.挂接窗口 (, Mainhwnd, #主题包_Thunder主题包, , #主程序皮肤, #白色, #标题栏_标题 + #标题栏_关闭按钮 + #标题栏_最小化按钮, 255, #底图方式_九宫排列, , 真, , , )
MainWindow.置客户区偏移 (10, 10 - 1, -10, -11)
GroupBoxHandle [1] = MSGroupBox [1].创建 (Mainhwnd, 32, 36, 386, 296, “Cookie1”, , , , RGB2ARGB (#白色, 200), , , , , , , )
MSEditBox [1].设置位置 (32, 36)
MSEditBox [1].创建 (GroupBoxHandle [1], 14, 24, 358, 258, , RGB2ARGB (#白色, 200), , , , , 真)
MSPictureFrame [1].创建 (GroupBoxHandle [1], 14, 24, 358, 258, #编辑框1)
MSPictureFrame [1].透明穿透 (真)
GroupBoxHandle [2] = MSGroupBox [2].创建 (Mainhwnd, 532, 36, 386, 296, “Cookie2”, , , , RGB2ARGB (#白色, 200), , , , , , , )
MSPictureFrame [2].创建 (GroupBoxHandle [2], 14, 24, 358, 258, #编辑框1)
MSPictureFrame [2].透明穿透 (真)
MSEditBox [2].设置位置 (532, 36)
MSEditBox [2].创建 (GroupBoxHandle [2], 14, 24, 358, 258, , RGB2ARGB (#白色, 200), , , , , 真)
GroupBoxHandle [3] = MSGroupBox [3].创建 (Mainhwnd, 32, 386, 386, 188, “相同参数”, , , , RGB2ARGB (#白色, 200), , , , , , , )
MSPictureFrame [3].创建 (GroupBoxHandle [3], 14, 24, 358, 160, #编辑框1)
MSPictureFrame [3].透明穿透 (真)
MSEditBox [3].设置位置 (32, 386)
MSEditBox [3].创建 (GroupBoxHandle [3], 14, 24, 358, 160, , RGB2ARGB (#白色, 200), , , , , 真)
GroupBoxHandle [4] = MSGroupBox [4].创建 (Mainhwnd, 532, 386, 386, 188, “不同参数”, , , , RGB2ARGB (#白色, 200), , , , , , , )
MSPictureFrame [4].创建 (GroupBoxHandle [4], 14, 24, 358, 160, #编辑框1)
MSPictureFrame [4].透明穿透 (真)
MSEditBox [4].设置位置 (532, 386)
MSEditBox [4].创建 (GroupBoxHandle [4], 14, 24, 358, 160, , RGB2ARGB (#白色, 200), , , , , 真)
MSGraphicButton.创建 (Mainhwnd, 438, 332, 84, 84)
MSGraphicButton.置状态图片 (#按钮1, #按钮2, #按钮3, , )
MSGraphicButton.透明穿透 (真)
MSGraphicButton.事件_被单击 (&开始对比)
MainWindow.置进入特效 (#特效类型_窗口_渐隐渐显, , , , #缓动类型_弹性缓动)
MainWindow.置退出特效 (#特效类型_窗口_弹性伸缩, , , , #缓动类型_弹性缓动)
窗口_消息循环 (Mainhwnd)
_FreeLibrary (Ex_hDll)
返回 (0)
.子程序 开始对比
.参数 句柄, 整数型
.参数 X, 整数型
.参数 Y, 整数型
.参数 状态, 整数型
.局部变量 cookie1数组, 文本型, , "0"
.局部变量 cookie2数组, 文本型, , "0"
.局部变量 i, 整数型
.局部变量 n, 整数型
.局部变量 相同参数, 逻辑型
.局部变量 相同文本, 文本型
.局部变量 不同文本, 文本型
cookie1数组 = 分割文本 (MSEditBox [1].内容 (), “; ”, )
cookie2数组 = 分割文本 (MSEditBox [2].内容 (), “; ”, )
.判断开始 (取数组成员数 (cookie1数组) ≥ 取数组成员数 (cookie2数组))
.计次循环首 (取数组成员数 (cookie1数组), i)
相同参数 = 假
.计次循环首 (取数组成员数 (cookie2数组), n)
.如果真 (cookie1数组 [i] = cookie2数组 [n])
相同参数 = 真
跳出循环 ()
.如果真结束
.计次循环尾 ()
.如果 (相同参数)
.如果 (相同文本 = “”)
相同文本 = cookie1数组 [i]
.否则
相同文本 = 相同文本 + #换行符 + cookie1数组 [i]
.如果结束
.否则
.如果 (不同文本 = “”)
不同文本 = cookie1数组 [i]
.否则
不同文本 = 不同文本 + #换行符 + cookie1数组 [i]
.如果结束
.如果结束
.计次循环尾 ()
.判断 (取数组成员数 (cookie1数组) ≤ 取数组成员数 (cookie2数组))
.计次循环首 (取数组成员数 (cookie2数组), i)
相同参数 = 假
.计次循环首 (取数组成员数 (cookie1数组), n)
.如果真 (cookie2数组 [i] = cookie1数组 [n])
相同参数 = 真
跳出循环 ()
.如果真结束
.计次循环尾 ()
.如果 (相同参数)
.如果 (相同文本 = “”)
相同文本 = cookie2数组 [i]
.否则
相同文本 = 相同文本 + #换行符 + cookie2数组 [i]
.如果结束
.否则
.如果 (不同文本 = “”)
不同文本 = cookie2数组 [i]
.否则
不同文本 = 不同文本 + #换行符 + cookie2数组 [i]
.如果结束
.如果结束
.计次循环尾 ()
.默认
.判断结束
MSEditBox [3].内容 (相同文本)
MSEditBox [4].内容 (不同文本)
MSEditBox [3].重画 ()
MSEditBox [4].重画 ()
|
运行结果:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接