title
author
date
createtime
categories
c#判斷檔案是否被混淆
lindexi
2019-09-02 12:57:37 +0800
2018-2-13 17:23:3 +0800
c#可以使用混淆工具對乙個dll 和 exe 進行混淆。
但是如何知道乙個檔案是否已經混淆了。
在發布之前,需要知道是不是有檔案忘了混淆。
要判斷檔案是否混淆,必須知道常用的混淆手法。
混淆就是因為編寫的 c# **轉換 il ,可以很容易被反編譯,從而知道了源**,不利於保護軟體,不利於防止破解。
所以可以通過混淆來讓反編譯困難。
但是經過混淆,只可以讓好多反編譯新手無法破解,對於大神,還是沒有作用。
但是本文不討論這個,還是來說下,常用的混淆。
常見的也是混淆變數名,這也是本文的檢測方法,對於混淆流程,暫時還沒有方法。
簡單方法去獲得檔案是否混淆變數名是反射。
可以通重載入檔案,使用動態載入 dll,然後使用反射判斷檔案變數名是否存在不可讀字元,如果存在,那麼檔案被混淆。
**:
class;///
>
/// 判斷乙個檔案是否混淆
///summary
>
///name
="file"
>檔案是exe dllparam
>
///>returns
>
public
confusetype
checkfileconfuse(fileinfo
file)
catch (reflectiontypeloadexception)
catch (exception
e)
}///
>
/// 判斷type的方法是否有混淆
///summary
>
///name
="type"
>param
>
private
bool
peeconfusetype(type
type)
}
C 判斷檔案是否被混淆
可以使用混淆工具對乙個dll 和 exe 進行混淆。但是如何知道乙個檔案是否已經混淆了。在發布之前,需要知道是不是有檔案忘了混淆。要判斷檔案是否混淆,必須知道常用的混淆手法。混淆就是因為編寫的 c 轉換 il 可以很容易被反編譯,從而知道了源 不利於保護軟體,不利於防止破解。所以可以通過混淆來讓反編...
C 判斷檔案是否被開啟占用
using system.io using system.runtime.interopservices dllimport kernel32.dll public static extern intptr lopen string lppathname,int ireadwrite dllimpo...
判斷檔案是否被開啟
判斷檔案是否被開啟 方法一 通過try catch對檔案的移動操作,如果檔案開啟,將不能移動,會進入catch段 通過返回bool值來反應是否能正常移動 private void button2 click object sender,eventargs e private static bool ...