首页
社区
课程
招聘
[翻译]自启动方式 No.94 No.95(大意)
发表于: 2019-3-17 16:41 6178

[翻译]自启动方式 No.94 No.95(大意)

2019-3-17 16:41
6178

声明:本文及其软件仅用于学习交流,请勿用于商业用途和违法行为,使用产生的后果由使用者承担,本作者不承担任何法律责任和风险。如需转载请注明一下出处,谢谢~。


---------- ---------- ---------- ---------- ---------- No.94 ---------- ---------- ---------- ---------- ----------


原文:http://www.hexacorn.com/blog/2018/11/25/beyond-good-ol-run-key-part-94/

这是一篇关于Windows 10新功能的短文,有一些用户在网上抱怨这个新功能。

当你使用这个系统一段时间,并且在某个时候需要重启系统时,你可能会注意到,有时在重启系统之前运行的应用程序会在你登录系统之后重新启动。

Regedit就是一个很好的例子。如果你打开它,然后重启系统,Regedit将会自启动。

Windows 10如何知道系统重启后自启哪些进程?

在重启系统之前,填充RunOnce键,以如下形式添加项目列表:

HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\Application Restart #N=<Application Path>

N是一个数字(代码在winsrvext.dll)。

所以,如果你遇到这样的条目,至少我们可以猜出它们来自哪里。

那么,操作系统是如何知道要自启哪些程序的呢?

如果你使用过OSX,你可能熟悉一个很酷的功能——重启系统后自启之前打开的应用程序。Windows 10会遵循这条路径吗?事实证明,真相要无趣得多。这实际上根本就不是类似Mac osx的功能。操作系统只是获取在运行时调用RegisterApplicationRestart API的程序列表,并且只将这些程序添加到RunOnce键中。

最后,我完全不知道为什么Regedit也调用这个API。


---------- ---------- ---------- ---------- ---------- No.95 ---------- ---------- ---------- ---------- ---------- 


原文:http://www.hexacorn.com/blog/2018/12/02/beyond-good-ol-run-key-part-95/

声明:本文及其软件仅用于学习交流,请勿用于商业用途和违法行为,使用产生的后果由使用者承担,本作者不承担任何法律责任和风险。如需转载请注明一下出处,谢谢~。


---------- ---------- ---------- ---------- ---------- No.94 ---------- ---------- ---------- ---------- ----------


原文:http://www.hexacorn.com/blog/2018/11/25/beyond-good-ol-run-key-part-94/

这是一篇关于Windows 10新功能的短文,有一些用户在网上抱怨这个新功能。

当你使用这个系统一段时间,并且在某个时候需要重启系统时,你可能会注意到,有时在重启系统之前运行的应用程序会在你登录系统之后重新启动。

Regedit就是一个很好的例子。如果你打开它,然后重启系统,Regedit将会自启动。

Windows 10如何知道系统重启后自启哪些进程?

在重启系统之前,填充RunOnce键,以如下形式添加项目列表:

HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\Application Restart #N=<Application Path>

N是一个数字(代码在winsrvext.dll)。

所以,如果你遇到这样的条目,至少我们可以猜出它们来自哪里。

那么,操作系统是如何知道要自启哪些程序的呢?

如果你使用过OSX,你可能熟悉一个很酷的功能——重启系统后自启之前打开的应用程序。Windows 10会遵循这条路径吗?事实证明,真相要无趣得多。这实际上根本就不是类似Mac osx的功能。操作系统只是获取在运行时调用RegisterApplicationRestart API的程序列表,并且只将这些程序添加到RunOnce键中。

最后,我完全不知道为什么Regedit也调用这个API。


---------- ---------- ---------- ---------- ---------- No.95 ---------- ---------- ---------- ---------- ---------- 


原文:http://www.hexacorn.com/blog/2018/12/02/beyond-good-ol-run-key-part-95/

最近我阅读了关于Turla的ESET研究报告。
我在阅读的时候发现了对Turla持久性驻留机制的描述,该机制需要在被感染系统中用到Bat!程序。虽然Eset的报告声称Turla不再使用这个技巧,但我认为在本系列中对它进行描述将是一个好主意。另外,我还增加了一个技巧作为奖励。
对于那些不知道的人而言,Bat!是一个非常流行的电子邮件客户端。它是持续开发的,仍然有很多用户可能因为这个程序的插件框架而成为恶意软件攻击的目标。
根据ESET的文件叙述:
为了注册成为Bat!的一个插件,恶意软件修改文件%appdata%\The Bat!\Mail\TBPlugin.INI。这是注册Bat!插件的合法方法。一些插件也依赖该法,如反垃圾邮件插件。
TBPlugin.INI的结构非常简单——它是一个标准的Windows .ini文件:
...
[Plugins]
Count=<number>
Plugin #1=<file name>
Plugin #2=<file name>
...
.ini文件可能包含其他部分,如:[Plugin Data]和[AntiSpam]。
插件是一个标准的DLL模块。为了正常工作,它需要导出一些或全部api,如下所示:
TBP_Initialize
TBP_Finalize
TBP_GetName – 必须导出,插件才能正常工作。
TBP_GetVersion
TBP_GetStatus – 必须导出,插件才能正常工作。
TBP_GetInfo
TBP_NeedConfig
TBP_Setup
TBP_SetConfigData
TBP_GetConfigData
TBP_NeedCOM
TBP_GetSpamScore
TBP_FeedSpam
TBP_GetMacroList
TBP_ExecMacro
TBP_SetLibEntryPoints
TBP_NeedResave
TBP_SetCoreBridge
关于如何开发Bat!的插件的更多信息(包括示例插件),点击:https://www.ritlabs.com/en/products/thebat/plugin.php
在我的测试中,我成功地执行了一个测试DLL,而不导出任何必需的api。当我试图手动添加插件时,程序确实加载了DLL并执行了它的DllMain函数,只不过提示它不是一个能正常工作的插件。
最近我阅读了关于Turla的ESET研究报告。
我在阅读的时候发现了对Turla持久性驻留机制的描述,该机制需要在被感染系统中用到Bat!程序。虽然Eset的报告声称Turla不再使用这个技巧,但我认为在本系列中对它进行描述将是一个好主意。另外,我还增加了一个技巧作为奖励。
对于那些不知道的人而言,Bat!是一个非常流行的电子邮件客户端。它是持续开发的,仍然有很多用户可能因为这个程序的插件框架而成为恶意软件攻击的目标。
根据ESET的文件叙述:
为了注册成为Bat!的一个插件,恶意软件修改文件%appdata%\The Bat!\Mail\TBPlugin.INI。这是注册Bat!插件的合法方法。一些插件也依赖该法,如反垃圾邮件插件。
TBPlugin.INI的结构非常简单——它是一个标准的Windows .ini文件:
...
[Plugins]
Count=<number>
Plugin #1=<file name>
Plugin #2=<file name>
...
.ini文件可能包含其他部分,如:[Plugin Data]和[AntiSpam]。
插件是一个标准的DLL模块。为了正常工作,它需要导出一些或全部api,如下所示:
TBP_Initialize
TBP_Finalize
TBP_GetName – 必须导出,插件才能正常工作。
TBP_GetVersion
TBP_GetStatus – 必须导出,插件才能正常工作。
TBP_GetInfo
TBP_NeedConfig
TBP_Setup
TBP_SetConfigData
TBP_GetConfigData
TBP_NeedCOM
TBP_GetSpamScore
TBP_FeedSpam
TBP_GetMacroList

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 1
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//