吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 1865|回复: 8

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

[复制链接]
蓝色贝雷帽 发表于 2017-12-5 15:53 | 显示全部楼层 |阅读模式

本站严厉禁止求脱求破行为(包含无自我分析直接求思路),如发现此类求助主题请点击“举报”,让我们共同维护优质的学习环境!


50HB
本帖最后由 蓝色贝雷帽 于 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
QQ截图20171205151852.png





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

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| 蓝色贝雷帽 发表于 2017-12-6 11:24 | 显示全部楼层

暂时知道,是.NET Reactor 4.5-4.7壳子保护的,新手没办法,!!!请大家出手~
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
ghostfish 发表于 2017-12-7 22:04 | 显示全部楼层

这个太初级。直接去官网下de4dot,一脱就光。
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| 蓝色贝雷帽 发表于 2017-12-8 14:21 | 显示全部楼层

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

现在的de4dot都是3.1版本,搞不定这个小软件,郁闷~
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
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[i] - bytes2[9 - i]));
                                        int num2 = Math.Abs((int)(bytes2[i] - bytes4[9 - i]));
                                        int num3 = Math.Abs((int)(bytes3[i] - bytes[9 - i]));
                                        int num4 = Math.Abs((int)(bytes4[i] - bytes[9 - i]));
                                        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;
                }
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| 蓝色贝雷帽 发表于 2017-12-15 12:08 | 显示全部楼层

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

不愧是高人哪!我的大神!终于有人给解开了。
求教方法或工具或成果?
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
ghostfish 发表于 2017-12-15 14:33 | 显示全部楼层

de4dot官方版本
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| 蓝色贝雷帽 发表于 2017-12-15 14:47 | 显示全部楼层


我试过,就是3.1.xxx.3405版吧,在WIN10 X64系统,提示:mmmh, it didn't work. 不能在64位系统上用吗
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| 蓝色贝雷帽 发表于 2017-12-15 15:15 | 显示全部楼层


官网的源码较新,是一个月前更新,但发布的版本却是2014.4月,很老了,就是现在网上的3.1.xxxx.3405版。
求大佬舍一个最新编译的版本!!!哈谢谢了!!!我再加分去~
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表