用dnSpy破解某旅游系统5.2版。

某系统是网上最常见也是目前最好用的旅游站系统之一,5.1版本之前采用的maxtocode加壳后可以用de4dot反混淆后破解。5.1版本以后用de4dot无法脱壳。

本文仅限学习和讨论,请勿做侵权使用。

在这里说一种不脱壳破解的办法,我们分析早期版本的授权验证方式,以5.0为例,我们看下install的验证方法:

if (!flag || step2.smethod_0(this.key, lower))
                        {
                            //此处为安装代码,省略...
                            this.Response.Redirect("step3.aspx");
                        }
                        else
                        {
                            this.ClientScript.RegisterStartupScript(this.GetType(), "", "<script language=‘javascript‘>alert(‘注册码错误!‘);</script>");
                        }

  

 public static bool smethod_0(string string_0, string string_1)
        {
            string str = "髆@b驖b~!蘯鸛0&饕)";
            return ((string_0.Equals(Utils.MD5(string.Concat("ωāр", string_1, str), 32).ToLower()) || string_0.Equals(Utils.MD5(string.Concat(string_1, str), 32).ToLower()) ? true : false) ? true : false);
        }

可以看出使用了一个Key和域名MD5以后生成序列号进行验证。所以只要找到Key就可以算出序列号。

在不脱壳的前提下,如何找到这个Key?

我们再分析TourEx.Pages.Dll 找到 BasePage

private static void old_acctor_mc()
{
    __ENCList = new List<WeakReference>();
    LineOrderLock = RuntimeHelpers.GetObjectValue(new object());
    OrderLock = RuntimeHelpers.GetObjectValue(new object());
    WriteLock = RuntimeHelpers.GetObjectValue(new object());
    checkkey = "髆@b驖b~!蘯鸛0&饕)";
    includeWap = false;
}

当然这是分析旧版本脱壳后的代码,如果没有脱壳,就通过反射调用BasePage后输出checkkey,就可以得到。

然后,我们悲催的发现5.1以后checkkey不见了,写在了方法内部,这样是没法通过反射读出来的。

到这里,我们不得不介绍下dnSpy这款神器,这款神器是de4dot的作者开发,可以动态调试.net的EXE,非常强大。

我们先分析BasePage中的验证方法:

// TourEx.Pages.BasePage
// Token: 0x0600005B RID: 91 RVA: 0x00007684 File Offset: 0x00005884
public static bool smethod_0()
{
	bool result;
	if (HttpContext.Current.Server.MapPath(HttpContext.Current.Request.Url.AbsolutePath).IndexOf("wap") != -1)
	{
		if (!(result = (Operators.CompareString(BaseConfig.WebKey, TourEx.Common.Utils.MD5("ωāр" + BaseConfig.WebDomain + BasePage.checkkey, 32).ToLower(), false) != 0)))
		{
			BasePage.includeWap = true;
		}
	}
	else if (result = (Operators.CompareString(BaseConfig.WebKey, TourEx.Common.Utils.MD5("ωāр" + BaseConfig.WebDomain + BasePage.checkkey, 32).ToLower(), false) != 0))
	{
		result = (Operators.CompareString(BaseConfig.WebKey, TourEx.Common.Utils.MD5(BaseConfig.WebDomain + BasePage.checkkey, 32).ToLower(), false) != 0);
	}
	else
	{
		BasePage.includeWap = true;
	}
	return result;
}

这个方法返回了验证结果和includeWap,我尝试用dnSpy写了IL代码

发现保存的时候失败了。

既然我们找对了地方,那就可以想别的办法,dnSpy有个很牛X的HEX编辑功能,可以找到方法对应的十六进制代码

用旧的版本修改IL代码,找到相关的十六进制分复制过来保存后,发现代码成功修改了!


测试成功打开网页,破解完成。这个只是一个思路了,破解之道在于坚持不泄,找到洞洞,然后注入精华代码。。嗯,就是这么回事了~看起来是不是自然万物是不是都一样的道理?扯远了。。
时间: 2024-08-28 12:51:51

用dnSpy破解某旅游系统5.2版。的相关文章

最新深度技术GHOST XP系统旗舰增强版 V2016年

来自系统妈:http://www.xitongma.com 深度技术GHOST xp系统旗舰增强版 V2016年 系统概述 深度技术ghost xp系统旗舰增强版集合微软JAVA虚拟机IE插件,增强浏览网页时对JAVA程序的支持,添加安装华文行楷.华文新魏.方正姚体.汉真广标等常用字体.以系统稳定为第一制作要点,收集市场常用硬件驱动程序,安装维护方便快速 - 集成常见硬件驱动,智能识别+预解压技术,绝大多数硬件可以快速自动安装相应的驱动.加快“网上邻居”共享速度:取消不需要的网络服务组件,系统支

蓝头网络 - lantCMS系统怀念ACCESS版

lantCMS系统怀念ACCESS版上线日期:2014-5-24lantCMS系统怀念ACCESS版 在线演示地址:http://cms.lantou.net 后台演示地址:http://cms.lantou.net/admin/ 测试帐号:readonly,密码:readonly:readonly为只读测试帐号如需要全权测试帐号,请联系蓝头网络相关负责人,申请开通测试帐号. 系统特色优点 1.lantCMS系统可以实现快速建站2.满足企业网站常规功能栏目需求:新建目录,新建立分类(同时选择分类

机房收费系统个人重构版:软工文档中那些图

[前言]    图.提到这个字的时候脑海中就会出现许很多多的图像,它的重要性相信大家都明确.相比于文字来说它更生动形象正好符合人类大脑的记忆规律.非常多人也知道动画片制作原理也是用一张张图片仅仅只是转换的速度足够快而已,另外大家所熟知的思维导图等等.下面咱们这里介绍的是软件project中涉及的图! [图] 在上一篇博文<机房收费系统个人重构版:透过文档谈文档驱动开发>介绍了软工各个阶段的文档中都该有什么图.可是没有具体具体介绍各种图,在结束整个机房重构后,深感文档是整个开发的精髓.而图又是文

Linux系统各发行版镜像下载(持续更新)

Linux系统各发行版镜像下载(持续更新) http://www.linuxidc.com/Linux/2007-09/7399.htm Linux系统各发行版镜像下载(2014年10月更新),如果直接下载不了,请使用迅雷下载.并且注意,我的下载地址,在  迅雷 里才起作用. 包括Ubuntu,Fedora,SUSE,Red Hat Enterprise Linux,CentOS等. 中国大陆开源镜像站汇总 1.企业贡献: 搜狐开源镜像站:http://mirrors.sohu.com/网易开源

Linux命令之lsb_release - 查看当前系统的发行版信息

用途说明 lsb_release命令用来查看当前系统的发行版信息(prints certain LSB (Linux Standard Base) and Distribution information.).有了这个命令就可以清楚的知道到底是RedHat的.还是别的发行版,还有具体的版本号,比如3.4还是5.4等等.有些系 统上不一定安装了这个命令,可以通过查看/etc/issue文件得到发行版信息. 常用参数 格式:lsb_release 格式:lsb_release -v 查看LSB本身的

外卖人订餐系统定制建设开发,送外卖订餐系统商业运营版源码

外卖人订餐系统定制开发,外卖人订餐系统商业运营版源码,本人承接搭建,安装,二次开发. 最新外卖人订餐系统8.5运营版源码,支持 PC+WAP+微信订餐开源运营版可二次开发与功能修改. 安装说明: 服务器空间必须支持PHP + MySQL + 伪静态 1.源码包完整上传至服务器空间,并解压 2.将根目录下的 data.sql 导入到你的 MySQL 数据库. 3.修改 config/hopeconfig.php 里面的数据库信息为自己的数据库名称.账号.密码. 4.后台登录地址 :域名/index

PyCharm5.0.2最新版破解注册激活码(图文版)

下载PyCharm http://download-cf.jetbrains.com/python/pycharm-professional-5.0.2.exe 安装PyCharm 设置激活服务器  http://idea.lanyus.com 关于其他版本破解点击: PyCharm5最新版破解注册激活码(图文版) 破解资源下载: 扫描关注微信[yzmaster] 回复关键字[jetbrains] 下载破解文件

毕业论文-网络考试系统 (共享版)

以下图片系个人毕业论文-网络考试系统相关截图,因放着不放出来觉得挺可惜的,所以拿出来共享了,仅供参考,资源下载地址:http://download.csdn.net/detail/wjl_mgqs/7674237 系统效果如图下: 注:下载资源中附本论文系统源码及安装说明,论文为适当删减版,仅供学习参考~ 毕业论文-网络考试系统 (共享版)

Linux系统各发行版镜像下载

Linux系统各发行版镜像下载(2014年10月更新),如果直接下载不了,请使用迅雷下载.并且注意,我的下载地址,在 迅雷 里才起作用. 包括Ubuntu,Fedora,SUSE,Red Hat Enterprise Linux,CentOS等. 中国大陆开源镜像站汇总 1.企业贡献: 搜狐开源镜像站:http://mirrors.sohu.com/网易开源镜像站:http://mirrors.163.com/ 2.大学教学: 北京理工大学:http://mirror.bit.edu.cn (I