今天別人發來一個.Net的DLL讓我脫殼,第一步自然是先扔進de4dot
我這個de4dot 是集成了 Ivancito0z / TheProxy / PC-RET 4.9mod / wuhensoft(5.0) 各大神修改的版本,無法脫殼,肯定就是新的reactor 5加的殼了。
我們加上 -v 參數顯示錯誤
在解密資源的時候出錯了,我們打開de4dot的源碼,找到報錯的位置
懶的分析原因,直接注釋掉,編譯de4dot 后重新進行脫殼。
成功脫殼,打開看看
發現字符串未被正確解密。
我們再次解密:
命令行(用法和token獲取具體參考de4dot幫助)
de4dot SixTow-cleaned.dll --strtyp delegate --strtok 0x060001BA -v
解密后發現字符串依然未解密,我們再回頭看解密函數
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
|
[Class8.Attribute0(
typeof
(Class8.Attribute0.Class9<
object
>[]))]
internal
static
string
smethod_10(
int
int_5)
{
if
(Class8.byte_1.Length == 0)
{
BinaryReader binaryReader =
new
BinaryReader(Class8.assembly_0.GetManifestResourceStream(
"pF5NG7nGmlpjNJS2XA.xvDeEZ4QpSKik8SYCO"
));
binaryReader.BaseStream.Position = 0L;
byte
[] array = binaryReader.ReadBytes((
int
)binaryReader.BaseStream.Length);
binaryReader.Close();
byte
[] array2 =
new
byte
[32];
array2[0] = 177;
array2[0] = 136;
array2[0] = 181;
array2[1] = 96;
array2[1] = 150;
|
解密是通過資源 pF5NG7nGmlpjNJS2XA.xvDeEZ4QpSKik8SYCO 解密出來的,但是pF5NG7nGmlpjNJS2XA.xvDeEZ4QpSKik8SYCO在de4dot脫殼的時候清理了。
好吧,我們從原程序中將 pF5NG7nGmlpjNJS2XA.xvDeEZ4QpSKik8SYCO 提取出來,並加入 脫殼后的文件(如圖)。
再次使用
de4dot SixTow-cleaned.dll --strtyp delegate --strtok 0x060001BA -v
進行解密
發現成功解密。脫殼完成(部分混淆是其它DLL中的,不在此文討論范圍)
歡迎指正。