由于最近一些其他事忙,加之电脑显卡坏了,所以,好长一段时间没有更新博客了,感觉对不注关注我的朋友。从本文开始,博客更新频率将会大大降低,但每周都会更新的

在上帝之眼论坛看到了新出来了一个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瓦片下载及拼接的更多相关文章

  1. Google POI下载工具破解之路

    我是GIS初学者,爱好二次开发,像初恋一样.最近对编译感兴趣,每当成功获取一点信息,就有一种快感,感觉马上就要成功了……其实,还早! 01.初次反编译 今天在微创业工作室找到了Google POI下载 ...

  2. Google瓦片地图算法解析

    基本概念: 地图瓦片地址:http://mt2.google.cn/vt/lyrs=m@167000000&hl=zh-CN&gl=cn&x=420&y=193& ...

  3. 如何在Google上下载高清原图

    在我们学习和生活中常常一些高清图片作为相关的素材,比如制作PPT.写博文.制作视频都需要大量图片.我们常常会在百度上下载一些图片,但是百度上提供的图片存在很多问题:存在水印.清晰度不够等.而Googl ...

  4. Google APK下载

    在线下载google play中apk的网站 1.http://apps.evozi.com/apk-downloader 2.http://downloader-apk.com/ 3.http:// ...

  5. google兴趣点下载工具

    继上次百度兴趣点版本的发布以后,发现百度只能下载本国数据,并且数据完整度还是和google的少一些,所以本次经过钻研与解密,实现了google地图下载工具,版本的主要功能如下: 1.支持多线程下载,支 ...

  6. JDBC中 mysql数据库的连接工具类 Java登录 及增删改查 整理 附带:Navicat Premium 11.0.12中文破解版.zip(下载)mysql数据库工具

    先写一个工具类,有实现MySQL数据库连接的方法,和关闭数据库连接.关闭ResultSet  结果集.关闭PreparedStatement 的方法.代码如下: package com.swift; ...

  7. Zend Studio 9.0.2破解文件和注册码下载

    Zend Studio是Zend Technologies开发的PHP语言集成开发环境(IDE),是公认最好的PHP开发工具.当前Zend Studio最新版本是9.0.2. Zend Studio ...

  8. 用电脑从Google Play下载apk

    用电脑从Google Play下载apk 方法一:给Chrome浏览器安装apk-downloader插件,需禁止 SSL 错误警告,即在Chrome的快捷方式上加入"--ignore-ce ...

  9. 如何用Google Drive下载超大型文件

    本文将对「如何下载Google Drive中的超大型文件?」这一问题展开探索和解决. 太长不读:直接看这里 情景与问题 在AI.系统安全等研究领域,一项研究成果的产生需要大量的数据样本进行训练和分析, ...

随机推荐

  1. 爆料喽!!!开源日志库Logger的使用秘籍

    日志对于开发来说是非常重要的,不管是调试数据查看.bug问题追踪定位.数据信息收集统计,日常工作运行维护等等,都大量的使用到.今天介绍著名开源日志库Logger的使用,库的地址:https://git ...

  2. Javascript倒计时组件new TimeSpan(hours, minutes, minutes)

    function TimeSpan(h, m, s) { this.h = Number(h); this.m = Number(m); this.s = Number(s); } TimeSpan. ...

  3. DomFlags - 给 DOM 添加书签,方便调试

    DomFlags 所以一款 Chrome 浏览器扩展程序提,供了一种新的方式与浏览器开发者工具互动.DomFlags 让你可以给 DOM 元素创建快捷键,就像用于导航 DOM 树的书签.它们可以帮助您 ...

  4. EXCEL 数字+E+数字 自动识别为指数形式的解决办法

    1.今天从数据库导出excel表时,出现本来为"2E3"的单元格错误显示为"2.00E+03"的情况 2.而设置 单元格格式 为"文本"后, ...

  5. Mysql学习笔记(六)增删改查

    PS:数据库最基本的操作就是增删改查了... 学习内容: 数据库的增删改查 1.增...其实就是向数据库中插入数据.. 插入语句 insert into table_name values(" ...

  6. XPATH使用总结

    最近公司里需要写一些爬虫项目,所以去接触学习了xpath的内容.在w3c上给出了xpath的语法,但是我感觉不全,而且讲得也不详细,我又去网上找了一些文章,总结一下. 这几个都是比较常用的,能解决基本 ...

  7. 浅谈WeakHashMap

    Java WeakHashMap 到底Weak在哪里,它真的很弱吗?WeakHashMap 的适用场景是什么,使用时需要注意些什么?弱引用和强引用对Java GC有什么不同影响?本文将给出清晰而简洁的 ...

  8. Websocket 概述

    WebSocket protocol 是HTML5一种新的协议.它实现了浏览器与服务器全双工通信(full-duplex). [[ from websocket是什么原理? ]] 一.WebSocke ...

  9. 数论 - Miller_Rabin素数测试 + pollard_rho算法分解质因数 ---- poj 1811 : Prime Test

    Prime Test Time Limit: 6000MS   Memory Limit: 65536K Total Submissions: 29046   Accepted: 7342 Case ...

  10. jQuery点缩略图显示大图片

    2015年繁忙的一月份,无更多时间去学习ASP.NET MVC程序,二月份又是中国的新年,长达半个月的假期,望回到老家中,在无电脑无网络的日子里,能有更多时间陪伴年迈的父母亲. 今天学习jQuery的 ...