恶意软件模型-广告软件

admin 2023年12月23日00:57:06评论34 views字数 3005阅读10分1秒阅读模式

广告软件通常是最不具有害的恶意软件类型,因为它试图推广一些产品,并以多种方式强迫用户看到广告,例如每次用户加载网站时在网络浏览器中。我们的广告软件在屏幕上显示三个烦人的弹出窗口,推广各种产品。

原文链接:

https://hackerchi.top/article/79ed93ce-54af-4d84-86f1-4e75bda469de.html


广告软件

广告软件通常是最不具有害的恶意软件类型,因为它试图推广一些产品,并以多种方式强迫用户看到广告,例如每次用户加载网站时在网络浏览器中。我们的广告软件在屏幕上显示三个烦人的弹出窗口,推广各种产品。

行为演示

在执行广告软件(./adware.py)之前,我们不需要任何特定的准备。执行后,我们可以立即看到屏幕上显示三个弹出窗口的广告。这可能令人烦恼,但仍然相对可以接受,但是当我们按下任何弹出窗口的关闭按钮时,什么都不会发生,广告仍然显示在屏幕上。

创建基本的广告软件是一个非常简单的过程,如下所述。这就是为什么在执行不常见或不受信任的文件时,你应该始终保持谨慎。

它是如何工作的

  • 首先,我们创建我们的广告软件并从系统中传递参数。因为我们需要一个适当的GUI,
    我们使用名为
    PySide2的Python模块。要了解更多关于GUI编程的信息,请参阅Python GUI编程指南。我们的类Adware继承自QApplication,代表主QT应用程序。

    adware = Adware(sys.argv)
  • 我们调用_show_ads()_方法,该方法创建对话框弹出窗口,并将这些窗口的引用传递给主模块windows中的变量。保持对这些窗口的引用非常重要,否则它们将不会显示在屏幕上。

    windows = adware.show_ads()
  • 我们的广告软件有一个属性advert_slogans,它代表我们希望受害者看到的广告口号列表。对于这些口号中的每一个,我们都希望通过调用_create_ad_window()_方法创建一个独特的弹出窗口。

    ad_windows = []
    for advert in self.advert_slogans:
    # Create a new ad window.
    ad_window = self.create_ad_window(advert)
  • 因为这些窗口会在屏幕上的同一位置弹出并重叠在一起,我们需要将创建的弹出窗口移动到屏幕上的随机位置。

     # Move this window to random location on screen.
    x_coordinate, y_coordinate = random.randint(1, 800), random.randint(1, 600)
    ad_window.move(x_coordinate, y_coordinate)
  • 为了创建弹出窗口,我们的函数_create_ad_window_使用给定的口号创建一个新的AdWindow。要在屏幕上显示窗口,我们必须调用_show_方法。

    window = AdWindow(ad_slogan=ad_slogan)
    window.show()
  • 名为AdWindow的弹出窗口继承自QDialog,并表示包含只显示广告的标签的布局的独立窗口。然而,为了使广告软件更烦人并更积极地显示广告,我们设置窗口在受害者按下关闭按钮时忽略关闭信号。当这种情况发生时,窗口会获得关于新事件closeEvent的信息。我们将简单地忽略任何操作,所以窗口会留在屏幕上。

    def closeEvent(self, event):
    event.ignore()
    #!/usr/bin/env python3""" 实现弹出多个广告窗口的简单广告软件 """



#!/usr/bin/env python3

""" 实现弹出多个广告窗口的简单广告软件 """

import logging
import sys
import random

from PySide2.QtWidgets import QApplication, QDialog, QLabel, QVBoxLayout


class AdWindow(QDialog):
""" 这个类代表在屏幕上显示的广告窗口 """

def __init__(self, ad_slogan, parent=None):
super(AdWindow, self).__init__(parent)
self.setWindowTitle("广告!")

# 创建一个布局,以便显示广告口号。
self.label = QLabel(ad_slogan)
layout = QVBoxLayout()
layout.addWidget(self.label)

self.setLayout(layout)

def closeEvent(self, event):
# 忽略关闭事件,以便广告不能通过按关闭按钮来关闭。
event.ignore()


class Adware(QApplication):
""" 这个类代表广告软件的实现 """

def __init__(self, args):
super(Adware, self).__init__(args)

@property
def advert_slogans(self):
""" 推广广告的口号 """
return (
'在牛奶店买牛奶!',
'在羊毛店买衣服!',
'在食品店买食物!'
)

def create_ad_window(self, ad_slogan):
""" 创建一个显示广告口号的窗口

:param str ad_slogan: 广告的文本。
"""
window = AdWindow(ad_slogan=ad_slogan)
window.show()
return window

def show_ads(self):
""" 创建主GUI应用程序并显示基于`:class:~Adware.advert_slogans`的广告 """
ad_windows = []
for advert in self.advert_slogans:
# 创建一个新的广告窗口。
ad_window = self.create_ad_window(advert)
# 将此窗口移动到屏幕上的随机位置。
x_coordinate, y_coordinate = random.randint(1, 800), random.randint(1, 600)
ad_window.move(x_coordinate, y_coordinate)
ad_windows.append(ad_window)

return ad_windows


if __name__ == '__main__':
logging.basicConfig(level=logging.DEBUG)

# 创建我们的广告软件并显示广告。
adware = Adware(sys.argv)
windows = adware.show_ads()

sys.exit(adware.exec_())



欢迎访问我们的网站和关注我们的公众号,获取最新的技术共享内容、创新想法和安全知识。

网站:hackerchi.top

微信公众号:黑客驰


💡

免责声明

本文为技术共享文章,仅有教育交流目的,不构成任何法律或专业建议。读者应自行承担使用该文章所产生的风险和责任。作者和组织不对使用该文章所引起的任何损失或损害负责。

本文严禁提供、讨论或鼓励任何网络安全违法行为。请遵守法律法规,进行合法的技术共享活动。


原文始发于微信公众号(黑客驰):恶意软件模型-广告软件

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月23日00:57:06
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   恶意软件模型-广告软件https://cn-sec.com/archives/2327477.html

发表评论

匿名网友 填写信息