蓝色贝雷帽 发表于 2017-12-5 15:53

新手求助,资源被VM了咋办?

本帖最后由 蓝色贝雷帽 于 2017-12-6 11:27 编辑

如图,某IC卡复制软件,VC++8.0,资源被X掉了,试过的资源软件都打不开,求教各路大佬支招,咋逆向呢?

PEID和EXEINFO查没壳,die1.0查.NET Reactor(4.5-4.7)[-]保护
小弟感谢了!

软件地址: http://www.shnsoft.com/down/ICTool.rar






补充内容 (2017-12-15 15:21):
遗憾不能编辑帖子了,不然的话,我要增加悬赏给@GHOSTFISH 大神感谢他的热心帮助。

蓝色贝雷帽 发表于 2017-12-6 11:24

暂时知道,是.NET Reactor 4.5-4.7壳子保护的,新手没办法,!!!请大家出手~

ghostfish 发表于 2017-12-7 22:04

这个太初级。直接去官网下de4dot,一脱就光。

蓝色贝雷帽 发表于 2017-12-8 14:21

ghostfish 发表于 2017-12-7 22:04
这个太初级。直接去官网下de4dot,一脱就光。

现在的de4dot都是3.1版本,搞不定这个小软件,郁闷~

ghostfish 发表于 2017-12-15 00:11

public static string GetHardInfo()
                {
                        string text = "";
                        string s = "";
                        string text2 = "";
                        string text3 = "";
                        string text4 = "";
                        string result;
                        try
                        {
                                s = "$#&%@#2@Dk";
                                ManagementClass managementClass = new ManagementClass("Win32_BaseBoard");
                                ManagementObjectCollection instances = managementClass.GetInstances();
                                foreach (ManagementBaseObject managementBaseObject in instances)
                                {
                                        text2 = ((ManagementObject)managementBaseObject).Properties["SerialNumber"].Value.ToString();
                                }
                                managementClass.Dispose();
                                instances.Dispose();
                                if (string.IsNullOrWhiteSpace(text2))
                                {
                                        text2 = "*&P$Aewr%#";
                                }
                                if (text2.Length < 10)
                                {
                                        text2 += "*&P$Aewr%#";
                                }
                                text2 = text2.Substring(0, 10);
                                ManagementClass managementClass2 = new ManagementClass("Win32_Processor");
                                ManagementObjectCollection instances2 = managementClass2.GetInstances();
                                foreach (ManagementBaseObject managementBaseObject2 in instances2)
                                {
                                        text3 = ((ManagementObject)managementBaseObject2).Properties["ProcessorId"].Value.ToString();
                                }
                                managementClass2.Dispose();
                                instances2.Dispose();
                                if (string.IsNullOrWhiteSpace(text3))
                                {
                                        text3 = "Hz&*64$%g5";
                                }
                                if (text3.Length < 10)
                                {
                                        text3 += "Hz&*64$%g5";
                                }
                                text3 = text3.Substring(0, 10);
                                ManagementClass managementClass3 = new ManagementClass("Win32_BIOS");
                                ManagementObjectCollection instances3 = managementClass3.GetInstances();
                                foreach (ManagementBaseObject managementBaseObject3 in instances3)
                                {
                                        text4 = ((ManagementObject)managementBaseObject3).Properties["SerialNumber"].Value.ToString();
                                }
                                managementClass3.Dispose();
                                instances3.Dispose();
                                if (string.IsNullOrWhiteSpace(text4))
                                {
                                        text4 = "3S@#Fy%u$q";
                                }
                                if (text4.Length < 10)
                                {
                                        text4 += "3S@#Fy%u$q";
                                }
                                text4 = text4.Substring(0, 10);
                                byte[] bytes = Encoding.ASCII.GetBytes(s);
                                byte[] bytes2 = Encoding.ASCII.GetBytes(text2);
                                byte[] bytes3 = Encoding.ASCII.GetBytes(text3);
                                byte[] bytes4 = Encoding.ASCII.GetBytes(text4);
                                for (int i = 0; i < 10; i++)
                                {
                                        int num = Math.Abs((int)(bytes - bytes2));
                                        int num2 = Math.Abs((int)(bytes2 - bytes4));
                                        int num3 = Math.Abs((int)(bytes3 - bytes));
                                        int num4 = Math.Abs((int)(bytes4 - bytes));
                                        if (num <= 47 || num >= 58)
                                        {
                                                if (num > 25)
                                                {
                                                        num %= 26;
                                                }
                                                num += 65;
                                        }
                                        if (num2 <= 65 || num2 >= 90)
                                        {
                                                if (num2 > 9)
                                                {
                                                        num2 %= 10;
                                                }
                                                num2 += 48;
                                        }
                                        if (num3 <= 47 || num3 >= 58)
                                        {
                                                if (num3 > 25)
                                                {
                                                        num3 %= 26;
                                                }
                                                num3 += 65;
                                        }
                                        if (num4 <= 65 || num4 >= 90)
                                        {
                                                if (num4 > 9)
                                                {
                                                        num4 %= 10;
                                                }
                                                num4 += 48;
                                        }
                                        text = string.Concat(new string[]
                                        {
                                                text,
                                                ((char)num).ToString(),
                                                ((char)num2).ToString(),
                                                ((char)num3).ToString(),
                                                ((char)num4).ToString(),
                                                "-"
                                        });
                                }
                                goto IL_3A3;
                        }
                        catch (Exception ex)
                        {
                                result = "获取硬件信息失败!" + ex.Message;
                        }
                        return result;
                        IL_3A3:
                        if (text.Length > 1)
                        {
                                text = text.Substring(0, text.Length - 1);
                        }
                        return text;
                }

蓝色贝雷帽 发表于 2017-12-15 12:08

ghostfish 发表于 2017-12-15 00:11
public static string GetHardInfo()
                {
                        string text = "";


不愧是高人哪!我的大神!终于有人给解开了。
求教方法或工具或成果?

ghostfish 发表于 2017-12-15 14:33

de4dot官方版本

蓝色贝雷帽 发表于 2017-12-15 14:47

ghostfish 发表于 2017-12-15 14:33
de4dot官方版本

我试过,就是3.1.xxx.3405版吧,在WIN10 X64系统,提示:mmmh, it didn't work. 不能在64位系统上用吗

蓝色贝雷帽 发表于 2017-12-15 15:15

ghostfish 发表于 2017-12-15 14:33
de4dot官方版本

官网的源码较新,是一个月前更新,但发布的版本却是2014.4月,很老了,就是现在网上的3.1.xxxx.3405版。
求大佬舍一个最新编译的版本!!!哈谢谢了!!!我再加分去~
页: [1]
查看完整版本: 新手求助,资源被VM了咋办?