[原创]Windows按键精灵分析
source link: https://bbs.pediy.com/thread-268022.htm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
样本无壳。
数字签名是吊销签名。
引用徐胜的一段话"外挂是一种特定的辅助软件。外挂与木马程序的区别在于,外挂是用户主动使用的,而木马则是在用户的终端上偷偷运行的。根据外挂是否有模块进行游戏客户端,把外挂大致分成两大类,即内存挂和非内存挂。“很显然这个样本非内存挂。
二、技术细节详细分析
释放的压缩包存在C:\Users\<username>\AppData\Roaming\MyMacro启用。
通过端口8888和51019向117.27.139.134传输信息。
注册表行为
创建回调键值去启用注册的CLSID。
增添键值,追踪原文件。
初始化获取系统时间,跳入函数起始函数,检查文件和所在路径。
进入到main函数后,对异常,以及线程对临界区数据的读取做了进一步限制。
屏蔽系统错误窗口。
生成相应的配置信息。
根据参数的信息,可以直到这是监视对话框、消息框、菜单或滚动条中的输入事件而生成的消息。
如上图,这个函数是profuncaddreess,调试他。
如果没有hook成功,将会直接跳转。设置成功,返回原函数。
经过多跳,跳入设置设置注册表的函数。
设置消息过滤,并向OLE注册IMessageFilter接口,根据每个线程只能注册一个消息过滤器。多线程单元中的线程不能有消息过滤器。
初始化com组件,初始化控件,初始化gdip函数库。
创建guid,重启管理器。
比对特殊字符。
通过下面的网址返回相应的信息。
设置事件跟踪。
监控鼠标的移动,点击,和时间间隔。
函数最后取消注册,取消互锁,取消钩子。
用 dbgview 看一下谁与客户端进行交互。
QQbox 客户端进行进程间管道通信。
runner.exe 对 Visible、Enabled、Left、Top、Width、Height、ZOrder、Text、TextColor、BackColor、Hwnd、NormalColor、OverColor、FocusColor、Appearance、ColorScheme、Password 这些参数进行判断。
3908 为原外挂程序访问网址。
外挂可执行程序释放的 runner.exe 执行脚本。
runner加了所谓的强壳。
建议用1.4脚本去调试,也可以硬调。使用1.4脚本脱壳,可以参照我的od配置。
由于限制附件的大小,这是我OD的所有配置,运行起来没有异常。
经过调试两种方法都可行。
通过 loadMenu 和 GetSubMenu 这种方式去执行脚本内容。
db
'0x14'
,
0Ah
; DATA XREF: sub_4059E0
+
260
↑o
___:
007F8FF8
db
'CapsLock'
,
0Ah
___:
007F8FF8
db
'0x10'
,
0Ah
___:
007F8FF8
db
'Shift'
,
0Ah
___:
007F8FF8
db
'0x11'
,
0Ah
___:
007F8FF8
db
'Ctrl'
,
0Ah
___:
007F8FF8
db
'0x12'
,
0Ah
___:
007F8FF8
db
'Alt'
,
0Ah
___:
007F8FF8
db
'0x5b'
,
0Ah
___:
007F8FF8
db
'Win'
,
0Ah
___:
007F8FF8
db
'0x5c'
,
0Ah
___:
007F8FF8
db
'Win'
,
0Ah
___:
007F8FF8
db
'0x26'
,
0Ah
___:
007F8FF8
db
'Up'
,
0Ah
___:
007F8FF8
db
'0x28'
,
0Ah
___:
007F8FF8
db
'Down'
,
0Ah
___:
007F8FF8
db
'0x25'
,
0Ah
___:
007F8FF8
db
'Left'
,
0Ah
___:
007F8FF8
db
'0x27'
,
0Ah
___:
007F8FF8
db
'Right'
,
0Ah
___:
007F8FF8
db
'0x2d'
,
0Ah
___:
007F8FF8
db
'Insert'
,
0Ah
___:
007F8FF8
db
'0x24'
,
0Ah
___:
007F8FF8
db
'Home'
,
0Ah
___:
007F8FF8
db
'0x21'
,
0Ah
___:
007F8FF8
db
'PageUp'
,
0Ah
___:
007F8FF8
db
'0x2e'
,
0Ah
___:
007F8FF8
db
'Delete'
,
0Ah
___:
007F8FF8
db
'0x23'
,
0Ah
___:
007F8FF8
db
'End'
,
0Ah
___:
007F8FF8
db
'0x22'
,
0Ah
___:
007F8FF8
db
'PageDown'
,
0Ah
___:
007F8FF8
db
'0x8'
,
0Ah
___:
007F8FF8
db
'BackSpace'
,
0Ah
___:
007F8FF8
db
'0xd'
,
0Ah
___:
007F8FF8
db
'Enter'
,
0Ah
___:
007F8FF8
db
'0x5d'
,
0Ah
___:
007F8FF8
db
'Right Mouse'
,
0Ah
___:
007F8FF8
db
'0x20'
,
0Ah
___:
007F8FF8
db
'Space'
,
0Ah
___:
007F8FF8
db
'0x9'
,
0Ah
___:
007F8FF8
db
'Tab'
,
0Ah
___:
007F8FF8
db
'0x1b'
,
0Ah
___:
007F8FF8
db
'Esc'
,
0Ah
___:
007F8FF8
db
'0x70'
,
0Ah
___:
007F8FF8
db
'F1'
,
0Ah
___:
007F8FF8
db
'0x71'
,
0Ah
___:
007F8FF8
db
'F2'
,
0Ah
___:
007F8FF8
db
'0x72'
,
0Ah
___:
007F8FF8
db
'F3'
,
0Ah
___:
007F8FF8
db
'0x73'
,
0Ah
___:
007F8FF8
db
'F4'
,
0Ah
___:
007F8FF8
db
'0x74'
,
0Ah
___:
007F8FF8
db
'F5'
,
0Ah
___:
007F8FF8
db
'0x75'
,
0Ah
___:
007F8FF8
db
'F6'
,
0Ah
___:
007F8FF8
db
'0x76'
,
0Ah
___:
007F8FF8
db
'F7'
,
0Ah
___:
007F8FF8
db
'0x77'
,
0Ah
___:
007F8FF8
db
'F8'
,
0Ah
___:
007F8FF8
db
'0x78'
,
0Ah
___:
007F8FF8
db
'F9'
,
0Ah
___:
007F8FF8
db
'0x79'
,
0Ah
___:
007F8FF8
db
'F10'
,
0Ah
___:
007F8FF8
db
'0x7a'
,
0Ah
___:
007F8FF8
db
'F11'
,
0Ah
___:
007F8FF8
db
'0x7b'
,
0Ah
___:
007F8FF8
db
'F12'
,
0Ah
___:
007F8FF8
db
'0x91'
,
0Ah
___:
007F8FF8
db
'Scroll Lock'
,
0Ah
___:
007F8FF8
db
'0x13'
,
0Ah
___:
007F8FF8
db
'Pause/Break'
,
0Ah
___:
007F8FF8
db
'0x90'
,
0Ah
___:
007F8FF8
db
'Num Lock'
,
0Ah
___:
007F8FF8
db
'0x6f'
,
0Ah
___:
007F8FF8
db
'Num /'
,
0Ah
___:
007F8FF8
db
'0x6a'
,
0Ah
___:
007F8FF8
db
'Num *'
,
0Ah
___:
007F8FF8
db
'0x6d'
,
0Ah
___:
007F8FF8
db
'Num -'
,
0Ah
___:
007F8FF8
db
'0x6b'
,
0Ah
___:
007F8FF8
db
'Num +'
,
0Ah
___:
007F8FF8
db
'0xbd'
,
0Ah
___:
007F8FF8
db
'-'
,
0Ah
___:
007F8FF8
db
'0xbb'
,
0Ah
___:
007F8FF8
db
'='
,
0Ah
___:
007F8FF8
db
'0xdc'
,
0Ah
___:
007F8FF8
db
'\'
,
0Ah
___:
007F8FF8
db
'0xdb'
,
0Ah
___:
007F8FF8
db
'['
,
0Ah
___:
007F8FF8
db
'0xdd'
,
0Ah
___:
007F8FF8
db
']'
,
0Ah
___:
007F8FF8
db
'0xba'
,
0Ah
___:
007F8FF8
db
';'
,
0Ah
___:
007F8FF8
db
'0xde'
,
0Ah
___:
007F8FF8
db
27h
,
0Ah
___:
007F8FF8
db
'0xbc'
,
0Ah
___:
007F8FF8
db
','
,
0Ah
___:
007F8FF8
db
'0xbe'
,
0Ah
___:
007F8FF8
db
'.'
,
0Ah
___:
007F8FF8
db
'0xbf'
,
0Ah
___:
007F8FF8
db
'/'
,
0Ah
___:
007F8FF8
db
'0xc0'
,
0Ah
___:
007F8FF8
db
'`'
,
0Ah
___:
007F8FF8
db
'0x67'
,
0Ah
___:
007F8FF8
db
'Num 7'
,
0Ah
___:
007F8FF8
db
'0x68'
,
0Ah
___:
007F8FF8
db
'Num 8'
,
0Ah
___:
007F8FF8
db
'0x69'
,
0Ah
___:
007F8FF8
db
'Num 9'
,
0Ah
___:
007F8FF8
db
'0x64'
,
0Ah
___:
007F8FF8
db
'Num 4'
,
0Ah
___:
007F8FF8
db
'0x65'
,
0Ah
___:
007F8FF8
db
'Num 5'
,
0Ah
___:
007F8FF8
db
'0x66'
,
0Ah
___:
007F8FF8
db
'Num 6'
,
0Ah
___:
007F8FF8
db
'0x61'
,
0Ah
___:
007F8FF8
db
'Num 1'
,
0Ah
___:
007F8FF8
db
'0x62'
,
0Ah
___:
007F8FF8
db
'Num 2'
,
0Ah
___:
007F8FF8
db
'0x63'
,
0Ah
___:
007F8FF8
db
'Num 3'
,
0Ah
___:
007F8FF8
db
'0x60'
,
0Ah
___:
007F8FF8
db
'Num 0'
,
0Ah
___:
007F8FF8
db
'0x6e'
,
0Ah
___:
007F8FF8
db
'Num .'
,
0Ah
___:
007F8FF8
db
'0x2c'
,
0Ah
___:
007F8FF8
db
'Print Screen'
,
0Ah
___:
007F8FF8
db
'0xa0'
,
0Ah
___:
007F8FF8
db
'LeftShift'
,
0Ah
___:
007F8FF8
db
'0xa1'
,
0Ah
___:
007F8FF8
db
'RightShift'
,
0Ah
___:
007F8FF8
db
'0xa2'
,
0Ah
___:
007F8FF8
db
'LeftCtrl'
,
0Ah
___:
007F8FF8
db
'0xa3'
,
0Ah
___:
007F8FF8
db
'RightCtrl'
,
0Ah
___:
007F8FF8
db
'0xa4'
,
0Ah
___:
007F8FF8
db
'LeftAlt'
,
0Ah
___:
007F8FF8
db
'0xa5'
,
0Ah
___:
007F8FF8
db
'RightAlt'
,
0Ah
,
0
___:
007F92D6
align
4
___:
007F92D8
a0xX db
'0x%x'
,
0Ah
,
0
; DATA XREF: sub_4059E0
+
274
↑o
___:
007F92DE
align
10h
___:
007F92E0
aCtrl db
'Ctrl+'
,
0
; DATA XREF: sub_4059E0
+
3A6
↑o
___:
007F92E6
align
4
___:
007F92E8
aAlt db
'Alt+'
,
0
; DATA XREF: sub_4059E0
+
3BA
↑o
___:
007F92ED
align
10h
___:
007F92F0
aShift db
'Shift+'
,
0
; DATA XREF: sub_4059E0
+
3CE
↑o
___:
007F92F7
align
4
到此为止找到脚本。
[看雪官方培训] Unicorn Trace还原Ollvm算法!《安卓高级研修班》2021年秋季班火热招生!!
上传的附件:
- tmd脱壳文件.7z (197.87kb,11次下载)
Recommend
-
96
为什么这块屏幕按了没反应? 不到 10 岁的小女儿拿着 Game Boy Color(GBC)问 Chris Cohoon,GBC 是 1998 年任天堂出品的彩屏掌上游戏机,著名的《精灵宝可梦:金/银》就是 GBC 上的游戏。
-
30
声音精灵 - 声音精灵,分析声音频谱频率,帮你提高唱功,练声,唱得更好 - NEXT
-
6
有没有一款按键精灵,我演示一遍页面点击,就能记住并模仿 - OSCHINA - 中文开源技术交流社区 开源问答...
-
4
机械按键,触发更快,北通阿修罗2 Pro机械版_原创_新浪众测 ...
-
7
Smart 精灵1号安装4K行车记录仪 360 G900分享_原创_新浪众测
-
5
模拟按键操作在 C++ 中,可以使用 Windows API 函数来模拟键盘按键操作。以下是一个示例代码,用于模拟按下和释放键盘上的 A 键:#include <Windows.h> // 模拟按下 A 键 keybd_event('A', 0, 0, 0); // 模拟释放 A 键 ke...
-
4
i5-13500H+4050,惠普光影精灵9定制款分享!_原创_新浪众测 ...
-
6
V2EX › 程序员 有没有类似按键精灵的抓图软件
-
6
【笔记】按键精灵 2014 2023-06-21
-
6
惠普暗影精灵8Pro,畅爽开黑游戏更happy!_原创_新浪众测
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK