逆向实战 1#去除流氓弹窗和浏览器主页绑定

2023-11-07 01:31

本文主要是介绍逆向实战 1#去除流氓弹窗和浏览器主页绑定,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

逆向实战 1#去除流氓弹窗和浏览器主页绑定

文章目录

  • 逆向实战 1#去除流氓弹窗和浏览器主页绑定
      • 环境 & 工具
      • 案例一
        • 案例一行为分析
        • 案例一脱壳
        • 去除弹窗
          • 浏览器弹窗产生方法
          • 消息框弹窗产生方法
          • 浏览器弹窗解决方法
      • 案例二
        • 案例二行为分析法
        • 案例二脱壳
        • 去除弹窗
        • 去除主页绑定
          • 主页绑定方法
          • 修改方法
      • 复现资源下载

环境 & 工具

  • win xp 32位 (还没学到处理ASLR等问题,而且懒得配环境,只能说ASLR一生之敌!)
  • 吾爱破解版ollydbg(大佬亲手调教)
  • PEiD(或别的查壳工具如exeinfope)
  • ImportREC
  • LordPE
  • Restorator

案例一

案例一行为分析

案例一主要行为:

  • 启动后,自动打开网页
  • 弹出消息窗口
  • 在启动20s、40s后,各打开一个网页
案例一脱壳

通过查壳工具发现程序加UPX壳

image-20211222233654206

尝试手脱

UPX是压缩壳,F8发现此时只有ESP寄存器值变红,说明程序正要为解压程序申请栈帧

于是选中esp,右键在数据窗口中跟随

image-20211223082842527

输入command:hr 0x12FFA4,在栈的ESP处增加硬件断点,当解压程序执行完毕时,为了堆栈平衡,esp将重新指向这个地址,此时解压程序返回的目标地址就是程序的入口点OEP(original entry point)

直接点击运行,程序停下时到达OEP附近

image-20211223084231120

F8跟进至长跳转,随后跟随跳转

image-20211223085020207

到达OEP

image-20211223145229588

用od插件或者LordPE把脱壳后程序dump出来

去除弹窗

想要去除弹窗,首先要知道弹窗是如何产生的

弹窗产生的类型主要为消息框弹窗浏览器弹窗

浏览器弹窗产生方法

主要可能由以下系统API产生

  • ShellExecuteA/W
  • WinExec
  • CreateProcessA/W
消息框弹窗产生方法
  • MessageBoxA/W
浏览器弹窗解决方法
  • 方法一 在C32Asm等文件查看软件中,查找浏览器打开的链接对应的(ASCII 或 UNICODE)字符,然后将对应内容填充为00,这个方法可以对应绝大部分浏览器弹窗问题image-20211223204502502

  • 方法二 对于少部分顽固浏览器弹窗而言,弹窗的地址是经过加密算法加密后进行保存的(可能性不大),此时可以在OD调试时,按下ctrl + G,然后跳转至程序调用这些系统API的位置下断点,随后让程序运行起来,在调用API时查看参数,确认是否广告弹窗来源

    image-20211223210545654

    在确认广告来源后,可以把调用函数的指令及前面的压栈过程用NOP指令填充,也可以把调用的整个过程的第一条指令改为retn指令

案例二

案例二行为分析法

这个案例会有两个广告,一个是打开20s后会出现一个无法关闭的小窗,并且在使用界面内有一个嵌入式广告,在打开的同时还会把浏览器的主页绑定为特定网页

image-20211223214210017

看到这里大多数人已经血压升高了吧 😄

案例二脱壳

使用案例的方法追踪esp进行脱壳 但是我失败了,还是手艺不精 :- (

实际上,这种方法找到的OEP是没有问题的,但是不知道为什么脱壳不完全,可能是dump工具的原因,PEiD浅层查壳发现已经脱壳完毕,但深度查壳后发现还有ASPACK壳残留,故使用脱壳机进行脱壳,

去除弹窗

这个弹窗的去除在脱壳完毕后显得尤为简单,将脱壳后程序拖进resource hacker,打开对话框选项,把对应的弹窗大小置零或者把对应资源直接删除即可

image-20211223213825646

image-20211223213915063

去除主页绑定
主页绑定方法

毫无疑问,还是通过系统API来实现此功能,这次出场的API分别是

  • RegCreateKeyExA/W

  • RegOpenKeyExA/W

  • RegDeleteKeyExA/W

修改方法

可以把调用函数的指令及前面的压栈过程用NOP指令填充,也可以把调用的整个过程的第一条指令改为retn指令

复现资源下载

这篇关于逆向实战 1#去除流氓弹窗和浏览器主页绑定的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/360332

相关文章

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd

python运用requests模拟浏览器发送请求过程

《python运用requests模拟浏览器发送请求过程》模拟浏览器请求可选用requests处理静态内容,selenium应对动态页面,playwright支持高级自动化,设置代理和超时参数,根据需... 目录使用requests库模拟浏览器请求使用selenium自动化浏览器操作使用playwright

Python获取浏览器Cookies的四种方式小结

《Python获取浏览器Cookies的四种方式小结》在进行Web应用程序测试和开发时,获取浏览器Cookies是一项重要任务,本文我们介绍四种用Python获取浏览器Cookies的方式,具有一定的... 目录什么是 Cookie?1.使用Selenium库获取浏览器Cookies2.使用浏览器开发者工具

PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例

《PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例》词嵌入解决NLP维度灾难,捕捉语义关系,PyTorch的nn.Embedding模块提供灵活实现,支持参数配置、预训练及变长... 目录一、词嵌入(Word Embedding)简介为什么需要词嵌入?二、PyTorch中的nn.Em

游戏闪退弹窗提示找不到storm.dll文件怎么办? Stormdll文件损坏修复技巧

《游戏闪退弹窗提示找不到storm.dll文件怎么办?Stormdll文件损坏修复技巧》DLL文件丢失或损坏会导致软件无法正常运行,例如我们在电脑上运行软件或游戏时会得到以下提示:storm.dll... 很多玩家在打开游戏时,突然弹出“找不到storm.dll文件”的提示框,随后游戏直接闪退,这通常是由于

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

Spring Boot3.0新特性全面解析与应用实战

《SpringBoot3.0新特性全面解析与应用实战》SpringBoot3.0作为Spring生态系统的一个重要里程碑,带来了众多令人兴奋的新特性和改进,本文将深入解析SpringBoot3.0的... 目录核心变化概览Java版本要求提升迁移至Jakarta EE重要新特性详解1. Native Ima

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三