1. 程式人生 > >WinRAR x64 v5.5中文版去廣告過程

WinRAR x64 v5.5中文版去廣告過程

之前用的別人破解的WinRAR,最近更新到5.5後,居然彈出了廣告,並且是在有註冊檔案的情況下。這一點就說明其簡體中文的代理很黑,即便對於註冊使用者也想彈出廣告賺取流量費。最近都在苦逼的搞開發,好久沒玩過了,就拿它開開刀。

一、獲取廣告視窗類名

Visual Studio自帶了一個名為spy++的視窗資訊檢視工具,搜尋spyxx即可找到。這裡要注意使用x64版本的,其檔名為spyxx_amd64.exe。開啟該軟體並開啟WinRAR,廣告視窗即刻蹦了出來:
找到廣告視窗的視窗類名
按Ctrl+F後將查詢工具的小圖示拖到廣告視窗上,可以看出,其註冊的視窗類為”RarReminder”。

二、x64dbg追蹤

由於這次除錯的是x64版本的WinRAR,神器OllyDBG無法派上用場,好在有一個名為x64dbg的新晉偵錯程式基本能夠代替其功能。這次就用它來除錯吧:
用x64dbg載入程式,預設斷在了ntdll領空,F9跑起來後斷在了程式OEP處:
x64dbg中斷在程式入口點
直接右鍵——在當前模組查詢字串,輸入“RarReminder”,共兩處命中:
查詢視窗類字串
第一處是註冊該廣告視窗類:
註冊廣告的視窗類
第二處是建立該廣告視窗:
建立廣告視窗

2-1. 廢掉廣告視窗類註冊動作

先在IDA中看看,第一處所在的函式應該是在集中註冊視窗類,只要有一個註冊失敗整個程式就退出執行了。

.text:00000001400D8951                 lea
rax, sub_14009EE78 .text:00000001400D8958 mov [rsp+28h+WndClass.lpfnWndProc], rax .text:00000001400D895D movdqa xmm0, cs:xmmword_1401197B0 .text:00000001400D8965 movdqa xmmword ptr [rsp+28h+WndClass.hbrBackground], xmm0 .text:00000001400D896E lea rax, aRarreminder
; "RarReminder" .text:00000001400D8975 mov [rsp+28h+WndClass.lpszClassName], rax .text:00000001400D897D lea rcx, [rsp+28h+WndClass] ; lpWndClass .text:00000001400D8982 call cs:RegisterClassW .text:00000001400D8988 test ax, ax .text:00000001400D898B jz loc_1400D9107 .text:00000001400D8991 lea rax, sub_1400DC40C

針對此處,將對.text:00000001400D8982的call給nop掉,但要注意堆疊平衡,並且把判斷返回值和跳向自殺的語句給nop掉,以防程式一言不合就退出。當然,這裡還有一個trick,直接把call指令換成pop rax,既避免了註冊廣告視窗類,又避免了rax返回空而導致程式自殺。

異常退出

然而真這麼做,馬上就會發現問題——F9再次跑起來,很快丟擲異常並終止程序了。由於我們改的指令只是動了堆疊,隱約感覺是堆疊平衡被破壞了。
仔細觀察,呼叫RegisterClassW的call指令前並沒有壓棧動作,這一點和我們熟悉的Win32下的API呼叫有極大不同,取而代之的是對rcx暫存器進行了賦值,而其取得的恰恰就是WndClass的地址!
這裡,已經有足夠的理由猜測Win64下系統API呼叫的約定已經換成了__fastcall,不再是Win32時代下我們熟悉的那個__stdcall。下面實證一下:
執行call之前
執行call之後
可以看出,call執行前後RSP的值並沒有發生任何變化。

解決方案

這裡最終採用的操作是將call、test和je三條指令都nop掉,nop掉後,測試無誤。

2-2. 幹掉廣告視窗顯示動作

繼續執行,程式斷在了建立視窗的API處:
建立視窗處的程式碼,向上看到了廣告URL
向上翻一翻,直接就發現了廣告地址。嗨呀,好氣啊!

x64dbg和IDA的地址對不上?!

問題出在我對IDA中ImageBase的理解上:
我一直認為在IDA中拉到最上面就是基地址,這樣算起來就是0x140001000,然而,仔細看IDA的描述:

.text:0000000140001000 ;
.text:0000000140001000 ; +-------------------------------------------------------------------------+
.text:0000000140001000 ; |   This file has been generated by The Interactive Disassembler (IDA)    |
.text:0000000140001000 ; |           Copyright (c) 2015 Hex-Rays, <[email protected]>           |
.text:0000000140001000 ; +-------------------------------------------------------------------------+
.text:0000000140001000 ;
.text:0000000140001000 ; Input MD5   : 23A325892A72F1830339E2AC4FD682B2
.text:0000000140001000 ; Input CRC32 : B1D47F33
.text:0000000140001000
.text:0000000140001000 ; File Name   : C:\Users\xxx\Desktop\WinRAR\WinRAR.exe
.text:0000000140001000 ; Format      : Portable executable for AMD64 (PE)
.text:0000000140001000 ; Imagebase   : 140000000
.text:0000000140001000 ; Section 1. (virtual address 00001000)
.text:0000000140001000 ; Virtual size                  : 00107D71 (1080689.)
.text:0000000140001000 ; Section size in file          : 00107E00 (1080832.)
.text:0000000140001000 ; Offset to raw data for section: 00000400
.text:0000000140001000 ; Flags 60000020: Text Executable Readable
.text:0000000140001000 ; Alignment     : default
.text:0000000140001000 ; PDB File Name : D:\Projects\WinRAR\build\winrar64\Release\WinRAR.pdb
.text:0000000140001000
.text:0000000140001000                 include uni.inc ; see unicode subdir of ida for info on unicode
.text:0000000140001000
.text:0000000140001000                 .686p
.text:0000000140001000                 .mmx
.text:0000000140001000                 .model flat
.text:0000000140001000
.text:0000000140001000 ; ===========================================================================

真正的地址是Imagebase中的值,為0x140000000,這樣就能對應上了。在x64dbg中,直接在指令上右擊,選擇複製,是能看到RVA的。IDA中的RVA地址我是通過當前地址-基地址手工計算得到的。這樣換算顯得十分不方便,之前在Win32時代倒是可以通過清除PE頭部的兩處標記讓載入器不執行重定位操作,Win64下有沒有類似操作呢?以後再探究吧。

幹掉廣告函式

既然發現整個函式都和廣告有說不清道不明的關係,並且IDA中的交叉引用還不止一處,那就直接把整個函式幹掉把,乾脆在函式頭用ret大法!
在函式頭處ret

三、儲存修改後的映象

在x64dbg中,沒有找到之前OD的複製–所有更改選項,經過多方查詢,終於知道是在右鍵選單的“補丁”中。選擇修補檔案即可匯出修改後的可執行檔案。
匯出修改後的映象

執行修改後的檔案,再沒有廣告框彈出了。

相關推薦

WinRAR x64 v5.5中文版廣告過程

之前用的別人破解的WinRAR,最近更新到5.5後,居然彈出了廣告,並且是在有註冊檔案的情況下。這一點就說明其簡體中文的代理很黑,即便對於註冊使用者也想彈出廣告賺取流量費。最近都在苦逼的搞開發,好久沒玩過了,就拿它開開刀。 一、獲取廣告視窗類名 Visu

新電影天堂(6.5.1)廣告破解版|安卓

src 一見 nbsp 資源 圖片 不用 target AI AR 電影天堂安卓應用雞哥試了試感覺非常好用,用過的小夥伴肯定會懂得往常版本的龜速下載速度和滿天飛的廣告,本次分享的版本 資源超級多~緩沖超級快~ 小夥伴們可以通過電影天堂看超多資源,無廣告的,免下載的~ 各種

嗶哩嗶哩動畫(BiliBili) v5.33.3廣告

嗶哩嗶哩彈幕網(http://www.bilibili.tv)  – 國內知名的視訊彈幕網站,擁有網際網路上最及時動漫新番,最棒的ACG氛圍,最有創意的Up主,常被動漫迷們暱稱為bilibili,”B站”。嗶哩嗶哩動畫是來自嗶哩嗶哩彈幕網的官方手機客戶端,網站視訊來自使用者創作或搬運,不同

WinRar 解壓縮檔案官方廣告

在無有破解上找到的,主要是廣告比較煩。 原帖: https://www.52pojie.cn/thread-642730-1-1.html 本帖最後由 fuyechun 於 2017-9-9 09:24 編輯 從WinRar5.40開始簡體中文版就加入了廣告,不管註冊還是未註

福昕PDF閱讀器(Foxit reader)V9.5.0 廣告增強版

福昕PDF閱讀器(Foxit reader)是小巧強大的PDF文件閱讀器,完全免費。有了它,你無須為僅僅閱讀PDF文件而下載和安裝龐大的Adobe Reader,而且啟動快速,對中文支援非常好。福昕PDF閱讀器 6.1.1.1031 去廣告簡體中文增強破解版由roustar31優化製作。 本版特

[小技巧]WinRar 廣告

加載 保存文件 最終 分享圖片 技術分享 出了 com 分享 保存 打開winrar 彈出廣告窗口,使用SPY++ 抓取廣告窗口類名,窗口標題 使用OD 打開調試 在CreateWindowExW處下斷 F9執行 ,因為會創建很多窗口,觀察堆棧,直到 標題和類

轉載:西門子 Step7 V5.5 SP4中文版

中文版 http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&objId=99862277&objAction=csOpen&nodeid0=10805384&lang=zh&

【更新】四種WinRAR永久廣告方法

四種WinRAR永久去廣告方法 Winrar官網下載地址 我的電腦是64位的 就以64位版本進行介紹 方法一: 用Spy++檢視廣告視窗類名 開啟x64dbg附加winrar.exe,執行至winrar.exe模組程式入口點。 RarReminder 右鍵

centos6.5下安裝docke過程

centos devel x86 修改 版本 span yum ice 順序 由於需要到使用到docker,centOs6.5的內核是 2.6.32-431.el6.x86_64,需要更新到3.0以上。 安裝過程。 1 下載 kernel-ml-aufs-3.10.5-3.

2017 5 31 php面向過程 面向對象1

語法 存儲 his 調用 定義 屬性 類常量 流程 通過 面向過程的語法定義變量;定義函數;使用變量(輸出,賦值,等)調用函數;流程控制(if,switch,for,while等) 面向對象的語法1,定義類;定義類的語法中,只有這3種代碼:1.1定義屬性(變量)1.2定義方

Freemake Video Converter視頻轉換軟件下載地址及廣告

刪除 http ges exe als ima tar targe sources 下載地址:http://download.freemake.net/FreemakeOriginals2/LS/FreemakeVideoConverterFull.exe 去片頭及片尾廣

優酷客戶端電腦版廣告補丁 v 1.0

優酷 用於屏蔽優酷客戶端播放視頻廣告。 https://pan.baidu.com/s/1bptk69h優酷客戶端電腦版去廣告補丁 v 1.0

騰訊視頻播放器V 1.0 廣告補丁

騰訊視頻 用於屏蔽騰訊視頻播放器煩人的視頻廣告。 https://pan.baidu.com/s/1bzIdLO騰訊視頻播放器V 1.0 去廣告補丁

mysql 5.7最新安裝過程以及添加環境變量

mysql 5.7 環境變量本文出自 “大李子” 博客,謝絕轉載!mysql 5.7最新安裝過程以及添加環境變量

QQ音樂(15.9.0)廣告綠色版

oba 設備 common xss style 文件 file 開機 優先 今天雞哥分享個qq音樂吧,以前好像沒有分享過,這個版本已經把煩人的廣告去除了,去除了登陸界面提示更新,可長期使用,刪除了一些無用模塊組件文件!雞哥不是一個喜歡折騰的人,如果你喜歡的話就去試試foob

Speedtest網速測試(4.1.1)廣告高級版 Android

高級 blank 今天 環境 介紹 speed 結果 htm div Speedtest是一個網絡測試的工具,也有電腦端的,今天分享一個安卓應用的以去除廣告升級為高級版。它只需30就能測試到你的網絡環境和寬帶速度! 修改介紹 * 已破解高級功能 * 去除內置廣告實用軟件 *

winrar5.50廣告教程(僅供學習使用)

.exe href resource db2 目錄 chinese BE targe color https://blog.csdn.net/EnigmCode/article/details/78328873 第一步:到WinRAR官網www.rarlab.com

優酷免費廣告的 html5 播放器

pre AS 同時 代碼 str ring safari esc 開發者 在 HTML5 逐漸普及的技術趨勢下,國內很多的大視頻網站都還是默認使用 flash 來播放視頻,一方面來說,很多的瀏覽器(比如 Chrome Safari)都慢慢拋棄 flash 形式的視頻了,這樣

免費百度地圖矢量下載器V5.5--軟件開發

https 分類 軟件 新增 bsp 地圖 ID 矢量 多線程 更新說明: 1、精簡POI的關鍵字2、POI導出SHP屬性表包含分類信息3、POI爬取支持多線程4、解決運行時界面卡死問題(POI下載除外)5、修正道路與小區面SHP爬取時範圍過大問題6、新增學校面SHP爬取

Vue2.5開發哪兒網App 從零基礎入門到實戰項目

eset 通過 計算 拆分 lan 修復 周末 模塊 blank 第1章 課程介紹本章主要介紹課程的知識大綱,學習前提,講授方式及預期收獲。第2章 Vue 起步本章將快速講解部分 Vue 基礎語法,通過 TodoList 功能的編寫,在熟悉基礎語法的基礎上,擴展解析 MVV