吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5737|回复: 45
收起左侧

[原创] 一款看图软件的自动更新及弹窗广告代码分析

  [复制链接]
eec 发表于 2021-6-11 15:04
本帖最后由 eec 于 2021-6-11 15:57 编辑

网上下载了个看图的软件,发现每隔一段时间会弹广告,且开机会启动。

一、禁用开机启动
直接windows自带查找开机启动项无果,直接360开机加速...
image.png
发现不开机启动了,那么解决(不过软件的极速预览图片功能就失效了)。
(PS:使用火绒剑查找启动项,搜索{“fastpic”也可以定位启动项,所有的都禁用即可)

二、Patch代码
直接把fastpic.exe拖到IDA,发现是VC2005编译,找到wWinMain,F5转伪C代码,代码有点长,那么先放一放。
在IDA搜索字符串“kminisite”(热点广告)、“update”(更新程序)等,发现均未找到符合的,选择动态调试。
拖到x32dbg,Ctrl+G定位CtreateProcessA和W函数并下断(后续发现调用的是W的,因此取消A断点)。
image.png
image.png
然后运行程序,发现并没有断下,打开火绒剑监测软件目录(我安装在“E:\Fastpic”目录下):
image.png

点击开始监控,打开软件,发现确实没有启动更新或广告程序。
image.png
猜测软件做了优化:应该检测了系统时间,一个时间周期内仅第一次打开才执行,那么我们修改下系统时间到明天,再次拖到x32dbg运行。
这次成功断下,调用堆栈切至上层函数依次查看,可以发现 启动更新、广告程序和相关启动参数 的逻辑代码。
image.png
image.png
记住地址,去IDA中转到相应地址,按F5转伪C代码进行分析。
追随调用堆栈找到了疑似关键跳,然后Patch掉软件中启动进程调用函数看看(在sub_4CC94A函数内patch也是可以的):
image.png
那么来看下sub_4CC94A函数大概干了什么:
[C] 纯文本查看 复制代码
BOOL __cdecl sub_4CC94A(int a1)//根据push 1得知,a1变量为1
{
//省略无关代码...
int v13[3]; // [esp+30h] [ebp-244h] BYREF
//省略无关代码...
if ( a1 ){
      v13[0] = 0;
      //时间相关运算代码...
      v13[0] = (int)((v2 + v12) * 24.0);
      if ( (double)v13[0] < 1.0 ) return 0;//疑似为:如果和上次启动软件时间间隔小于1天,就直接返回。
  }
  sub_4CC86A();//此函数拼接启动参数,然后启动更新、广告等程序(CreateProcessW)
  Filename = 0;
  memset(v17, 0, sizeof(v17));
  GetModuleFileNameW(0, &Filename, 0x104u);
  PathRemoveFileSpecW(&Filename);
  PathAppendW(&Filename, &off_6D2290);
  if ( !PathFileExistsW(&Filename) )
    return 0;
  std::wstring::wstring(v14, &Filename);
  v18 = 0;
  std::wstring::append(v14, L" /from:17 /fast");
  if ( !a1 )
    std::wstring::append(v14, L" /manual");
  sub_50B17D();
  v4 = time32(0);
  sub_509BBD(v4);
  v5 = lpCommandLine[0];
  if ( lpCommandLine[5] < (LPWSTR)8 )
    v5 = (WCHAR *)lpCommandLine;
  v6 = sub_4CBA17(v5);
  v18 = -1;
  v7 = v6;
  std::wstring::~wstring(v14);
  return v7;}

所以patch代码如下:
...
.text:0040AB86                 push   1
.text:0040AB88                 call     sub_4CC94A //选择直接nop掉,懒得改内部代码。。
.text:0040AB8D                pop    ecx
...

修改为:
...
.text:0040AB86                 push    1
.text:0040AB88                 nop nop nop nop nop
.text:0040AB8D                pop     ecx
...

然后测试一下,发现运行正常,更新及广告代码移除成功。
(第一次发帖,内容比较简单,请大佬见谅)

免费评分

参与人数 8威望 +1 吾爱币 +28 热心值 +8 收起 理由
Hmily + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
hjk + 1 + 1 爱奇艺视频播放器 这个小巧好用 之前C32没搞定
dlccom + 1 + 1 鼓励转贴优秀软件安全工具和文档!
hxw0204 + 1 + 1 热心回复!
Mainos + 2 + 1 我很赞同!
itachi137 + 1 + 1 我很赞同!
onlyclxy + 1 + 1 用心讨论,共获提升!
杨辣子 + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| eec 发表于 2021-6-14 19:15
本帖最后由 eec 于 2021-6-14 19:16 编辑
hjk 发表于 2021-6-13 20:50
这个帮我看下@eec
爱奇艺视频播放器
版本:8.3.132.2838类型:网络电视

一样下断CreateProcessW,然后你能发现:
[Asm] 纯文本查看 复制代码
07E1FCB0   75F055C1  /CALL 到 CreateProcessW 来自 shell32.75F055BB
07E1FCB4   067E08CC  |ModuleFileName = "C:\Users\...\AppData\Roaming\IQIYI Video\GeePlayer\GpUpdate.exe"
07E1FCB8   040BE1B8  |CommandLine = "C:\Users\...\AppData\Roaming\IQIYI Video\GeePlayer\GpUpdate.exe" initiative"

剩下不用我说了吧。。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
heike1993 + 1 + 1 这个视频播放器能不能也写一个分析,谢谢

查看全部评分

heike1993 发表于 2021-6-15 10:13
eec 发表于 2021-6-14 19:15
一样下断CreateProcessW,然后你能发现:
[mw_shl_code=asm,true]07E1FCB0   75F055C1  /CALL 到 Create ...

下断CreateProcessW 后,这段代码怎么得到?
07E1FCB0   75F055C1  /CALL 到 CreateProcessW 来自 shell32.75F055BB
07E1FCB4   067E08CC  |ModuleFileName = "C:\Users\...\AppData\Roaming\IQIYI Video\GeePlayer\GpUpdate.exe"
07E1FCB8   040BE1B8  |CommandLine = "C:\Users\...\AppData\Roaming\IQIYI Video\GeePlayer\GpUpdate.exe" initiative"

怎么处理?和上面讲的不一样?
yulai3230 发表于 2021-6-11 16:18
sqzh 发表于 2021-6-11 16:26
老板不提供下载吗
 楼主| eec 发表于 2021-6-11 16:53
sqzh 发表于 2021-6-11 16:26
老板不提供下载吗

腾讯软件中心有原版:https://dl.softmgr.qq.com/original/Picture/Fastpic_Setup_69_1_20210427.exe,可自行下载对软件进行分析。
陈一发儿 发表于 2021-6-11 20:55
谢谢分享,学到了
forgaoqiang 发表于 2021-6-11 21:37
2345看图也一个鬼样 可以考虑从系统中不给广告程序权限 读的权限都不给来解决
guangzisam 发表于 2021-6-11 22:06
IDA的版本?转化为 伪C代码
lfm333 发表于 2021-6-12 07:34
感谢分享
zjm0616 发表于 2021-6-12 08:09
6666666666666666
毁我容颜 发表于 2021-6-12 08:14
感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-26 01:48

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表