能力值:
( LV2,RANK:10 )
|
-
-
2 楼
字符串未解密,自己解密下<PrivateImplementationDetails>{AACD92D2-3620-4201-B489-A371B57F8FEF}.class0
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
wuzhouzcx
字符串未解密,自己解密下<PrivateImplementationDetails>{AACD92D2-3620-4201-B489-A371B57F8FEF}.class ...
非常感谢您的帮助。请教一下字符串怎么解密?谢谢
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
自己写程序,调用dnlib,下面是".Net Reactor(6.x.x.x)"保护壳一个简单的例子: internal class NetReactor6XXX
{
internal static class StringDecrypt
{
public static int Execute(string resource,byte[] key,byte[] iv,byte[] token,string sign)
{
NetReactor6XXX._rij_resource=resource;//资源文件名称
NetReactor6XXX._rij_key= key;
NetReactor6XXX._rij_iv= iv;
NetReactor6XXX._publick_key_token= token;
NetReactor6XXX._function_sign = sign;//解密函数签名
int count = 0;
foreach (TypeDef typeDef in Context.module.GetTypes())
{
foreach (MethodDef methodDef in typeDef.Methods)
{
if (!methodDef.HasBody)
continue;
for (int i = 1; i < methodDef.Body.Instructions.Count; i++)
{
//查找加密函数特征
Instruction insPrev = methodDef.Body.Instructions[i - 1];
Instruction insAfter = methodDef.Body.Instructions[i];
if (insAfter.OpCode == OpCodes.Call && insPrev.OpCode == OpCodes.Ldc_I4
&& insAfter.Operand.ToString().Contains(NetReactor6XXX._function_sign))
{
try
{
int param = insPrev.GetLdcI4Value();
object str = Class3.smethod_1(param);//这里是调用解密函数位置
if (null != str)
{
//以下是清理改写代码
insPrev.OpCode = OpCodes.Nop;
insAfter.OpCode = OpCodes.Ldstr;
insAfter.Operand = (string)str;
count++;
}
}
catch (Exception)
{
}
}
}
}
}
return count;
}
}
private static string _rij_resource;
private static byte[] _rij_key;
private static byte[] _rij_iv;
private static byte[] _publick_key_token;
private static string _function_sign;
}
private static void NetReactor6xxx_StringDecrypt()
{
byte[] key = new byte[32];
key[0] = 112;
key[0] = 135;
key[0] = 91;
key[0] = 101;
key[1] = 89;
key[1] = 225;
key[1] = 125;
key[1] = 145;
key[1] = 156;
key[1] = 70;
key[2] = 160;
key[2] = 90;
key[2] = 108;
key[2] = 135;
key[2] = 129;
key[2] = 152;
key[3] = 206;
key[3] = 107;
key[3] = 211;
key[3] = 96;
key[3] = 136;
key[3] = 239;
key[4] = 160;
key[4] = 126;
key[4] = 108;
key[4] = 93;
key[4] = 130;
key[4] = 53;
key[5] = 95;
key[5] = 118;
key[5] = 2;
key[6] = 170;
key[6] = 134;
key[6] = 193;
key[7] = 121;
key[7] = 65;
key[7] = 137;
key[7] = 191;
key[8] = 132;
key[8] = 100;
key[8] = 173;
key[9] = 190;
key[9] = 50;
key[9] = 129;
key[9] = 199;
key[10] = 54;
key[10] = 158;
key[10] = 206;
key[11] = 136;
key[11] = 84;
key[11] = 102;
key[11] = 185;
key[11] = 144;
key[11] = 244;
key[12] = 164;
key[12] = 152;
key[12] = 112;
key[12] = 158;
key[12] = 108;
key[13] = 118;
key[13] = 129;
key[13] = 98;
key[13] = 231;
key[14] = 153;
key[14] = 235;
key[14] = 87;
key[15] = 146;
key[15] = 154;
key[15] = 199;
key[15] = 169;
key[15] = 146;
key[16] = 132;
key[16] = 18;
key[16] = 167;
key[16] = 238;
key[17] = 144;
key[17] = 114;
key[17] = 115;
key[18] = 146;
key[18] = 114;
key[18] = 82;
key[19] = 160;
key[19] = 122;
key[19] = 90;
key[19] = 123;
key[19] = 98;
key[19] = 164;
key[20] = 49;
key[20] = 170;
key[20] = 58;
key[20] = 182;
key[20] = 30;
key[20] = 182;
key[21] = 111;
key[21] = 137;
key[21] = 97;
key[21] = 88;
key[21] = 236;
key[22] = 143;
key[22] = 128;
key[22] = 193;
key[23] = 177;
key[23] = 113;
key[23] = 72;
key[23] = 87;
key[23] = 180;
key[24] = 152;
key[24] = 99;
key[24] = 148;
key[25] = 112;
key[25] = 140;
key[25] = 90;
key[25] = 228;
key[26] = 163;
key[26] = 88;
key[26] = 27;
key[27] = 98;
key[27] = 72;
key[27] = 153;
key[27] = 85;
key[28] = 120;
key[28] = 48;
key[28] = 176;
key[29] = 134;
key[29] = 106;
key[29] = 122;
key[29] = 99;
key[29] = 109;
key[29] = 246;
key[30] = 211;
key[30] = 107;
key[30] = 121;
key[30] = 144;
key[30] = 90;
key[31] = 174;
key[31] = 12;
key[31] = 111;
key[31] = 183;
key[31] = 135;
key[31] = 232;
byte[] iv = new byte[16];
iv[0] = 146;
iv[0] = 101;
iv[0] = 152;
iv[0] = 113;
iv[0] = 94;
iv[0] = 85;
iv[1] = 202;
iv[1] = 150;
iv[1] = 162;
iv[1] = 92;
iv[1] = 57;
iv[1] = 93;
iv[2] = 174;
iv[2] = 125;
iv[2] = 156;
iv[2] = 146;
iv[2] = 252;
iv[3] = 124;
iv[3] = 36;
iv[3] = 181;
iv[3] = 143;
iv[3] = 164;
iv[3] = 153;
iv[4] = 124;
iv[4] = 115;
iv[4] = 128;
iv[4] = 96;
iv[4] = 175;
iv[5] = 98;
iv[5] = 150;
iv[5] = 134;
iv[5] = 215;
iv[5] = 146;
iv[6] = 115;
iv[6] = 121;
iv[6] = 122;
iv[7] = 151;
iv[7] = 145;
iv[7] = 55;
iv[8] = 95;
iv[8] = 45;
iv[8] = 133;
iv[9] = 102;
iv[9] = 97;
iv[9] = 69;
iv[10] = 89;
iv[10] = 115;
iv[10] = 110;
iv[10] = 142;
iv[10] = 1;
iv[11] = 103;
iv[11] = 149;
iv[11] = 108;
iv[11] = 124;
iv[11] = 201;
iv[11] = 84;
iv[12] = 95;
iv[12] = 134;
iv[12] = 109;
iv[13] = 101;
iv[13] = 194;
iv[13] = 235;
iv[13] = 153;
iv[13] = 132;
iv[13] = 84;
iv[14] = 197;
iv[14] = 155;
iv[14] = 55;
iv[15] = 97;
iv[15] = 134;
iv[15] = 92;
iv[15] = 227;
iv[15] = 135;
NetReactor6XXX.StringDecrypt.Execute("DotFuscatorClean.MHgnQI18MeETmQHdjt.IKLdKFIqODMhW1o0kH", key, iv, null, "System.String Class6::smethod_1(System.Int32)");
}
private void btnClean_Click(object sender, EventArgs e)
{
if(File.Exists(tbPath.Text))
{
try
{
Context.module = ModuleDefMD.Load(tbPath.Text);
//Context.assembly = Assembly.LoadFrom(tbPath.Text);
//decrypt string
//SmartAssembly_StringDecrypt();
NetReactor6xxx_StringDecrypt();
//control flow
//ControlFlowClean.ExecuteArithmetic();
//ControlFlowClean.Execute();
ModuleWriterOptions options = new ModuleWriterOptions(Context.module);
options.Logger = DummyLogger.NoThrowInstance;
options.MetadataOptions.Flags = MetadataFlags.KeepOldMaxStack | MetadataFlags.PreserveAll;
Context.module.Write(Path.GetDirectoryName(tbPath.Text) + "/" + Context.module.Assembly.Name + "_cleaned" + extention, options);
lblInfo.Text = "clean finished!";
}
catch(BadImageFormatException ex)
{
SetErrMsg(ex.Message);
}
}
else
{
SetErrMsg("file not exist!");
}
}
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
wuzhouzcx
自己写程序,调用dnlib,下面是".Net Reactor(6.x.x.x)"保护壳一个简单的例子: internal&am ...
非常感谢wuzhouzcx,抽时间试一下
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
wuzhouzcx
自己写程序,调用dnlib,下面是".Net Reactor(6.x.x.x)"保护壳一个简单的例子: internal&am ...
请问老大能把代码工程上传一下吗?谢谢!
|
能力值:
( LV1,RANK:0 )
|
-
-
7 楼
学到了 各位大佬 厉害
|
能力值:
( LV1,RANK:0 )
|
-
-
8 楼
这个我菜鸟可以脱壳过,一样的壳,当时脱得就是别人的注册机
|
能力值:
( LV1,RANK:0 )
|
-
-
9 楼
非常容易破解了 我也破解了 VX 一五八五零一零九八六五
|
能力值:
( LV1,RANK:0 )
|
-
-
10 楼
代码全部逆向出来了
|
|
|