精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

聊一聊對一個 C# 商業程序的反反調試

開發 前端
經過和朋友的技術搗鼓之后,發現還好,對方只是用了 KERNELBASE!IsDebuggerPresent 做的反調試判斷,難度不大,這里就不細聊那個程序,我們做一個簡單的案例來說下如何反反調試,老規矩,上 WinDbg 說話。

一、背景

1.講故事

前段時間有位朋友在微信上找到我,說他對一個商業的 C# 程序用 WinDbg 附加不上去,每次附加之后那個 C# 程序就自動退出了,問一下到底是怎么回事?是不是哪里搞錯了,有經驗的朋友應該知道,其實這是 商業程序 的反調試機制搗鬼的,為了保護程序隱私,一般都不希望他人對自己做逆向分析,那能不能破解它的反調試呢?當然是可以的,難易程度就看對方的誠意了。

經過和朋友的技術搗鼓之后,發現還好,對方只是用了 KERNELBASE!IsDebuggerPresent 做的反調試判斷,難度不大,這里就不細聊那個程序,我們做一個簡單的案例來說下如何反反調試,老規矩,上 WinDbg 說話。

二、WinDbg 分析

1. 案例演示

為了方便講述,先上一個例子。

internal class Program
{
[DllImport("kernelbase.dll", SetLastError = true)]
static extern bool IsDebuggerPresent();

static void Main(string[] args)
{
Console.ReadLine();

var isAttached = IsDebuggerPresent();

if (isAttached)
{
Console.WriteLine("/(ㄒoㄒ)/~~ 小心,我被附加了 調試器!");
}
else
{
Console.WriteLine("O(∩_∩)O 程序很安全!");
}

Console.ReadLine();
}
}

在沒有 WinDbg 的情況下是這樣輸出的。

圖片

有 WinDbg 的情況下是這樣輸出的。

圖片

有朋友肯定要懟了,C# 中有一個 Debugger.IsAttached 屬性為什么不用,我試了下,這玩意很差勁,檢測不到 WinDbg 這種非托管調試器的附加。

2. 簡述 IsDebuggerPresent 方法

其實 IsDebuggerPresent 方法提取的是 PEB 中的 BeingDebugged 字段,這個字段定義在 KernelBase.dll 中,那怎么驗證呢? 可以用 !peb 查看進程環境塊的地址,然后用 dt 觀察即可。

0:001> !peb
PEB at 000000000035b000
InheritedAddressSpace: No
ReadImageFileExecOptions: No
BeingDebugged: Yes
ImageBaseAddress: 00007ff719030000
NtGlobalFlag: 4000
NtGlobalFlag2: 0
Ldr 00007ffb1259b4c0
...

0:001> dt ntdll!_PEB 000000000035b000
+0x000 InheritedAddressSpace : 0 ''
+0x001 ReadImageFileExecOptions : 0 ''
+0x002 BeingDebugged : 0x1 ''
+0x003 BitField : 0x4 ''
+0x003 ImageUsesLargePages : 0y0
+0x003 IsProtectedProcess : 0y0
+0x003 IsImageDynamicallyRelocated : 0y1
+0x003 SkipPatchingUser32Forwarders : 0y0
...

從上面的 BeingDebugged : 0x1 可以看到,當前程序被附加了調試器。

3. 反反調試思路

找到 IsDebuggerPresent() 方法的讀取來源,這問題就好辦了,通常有兩種做法。

  • 修改 IsDebuggerPresent() 方法的反匯編代碼。

只要讓 IsDebuggerPresent() 方法一直返回 false,那我們就可以成功破解反調試,首先用 x 命令找到 IsDebuggerPresent() 的匯編代碼,輸出如下:

0:007> x KernelBase!IsDebuggerPresent
00007ffb`0fe468a0 KERNELBASE!IsDebuggerPresent (IsDebuggerPresent)
0:007> u 00007ffb`0fe468a0
KERNELBASE!IsDebuggerPresent:
00007ffb`0fe468a0 65488b042560000000 mov rax,qword ptr gs:[60h]
00007ffb`0fe468a9 0fb64002 movzx eax,byte ptr [rax+2]
00007ffb`0fe468ad c3 ret
00007ffb`0fe468ae cc int 3
00007ffb`0fe468af cc int 3
00007ffb`0fe468b0 cc int 3
00007ffb`0fe468b1 cc int 3
00007ffb`0fe468b2 cc int 3

按照 stdcall 協定, eax 會作為方法的返回值,接下來使用 WinDbg 的 a 命令修改 00007ffb0fe468a0 處的匯編代碼,鍵入完匯編代碼之后,按 Enter 即可,輸出如下:

0:007> a 00007ffb`0fe468a0
00007ffb`0fe468a0 mov eax , 0
00007ffb`0fe468a5 ret
00007ffb`0fe468a6

0:007> u 00007ffb`0fe468a0
KERNELBASE!IsDebuggerPresent:
00007ffb`0fe468a0 b800000000 mov eax,0
00007ffb`0fe468a5 c3 ret
00007ffb`0fe468a6 0000 add byte ptr [rax],al
00007ffb`0fe468a8 000f add byte ptr [rdi],cl
00007ffb`0fe468aa b640 mov dh,40h
00007ffb`0fe468ac 02c3 add al,bl
00007ffb`0fe468ae cc int 3
00007ffb`0fe468af cc int 3

圖片

可以看到 WinDbg 已成功修改了 KERNELBASE!IsDebuggerPresent 方法的代碼,哈哈,接下來繼續 go,截圖如下:

圖片

可以看到已成功的反反調試,看到程序很開心,我也挺開心的。

  • 使用bp斷點攔截

這種做法就是使用 bp + script 攔截,大概就是在 KERNELBASE!IsDebuggerPresent的ret 處用腳本自動修改 eax 值,這也是可以的,當然也是最安全的。

首先觀察一下 uf KERNELBASE!IsDebuggerPresent 函數的匯編代碼。

0:004> uf KERNELBASE!IsDebuggerPresent
KERNELBASE!IsDebuggerPresent:
00007ffb`0fe468a0 65488b042560000000 mov rax,qword ptr gs:[60h]
00007ffb`0fe468a9 0fb64002 movzx eax,byte ptr [rax+2]
00007ffb`0fe468ad c3 ret

接下來在 00007ffb0fe468ad 處下一個斷點,即位置 KERNELBASE!IsDebuggerPresent + 0xd ,然后使用寄存器修改命令 r 修改 eax 的值,再讓程序 gc 即可,腳本代碼如下:

0:004> bp KERNELBASE!IsDebuggerPresent+0xd "r eax =0; gc"
0:004> g

圖片

可以看到,此時的程序又是笑哈哈的。

三、總結

這篇文章無意對抗,只是對一個疑難問題尋求解決方案的探索,大家合理使用。

責任編輯:武曉燕 來源: 一線碼農聊技術
相關推薦

2023-12-07 07:26:04

2024-12-26 10:05:58

C#前臺線程

2024-08-26 14:46:57

2021-03-29 00:02:10

C#Attribute元素

2024-06-28 12:47:29

C#弱引用底層

2022-08-30 07:39:57

C++namespace隔離

2020-10-30 07:11:31

C 語言編程

2023-05-04 12:39:27

GDB命令程序

2023-07-03 07:27:41

進程線程Win32

2020-12-09 16:55:57

程序員技術

2020-10-23 07:00:00

C++函數

2024-01-02 13:26:39

TLSC#線程

2025-01-10 08:15:22

C#異步底層

2023-07-06 13:56:14

微軟Skype

2023-12-14 11:35:32

.NET泄露模式

2020-09-08 06:54:29

Java Gradle語言

2021-01-28 22:31:33

分組密碼算法

2020-05-22 08:16:07

PONGPONXG-PON

2023-09-22 17:36:37

2018-06-07 13:17:12

契約測試單元測試API測試
點贊
收藏

51CTO技術棧公眾號

亚洲九九九在线观看| 亚洲视频免费在线| 欧美一级高清免费播放| 久久亚洲AV成人无码国产野外| 中文字幕人成乱码在线观看| 欧美激情一区不卡| 91手机在线视频| 久久久成人免费视频| 色综合五月天| 亚洲国产成人久久| 15—17女人毛片| 免费在线观看av电影| 久久天天做天天爱综合色| 91麻豆桃色免费看| 亚洲乱码国产乱码精品| 欧美另类女人| 色综合伊人色综合网站| 性久久久久久久久久久| 亚洲欧美一级| 色综合天天综合给合国产| 自拍偷拍亚洲色图欧美| 西西人体44www大胆无码| 日本v片在线高清不卡在线观看| 精品视频9999| 久久噜噜色综合一区二区| 日韩有码一区| 日韩一级二级三级| 牛夜精品久久久久久久| 国产在线观看www| 亚洲精品写真福利| 天天综合色天天综合色hd| 欧美天堂在线视频| 国产精品中文字幕日韩精品| 国产精品久久久久久久久久久久| 国产成人在线观看网站| 欧美在线网址| 久久夜精品va视频免费观看| 久久免费手机视频| 九色精品91| 亚洲美女性视频| 中出视频在线观看| 国产欧美一区二区三区米奇| 日韩一区二区三区四区| 91av视频免费观看| 黄色成人在线视频| 欧美视频不卡中文| 亚洲午夜精品久久久久久人妖| 天堂av资源在线观看| 亚洲人成在线播放网站岛国| 久久精品国产精品亚洲精品色| 国产高清一区在线观看| 国产亚洲欧洲一区高清在线观看| 另类欧美小说| 蜜芽tv福利在线视频| 91免费视频观看| 麻豆91蜜桃| 欧美老女人性开放| 久久久久久久国产精品影院| 日本高清不卡一区二区三| 精品电影在线| 中文字幕不卡在线| 亚洲v欧美v另类v综合v日韩v| 国产69精品久久app免费版| 久久精品亚洲国产奇米99| 色综合久久88色综合天天提莫| 国际av在线| 国产精品成人在线观看| 一级全黄肉体裸体全过程| 91精选在线| 亚洲国产精品人人做人人爽| 免费成人午夜视频| 欧美影视资讯| 8x8x8国产精品| 粗大的内捧猛烈进出视频| 成人直播在线观看| 精品网站999www| 欧美激情 一区| 91精品啪在线观看国产18| 欧美国产日韩一区二区在线观看 | 欧美精品在线免费播放| 精品无码人妻一区二区三区| 国产精品试看| 国产日韩一区在线| 亚洲国产www| 久久色成人在线| 影音欧美亚洲| 成年女人在线看片| 91福利社在线观看| 99九九99九九九99九他书对| 巨人精品**| 中文字幕av日韩| 精品少妇久久久| 久久影院亚洲| 99国精产品一二二线| 天堂在线免费av| 自拍偷拍国产精品| 国产免费观看高清视频| 国产亚洲精彩久久| 亚洲国产毛片完整版| www.99re6| 一本色道88久久加勒比精品| 国产九九精品视频| 亚洲av电影一区| 国产精品美日韩| 狠狠干 狠狠操| 国产成人免费视频网站视频社区| 日韩成人在线电影网| 在线观看美女av| 丝袜美腿高跟呻吟高潮一区| 999视频在线免费观看| 成年人在线观看| 午夜精品爽啪视频| 999热精品视频| 欧美天天综合| 国内精品久久影院| 国产喷水吹潮视频www| 久久免费偷拍视频| 农民人伦一区二区三区| 伊人久久大香伊蕉在人线观看热v| 日韩av在线一区| 强乱中文字幕av一区乱码| 欧美aaaaaa午夜精品| 国产在线资源一区| 亚洲性图自拍| 制服.丝袜.亚洲.中文.综合| 亚洲天堂岛国片| 国产精品夜夜夜| 国产精品一区二区三区四区五区 | 国产精品草莓在线免费观看| 少妇人妻精品一区二区三区| 亚洲免费在线观看视频| 色播五月综合网| 欧美日韩激情| 日韩av高清不卡| 深夜福利视频在线免费观看| 亚洲一区二区视频在线| 成人啪啪18免费游戏链接| 999精品视频| 国产日本欧美一区二区三区| 成人18在线| 欧美色视频一区| 亚洲第一视频区| 毛片一区二区三区| 手机成人在线| 欧美国产视频| 日韩在线观看免费av| 影音先锋国产资源| 国产精品国产三级国产普通话99| 亚洲综合在线网站| 欧美熟乱15p| 成人动漫网站在线观看| 98在线视频| 欧美日韩aaaaa| 亚洲精品一区二区三区在线播放| 精品中文av资源站在线观看| 天天爱天天做天天操| 国产精品亚洲欧美一级在线| 久久影视免费观看 | 免费一级欧美在线观看视频| 视频一区视频二区国产精品| 在线视频1卡二卡三卡| 国产精品国产三级国产普通话三级 | 欧洲高清一区二区| 国产精品久久久久77777丨| 最近中文字幕日韩精品| 国产伦精品一区二区三区视频痴汉| ...xxx性欧美| 性xxxxxxxxx| 国产亚洲精品自拍| 日本一区二区三区视频在线播放| 欧美xxxx性| 欧美大学生性色视频| 天天操天天操天天| 91久久香蕉国产日韩欧美9色| 国产性猛交xx乱| 国产精品影视天天线| 亚洲熟妇av一区二区三区漫画| 久9久9色综合| 成人黄色生活片| 高端美女服务在线视频播放| 国产一区二区三区视频| 国产毛片一区二区三区va在线| 一区二区三区**美女毛片| av网站有哪些| 久久99精品网久久| 亚洲熟妇无码一区二区三区导航| 亚洲色图丝袜| 5g国产欧美日韩视频| 中文字幕在线免费观看视频| 精品激情国产视频| 少妇人妻偷人精品一区二区| 欧美三级电影网| 国产福利久久久| 中文av字幕一区| 免费a v网站| 麻豆成人综合网| 妞干网在线观看视频| 日韩av二区| 国内精品久久国产| 国产午夜久久av| 欧洲精品久久久| 91网址在线观看| 亚洲人在线观看| 国模私拍视频在线| 欧美日韩一区二区三区四区五区| 国语对白一区二区| 亚洲欧美综合色| 好吊视频在线观看| 国产91富婆露脸刺激对白| 午夜视频你懂的| 国产欧美高清| av在线播放天堂| 午夜激情久久| 日本电影一区二区三区| 国产精品一区二区三区美女| 成人天堂噜噜噜| 欧美大片1688网站| 91成品人片a无限观看| caopon在线免费视频| 在线国产精品视频| 欧美日韩影视| 日韩国产高清污视频在线观看| 国产特级黄色片| 欧美精三区欧美精三区| 亚洲中文一区二区| 欧美性猛交xxxx乱大交蜜桃| 国产在线观看成人| 一区二区三区四区精品在线视频 | 亚洲午夜一区二区三区| 亚洲波多野结衣| 国产精品水嫩水嫩| 蜜桃传媒一区二区亚洲| 2023国产精品视频| 久久一区二区电影| 成人夜色视频网站在线观看| 日本女人黄色片| 国产在线国偷精品产拍免费yy| 簧片在线免费看| 日韩av一区二| 亚洲免费av一区二区三区| 久久久精品五月天| 亚洲精品中文字幕无码蜜桃| 亚洲永久字幕| 男人的天堂99| 蜜桃av一区| 欧美精品aaaa| 老汉av免费一区二区三区| 亚洲一级片网站| 久久精品99久久久| 亚洲免费成人在线视频| 国内精品伊人久久久久影院对白| 在线观看岛国av| 国产在线播放一区二区三区| 午夜天堂在线视频| 国产九九视频一区二区三区| 国产精品二区视频| 成人av在线看| 亚洲午夜久久久久久久久红桃| 99久久er热在这里只有精品15 | 亚洲77777| 久久99精品国产麻豆不卡| 色www免费视频| 国产老肥熟一区二区三区| 亚洲欧美综合视频| 久久综合久久鬼色中文字| 国产小视频自拍| 国产精品乱码一区二三区小蝌蚪| 亚洲伦理一区二区三区| 一区二区三区欧美在线观看| 日韩高清免费av| 91国偷自产一区二区三区成为亚洲经典 | 日本一区二区三区精品视频| 久久精品国产亚洲夜色av网站 | 色www永久免费视频首页在线| 欧美国产一区二区三区| 新版的欧美在线视频| 国产精品久久久久久中文字| 国产高清日韩| 久久日韩精品| 99久久精品网站| 大伊香蕉精品视频在线| 久久国产直播| 深爱五月综合网| 99久久婷婷国产| 在线观看日本黄色| 亚洲午夜一区二区| 中文在线观看免费高清| 精品国产伦一区二区三区免费| 欧美午夜黄色| 成人97在线观看视频| 国产免费拔擦拔擦8x高清在线人| 国产精品中文久久久久久久| www.成人网| 亚洲高清精品中出| 激情久久久久久| 婷婷免费在线观看| www.66久久| √天堂中文官网8在线| 欧美日韩精品在线| av小说天堂网| 在线观看国产精品淫| 国产三级伦理在线| 国产日韩欧美视频在线| 五月天亚洲色图| www.18av.com| 麻豆精品一区二区综合av| 污污内射在线观看一区二区少妇 | 99久久伊人久久99| 老熟妇高潮一区二区三区| 色美美综合视频| 三级网站免费观看| 不卡av在线播放| 久久91视频| 欧洲久久久久久| 99av国产精品欲麻豆| 亚洲色图欧美自拍| 欧美高清一级片在线观看| 国产精品自拍99| 精品剧情v国产在线观看在线| 色大18成网站www在线观看| 欧洲日韩成人av| 亚欧日韩另类中文欧美| 国产在线视频综合| 国内精品久久久久影院薰衣草| 在线国产视频一区| 一本久久a久久精品亚洲| 少妇高潮久久久| 久久露脸国产精品| 91成人福利| 国产精品69久久久| 国产精品羞羞答答xxdd| 中国毛片直接看| 91精品欧美综合在线观看最新| 成全电影播放在线观看国语| 国产成人精品综合久久久| 秋霞影视一区二区三区| 青青草视频在线免费播放| 国产 日韩 欧美大片| 麻豆疯狂做受xxxx高潮视频| 日韩欧美二区三区| 羞羞视频在线观看不卡| 114国产精品久久免费观看| 亚洲高清影视| 国产精品igao网网址不卡| 一区免费观看视频| 一级黄色片在线观看| 久久精品国产电影| 国产专区精品| 国产 欧美 日本| 成人中文字幕合集| 国产乡下妇女做爰毛片| 日韩av中文字幕在线播放| 男人久久天堂| 欧美一区二区三区在线免费观看| 久久成人免费| 国产熟女一区二区| 精品视频全国免费看| 麻豆免费在线观看| 91入口在线观看| 日韩亚洲精品在线| 一区二区伦理片| 欧美日韩1234| 欧美理论电影| 久久精品99久久| 水野朝阳av一区二区三区| 欧美巨胸大乳hitomi| 欧美精品三级在线观看| 欧洲一区二区三区| 精品无人区一区二区三区竹菊| 国产精品一级| 美女av免费看| 精品日韩99亚洲| 69久成人做爰电影| 一区二区在线观| 粉嫩一区二区三区性色av| 亚洲欧美偷拍视频| 色琪琪综合男人的天堂aⅴ视频| 国产亚洲高清一区| 国产精品无码av在线播放| 国产欧美日韩精品a在线观看| 国产精品丝袜黑色高跟鞋| 欧美激情aaaa| 精品一区电影| www.四虎精品| 欧美系列日韩一区| 四虎影视国产在线视频| 牛人盗摄一区二区三区视频| 久久99国产精品尤物| 国产精品1000| 日日骚久久av| 日韩伦理一区二区三区| 午夜一区二区视频| 欧美日韩在线一区| 国产区在线观看| 欧美日韩最好看的视频| 国产成人免费视频一区| 高潮无码精品色欲av午夜福利 | 精品网站在线| 欧美又粗又长又爽做受| 国产精品女人毛片|