今天我们来用最近比较火的“ChatGPT”学习一下Android病毒分析基础,看看和我们之前学的有什么不同,又能学习到什么新的东西,同时了解一下“ChatGPT”提问的一些精髓。

和我们之前的“Android病毒分析基础(一)”一样,我们先看一下环境搭建、工具使用、在线查杀、病毒分析方法以及特征提取等问题。

以下各项均是“ChatGPT”回答,本人只做了些许删减。

如何便捷的使用ChatGPT

在ChatGPT火了没多久,很多大佬就相继开发出了很多插件,包括了浏览器插件、MAC菜单栏程序、国内镜像接口等便捷的插件。

浏览器插件

项目地址:https://github.com/wong2/chat-gpt-google-extension

支持浏览器:Chrome、Edge、Firefox

支持搜索引擎:Google, Baidu, Bing, DuckDuckGo, Brave, Yahoo, Naver, Yandex, Kagi, Searx

安装:

我们直接选择在chrome应用商店下载:https://chrome.google.com/webstore/detail/chatgpt-for-google/jgjaeacdkonaoafenlfkkkmbaopkbilf

其他浏览器可以直接在github下载对应插件安装即可。

效果:

MAC菜单栏程序

项目地址:https://github.com/vincelwt/chatgpt-mac

支持MAC全系列

安装:我们直接在项目下下载对应的dmg文件安装即可

效果:

以上两个插件都是需要登录自己注册的账号,下面我们来介绍几个国内镜像接口,免登录直接使用。

ChatGPT国内镜像(可能被限制)

1、https://gpt.chatapi.art

2、https://trychatgpt.ssi.plus/

现在国内镜像被访问过多,可能都被限制了,所以最好还是自己注册一个账号,我们只需要找一个接码平台获取对应验证码即可,例如:https://sms-activate.org

接下来,我们进入正题,来看看ChatGPT如何教我们学习Android病毒分析。

环境搭建

  1. 安装虚拟机软件:需要安装一款虚拟机软件,如 VirtualBox 或 VMware,来运行 Android 系统。

  2. 下载 Android 系统镜像:可以从 Android 官网或其他网站下载 Android 系统的镜像文件。

  3. 创建虚拟机:使用虚拟机软件创建一个新的虚拟机,并将 Android 系统的镜像文件设置为启动盘。

  4. 安装 Android SDK:下载并安装 Android SDK,这是一个用于开发 Android 应用的工具集。

  5. 安装 Apktool:Apktool 是一款反编译工具,可以将 APK 文件反编译为可读的文本文件,以便进行病毒分析。

  6. 安装其他工具:根据您的需要,还可以安装其他工具,如 DEX2JAR、JD-GUI 等。

按照本人分析病毒经验,这些环境略显不足,所以我输入“继续”,结果机器人直接来了环境搭建后的分析过程:

  1. 获取待分析的病毒文件:可以从网络下载或从其他来源获取病毒文件,通常为 APK 格式。

  2. 反编译 APK 文件:使用 Apktool 将 APK 文件反编译为可读的文本文件。

  3. 分析反编译后的代码:打开反编译后的文件,查看源代码并分析病毒的行为。

  4. 运行病毒:在 Android 虚拟机中安装病毒 APK 文件,并观察它的行为。

  5. 分析病毒的攻击手段:分析病毒使用的漏洞、攻击手段、传播方式等。

  6. 分析病毒的持久化机制:检查病毒是否在系统启动时自动运行,或者是否安装了后门等。

这个分析过程也是较为简洁,我们“继续”,结果机器人直接开始介绍防范手段:

  1. 安装杀毒软件:使用专业的杀毒软件,如 McAfee、Norton 等,来查杀病毒。

  2. 升级操作系统和应用程序:及时升级操作系统和应用程序,以获得最新的安全补丁。

  3. 使用防火墙:使用防火墙来阻止未经授权的网络连接,并设置安全规则以防止病毒的传播。

  4. 不打开未知的邮件附件:避免打开未知来源的邮件附件,特别是 EXE、BAT、SCR 等可执行文件。

  5. 不下载未知的文件:避免从未知来源下载文件,特别是未经检查的 APK 应用程序。

  6. 使用双因素身份验证:使用双因素身份验证(2FA)来增强账户的安全性。

以上的回答显然不够入门,只是一些基础知识,我们换种方式提问,看看效果。

通过上图可以看出,我们可以对机器人纠错,也可以对某一个点进行深入提问,也可以通过“继续”来了解更多内容。

下面我们让机器人为我们详细列举病毒分析方法和病毒特征提取两个点。

Android病毒分析方法

  1. 静态分析:分析 APK 文件的二进制代码,可以通过反编译和解析资源文件获取更多信息。

  2. 动态分析:在设备上运行 APK 文件并监测其行为。可以使用模拟器或真机测试。

  3. 反汇编:通过反汇编工具分析二进制代码,获取程序的源代码和汇编代码。

  4. 反编译:通过反编译工具获取程序的高级语言代码(如 Java 代码)。

  5. 分析资源文件:通过解析 APK 文件中的资源文件,如布局文件、图像文件和字符串资源文件,获取有关程序的信息。

  6. 手机取证:通过从手机中获取数据来分析病毒行为。

  7. 分析通信:通过分析程序的网络通信来获取有关其功能和行为的信息。

  8. 分析存储:通过分析程序在设备上存储的数据,获取有关其功能和行为的信息。

  9. 分析注册表:通过分析设备的注册表来获取有关病毒的信息。

  10. 分析权限:通过分析程序请求的权限,了解其功能和行为。

  11. 分析关联文件:通过分析程序与其他文件之间的关联关系,了解其功能和行为。

  12. 分析数据流:通过分析程序处理数据的方式,了解其功能和行为。

  13. 分析代码签名:通过分析代码签名,了解程序的可信度和安全性。

  14. 分析程序依赖关系:通过分析程序与其他程序之间的依赖关系,了解其功能和行为。

  15. 分析加密方法:通过分析程序使用的加密方法,了解其功能和行为。

  16. 分析恶意行为:通过分析程序的恶意行为(如窃取数据、恶意广告、挖矿等),了解其功能和风险。

  17. 分析隐藏行为:通过分析程序隐藏的行为(如后台运行、注册启动项等),了解其功能和风险。

  18. 分析恶意代码:通过分析程序中的恶意代码(如木马、蠕虫等),了解其功能和风险。

  19. 分析关键字:通过分析程序中的关键字(如加密、网络通信、隐藏等),了解其功能和风险。

  20. 分析病毒特征:通过分析病毒的特征(如文件扩展名、图标、病毒库等),了解其功能和风险。

Android病毒特征提取方法

  1. 静态特征提取:分析 APK 文件的二进制代码,提取关于病毒的信息,如病毒库、文件扩展名、图标、病毒特征哈希值等。

  2. 动态特征提取:在设备上运行 APK 文件,监测病毒的行为,提取病毒的动态特征,如网络通信、文件操作、进程操作等。

  3. 分析资源文件:通过解析 APK 文件中的资源文件,如布局文件、图像文件和字符串资源文件,提取病毒的特征信息。

  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. 分析病毒的网络通信加密特征:通过分析病毒使用的网络通信加密方式(如 SSL/TLS、SSH 等),提取病毒的特征信息。

  33. 分析病毒的反调试特征:通过分析病毒使用的反调试技术(如软件断点、硬件断点、调试器检测等),提取病毒的特征信息。

  34. 分析病毒的网络隐蔽特征:通过分析病毒使用的网络隐蔽技术(如代理、隧道、混淆等),提取病毒的特征信息。

用python写一个Android程序分析工具

总结

可以看到chatGPT在某些问题上给出的答案远超出我们之前总结的内容,提供了不少新的思路,它在语义理解上已经远超过很多AI,我们可以持续提问,在这个过程中我们可以不断纠错,或者针对某个点再详细提问等,他都会结合上下文给出详细的解答,但是,我也试了很多问题,比如一些代码出现问题后,他可能无法纠正,他会给你一个答案,但是答案可能类似于套娃,无限循环,不过这个问题也可能是本人提问方式有问题,导致自己和chatGPT都进了死胡同。

总的来说,chatGPT在很多方面都表现很好,我们完全可以在工作中尝试使用它,可以用来写一些工具,例如我们可以让他写一些VBA来处理批处理excel等,可以快速生成一些文档模版等。

参考文章:https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA

Android病毒分析基础(二)—ChatGPT提问技巧的更多相关文章

  1. Android多线程分析之二:Thread的实现

    Android多线程分析之二:Thread的实现 罗朝辉 (http://www.cnblogs.com/kesalin/) CC 许可,转载请注明出处   在前文<Android多线程分析之一 ...

  2. 【Android病毒分析报告】 - ZooTiger “集恶意推广、隐私窃取、恶意吸费于一体”

    本文章由Jack_Jia编写,转载请注明出处.  文章链接:http://blog.csdn.net/jiazhijun/article/details/11772379 作者:Jack_Jia    ...

  3. 【Android病毒分析报告】- 手机支付毒王“银行悍匪”的前世今生

    from://http://blog.csdn.net/androidsecurity/article/details/18984165 2014年1月8日,央视曝光了一款名为“银行悍匪”的手机银行木 ...

  4. Android核心分析之二十三Andoird GDI之基本原理及其总体框架

     Android GDI基本框架 在Android中所涉及的概念和代码最多,最繁杂的就是GDI相关的代码了.但是本质从抽象上来讲,这么多的代码和框架就干了一件事情:对显示缓冲区的操作和管理. GDI主 ...

  5. 【Android病毒分析报告】 - ZxtdPay 吸费恶魔

    本文章由Jack_Jia编写,转载请注明出处.  文章链接:http://blog.csdn.net/jiazhijun/article/details/11581543 作者:Jack_Jia    ...

  6. Android核心分析之二十四Android GDI之显示缓冲管理

    Android GDI之屏幕设备管理-动态链接库 万丈高楼从地起,从最根源的硬件帧缓冲区开始.我们知道显示FrameBuffer在系统中就是一段内存,GDI的工作就是把需要输出的内容放入到该段内存的某 ...

  7. Android核心分析之二十二Android应用框架之Activity

    3 Activity设计框架 3.1 外特性空间的Activity    我们先来看看,android应用开发人员接触的外特性空间中的Activity,对于AMS来讲,这个Activity就是客服端的 ...

  8. Android核心分析之二十一Android应用框架之AndroidApplication

    Android Application Android提供给开发程序员的概念空间中Application只是一个松散的表征概念,没有多少实质上的表征.在Android实际空间中看不到实际意义上的应用程 ...

  9. Android核心分析 之二方法论探讨之概念空间篇

    方法论探讨之概念空间篇 我们潜意识就不想用计算机的方式来思考问题,我们有自己的思维描述方式,越是接近我们思维描述方式,我们越容易接受和使用.各种计算机语言,建模工具,不外乎就是建立一个更接近人的思维方 ...

  10. Android核心分析之二十八Android GDI之Surface&Canvas

    Surface&Canvas Canvas为在画布的意思.Android上层的作图几乎都通过Canvas实例来完成,其实Canvas更多是一种接口的包装.drawPaints ,drawPoi ...

随机推荐

  1. 体验 Gitea Actions

    即将推出的 Gitea Actions 致力于打造一个 CI/CD 工具的标准协议,第三方 CI 系统可以基于actions 协议与 Gitea 平台集成,提供一站式管理方案.Gitea Action ...

  2. 用 Java?试试国产框架 Solon v1.11.5(带视频)

    一个更现代感的 Java 应用开发框架:更快.更小.更自由.没有 Spring,没有 Servlet,没有 JavaEE:独立的轻量生态.主框架仅 0.1 MB. @Controller public ...

  3. Python全栈工程师之从网页搭建入门到Flask全栈项目实战(7) - 在线问答系统

    1.项目源码/业务逻辑 百度网盘链接:链接:https://pan.baidu.com/s/13VNfrSJE6vcL3HP1J5T8ew 提取码:00s0,项目业务逻辑自行阅读 2.项目搭建 点击新 ...

  4. vulnhub靶场之HACKABLE: III

    准备: 攻击机:虚拟机kali.本机win10. 靶机:Hackable: III,下载地址:https://download.vulnhub.com/hackable/hackable3.ova,下 ...

  5. day14-功能实现13

    家居网购项目实现013 以下皆为部分代码,详见 https://github.com/liyuelian/furniture_mall.git 32.功能30-会员不能登录后台管理 32.1需求分析/ ...

  6. [MySQL] 索引的使用、SQL语句优化策略

    目录 索引 什么是索引 索引的创建与删除 创建索引 删除索引 索引的使用 使用explain分析SQL语句 最佳左前缀 索引覆盖 避免对索引列进行额外运算 SQL语句优化 小表驱动大表 索引 什么是索 ...

  7. NOIP2022 退役记

    无所谓,我还能卡队线. 无所谓,我还能被卡校线.

  8. CentOS7升级Linux内核

    CentOS7升级Linux内核 什么是Linux内核 虽然时候使用 Linux 来表示整个操作系统,严格地说,Linux 只是个内核,而发行版的操作系统是一个完整功能的系统,它建立在内核之上,具有各 ...

  9. 华为运动健康服务Health Kit 6.9.0版本新增功能揭秘!

    华为运动健康服务(HUAWEI Health Kit)6.9.0版本新鲜出炉啦! 一文了解新增功能,快来一起加入Health Kit生态大家庭! 一.更丰富:睡眠呼吸记录健康数据开放 呼吸机是用于为患 ...

  10. 如何进行动态ip的域名解析设置?

    如何进行动态ip的域名解析设置?目前,有一部分域名客户出于节省成本.技术验证等因素,会把自己家里或是部门的电脑用来当做Web服务器.mail服务器或是ftp服务器.如果想提供给其他人长期浏览,一般都要 ...