.NET破解之google瓦片下载及拼接
由于最近一些其他事忙,加之电脑显卡坏了,所以,好长一段时间没有更新博客了,感觉对不注关注我的朋友。从本文开始,博客更新频率将会大大降低,但每周都会更新的。
在上帝之眼论坛看到了新出来了一个google瓦片下载及拼接工具,看起来不错,这是第一次看到没有视图窗口的地图下载器,还没测试过功能,查壳是.NET写的,于是准备来看看。
1.试用程序
试用程序的目的,一方面是熟悉软件的使用,进一步了解软件,另一方面,也更重要,看它的限制点有哪些,是什么。这往往是为下一步甚至整个过程打下基础。比如这个程序,打开就弹出提示消息 "试用次数为1000次",当然,这个软件是否还有其他限制,还需要进一步地观察。
在试用程序时,我们可以借助帮助文档快速熟悉软件。程序的限制一般有三种:第一种是完全不能让你使用,需要插入加密狗或许可文件等,这通常是一些行业软件做法;第二种是让你试用,在时间、次数或功能上进行限制,这是大多商业软件的做法,所以,就有了我们经常听说标准版、专业版等;第三种,让你完全使用,但数据输出进行限制,比如地图下载器,试用版本下载的结果经常在地图上打上水印。
2.搜索关键
我们找到了"试用次数为1000次"的信息后,就按图索骥,用.NET Reflector打开GoogUrim.exe程序,搜索就可找到LinePassord函数。
就像警察破案一样,我们得找关键的物证或人证,才有可能把案子给破了。整个过程需要分析、推理、上下关联等等,当然也有破不了案的情况,如证人做伪证(壳没脱好,乱码)。包括其他程序的破解基本都是这个过程。如果破解安卓程序也类似于这样。下面是此函数的具体内容:
public static bool LinePassord()
{
string str2;
int num = 0x3e8;
RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Internet Explorer\Main", true);
object objectValue = RuntimeHelpers.GetObjectValue(key.GetValue("Window pass"));
if (objectValue == null)
{
str2 = Conversions.ToString((int) (num + 0xef811));
key.SetValue("Window pass", str2);
MessageBox.Show("首次启用软件,试用次数为" + Conversions.ToString(num) + "次!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return true;
}
int num2 = Conversions.ToInteger(objectValue) - 0xef811;
int num3 = num2;
if (num3 == (num + 1))
{
return true;
}
if ((num3 >= 1) && (num3 <= num))
{
str2 = Conversions.ToString((int) ((num2 - 1) + 0xef811));
key.SetValue("Window pass", str2);
return true;
}
string text = "试用次数已完,请您注册!";
MessageBox.Show(text, "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return false;
}
3.分析代码
找到了证据(关键点)我们就得认真来分析代码了,来搞清楚作案人员(开发者)的动机及作案过程。这需要一定的编程基础和实践经验。
上面这个函数主要读取注册表Software\Microsoft\Internet Explorer\Main路径下是否有Window pass项,这个项目应该是首次程序运行是新建的,以记录打开的次数,如果我们重新打开软件,程序将从982008变成982007次。这个开发者还是有良心的,试用次数还这么多,一般的程序都只能使用一次或者十几次。
04.修改程序
最简单的修改方法即是修改次数,当然,也会学会IL的基本语法。
05.深入分析
我们在函数上右键,使用分析功能,即可发现,有两个Load函数调用它,而且都是进行条件判断使用,再结合这个函数本身没有基本设置,只是读取和操作了注册表中的信息。我们可以直接将这个函数的返回值改为真即可。
加载一个1(即为真),返回即可。
要想熟练修改程序,需要学好IL语法。
06,导出测试
将修改后的程序导出来,测试其他效果。
"冰冻三尺,非一日之寒!"并不是说一次性就能操作成功,我们不得不进行反反复复修改,反反复复测试,反反复复使用。
原版程序及破解补丁:
http://pan.baidu.com/s/1pJxItrP
http://www.t00y.com/file/109538324
.NET破解之google瓦片下载及拼接的更多相关文章
- Google POI下载工具破解之路
我是GIS初学者,爱好二次开发,像初恋一样.最近对编译感兴趣,每当成功获取一点信息,就有一种快感,感觉马上就要成功了……其实,还早! 01.初次反编译 今天在微创业工作室找到了Google POI下载 ...
- Google瓦片地图算法解析
基本概念: 地图瓦片地址:http://mt2.google.cn/vt/lyrs=m@167000000&hl=zh-CN&gl=cn&x=420&y=193& ...
- 如何在Google上下载高清原图
在我们学习和生活中常常一些高清图片作为相关的素材,比如制作PPT.写博文.制作视频都需要大量图片.我们常常会在百度上下载一些图片,但是百度上提供的图片存在很多问题:存在水印.清晰度不够等.而Googl ...
- Google APK下载
在线下载google play中apk的网站 1.http://apps.evozi.com/apk-downloader 2.http://downloader-apk.com/ 3.http:// ...
- google兴趣点下载工具
继上次百度兴趣点版本的发布以后,发现百度只能下载本国数据,并且数据完整度还是和google的少一些,所以本次经过钻研与解密,实现了google地图下载工具,版本的主要功能如下: 1.支持多线程下载,支 ...
- JDBC中 mysql数据库的连接工具类 Java登录 及增删改查 整理 附带:Navicat Premium 11.0.12中文破解版.zip(下载)mysql数据库工具
先写一个工具类,有实现MySQL数据库连接的方法,和关闭数据库连接.关闭ResultSet 结果集.关闭PreparedStatement 的方法.代码如下: package com.swift; ...
- Zend Studio 9.0.2破解文件和注册码下载
Zend Studio是Zend Technologies开发的PHP语言集成开发环境(IDE),是公认最好的PHP开发工具.当前Zend Studio最新版本是9.0.2. Zend Studio ...
- 用电脑从Google Play下载apk
用电脑从Google Play下载apk 方法一:给Chrome浏览器安装apk-downloader插件,需禁止 SSL 错误警告,即在Chrome的快捷方式上加入"--ignore-ce ...
- 如何用Google Drive下载超大型文件
本文将对「如何下载Google Drive中的超大型文件?」这一问题展开探索和解决. 太长不读:直接看这里 情景与问题 在AI.系统安全等研究领域,一项研究成果的产生需要大量的数据样本进行训练和分析, ...
随机推荐
- osgEarth基础入门
osgEarth基础入门 2015年3月21日 16:19 osgEarth是基于三维引擎osg开发的三维数字地球引擎库,在osg基础上实现了瓦片调度插件,可选的四叉树调度插件,更多的地理数据加载插件 ...
- REHL5.5 linux的postfix的邮件服务器配置 (笔记)
一.发送邮件服务器(smtp服务器) 1.系统安装时已经有postfix. 2.修改配置 1)vi main.cf //你可以先备份一下配置文件 myhostname = INMSC2//修改为你的主 ...
- 关于 iOS 的一些学习资料
iOS.Book.Effective Objective-C 2.0 1. 中文翻译版 (更新中) https://github.com/HagerHu/effective-objective-c-2 ...
- vmware虚拟机工具vmware tools介绍及安装排错
VMware Tools是VMware虚拟机中自带的一种增强工具,相当于VirtualBox中的增强功能(Sun VirtualBox Guest Additions),是VMware提供的增强虚拟显 ...
- Linux下grep显示前后几行信息
Linux下grep显示前后几行信息 标准unix/linux下的grep通过下面參数控制上下文 grep -C 5 foo file 显示file文件里匹配foo字串那行以及上下5行grep -B ...
- hibernate的多对多例子讲解(加图片)
在hibernate中也有多对多的关系.但是这样关系执行的效率不高,所以我们可以通过两个多对1或者两个1对多来实现. 在现实生活中多对多的关系也比较常见.比如说老师和学生.一个老师有多个学生,一个学生 ...
- iOS-UIScrollView-图片缩放
一. 实现功能 两个手指捏合,可以放大或者缩小图片. 二.原理说明 1. 实现缩放功能的四个步骤 (1) 让控制器遵守代理协议 (2) 让scrollView设置代理 self (3) 调用代理方法, ...
- UWP开发入门(十二)——神器Live Visual Tree
很久以前,我们就有Snoop这样的工具实时修改.查看正在运行的WPF程序,那时候调个样式,修改个模板,相当滋润.随着历史的车轮陷进WP的泥潭中,无论WP7的Silverlight还是WP8.1的run ...
- Django项目--web聊天室
需求 做一个web聊天室,主要练习前端ajax与后台的交互: 一对一聊天和群组聊天 添加用户为好友 搜索并添加群组 管理员可以审批用户加群请求,群管理员可以有多个,群管理员可以删除,添加禁言群友 与聊 ...
- .NET 笔试题--自已作答
以下题目,我已全部作答,答案仅供参考!水平和理解有限,可能有误,欢迎指正,谢谢! 1. 填空: (1)面向对象的语言具有__继承______性._____多态____性.____封装____性. (2 ...