我是GIS初学者,爱好二次开发,像初恋一样。最近对编译感兴趣,每当成功获取一点信息,就有一种快感,感觉马上就要成功了……其实,还早!

01.初次反编译

今天在微创业工作室找到了Google POI下载工具,反编译后错误很多,还有很多问题需要解决,可能反编译源码困难挺大的,还是知难而退,慢慢积累经验,现在解决不了的,以后也可能会解决。

02.许可代码FrmLisence.cs

在FrmLisence.cs有获取CPUID的函数,也有加密和解密函数,竟然这样的直白!

于是,我按照相关函数,也写了这样的许可注册窗口,和它的结果一样。

但最后重启后,还是只能处理200条数据,空欢喜,生活有时就是这样!

03.查找200条

既然是200条在作怪,我就要看看为什么限制了200条,这么少?发现是isKey变量在作怪,isKey是怎么定义的?它是mainForm的构造函数中传进来的,应该要在Program.cs文件中来找答案。

04.机智的作者

万万没想到,机智的作者在Program.cs文件中也写了一个Encrypt函数,并且和FrmLisence.cs中的有点不一样。我可以这样理解吗:注册窗口的注册并不能真正注册,我们往下分析。

05.许可代码Program.cs

这里的代码写得很显示了,str1是读取ini文件中的许可码(它是由FrmLisence.cs中Encrypt函数生成),str2是由Program.cs文件中Encrypt函数生成,如果两者相等,isKey的属性则为true,如果两者不等,则传入主窗口的函数永远为false,也就是只能下载200条。天啊,这两具函数中的bytes1不一样,其他都一样,怎么可能等?

06.修改Encrypt函数

将Encrypt函数修改成与Program.cs文件中的一样后,重新生成许可码,和原来的不一样了,这下应该可以了吧。

07.许可测试

最后测试,通过,算是完成破解了。

08.结果分析

这个数据质量怎么样,有待研究!

Google POI下载工具破解之路的更多相关文章

  1. google兴趣点下载工具

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

  2. Google地图下载工具代码

    // // Google Map Tiles Downloader in C# by coolypf // No rights reserved, neither warranty nor guara ...

  3. google,百度地图POI下载

    百度,google POI下载工具是可以对任意矩形范围,以及任意省市级区域的兴趣点数据进行下载,可以支持多线程下载,按分类下载,以及按关键字下载. 线程数可以自由设置16线程之内.下载格式为excel ...

  4. .NET破解之google瓦片下载及拼接

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

  5. Adobe Photoshop CC 2018 v19.0 简体中文正式版下载安装破解(附注册机+破解教程) 32/64位(安装破解注意事项是什么)

    Adobe Photoshop CC 2018 v19.0 简体中文正式版下载安装破解(附注册机+破解教程) 32/64位(安装破解注意事项是什么) 一.总结 一句话总结:下载安装破解教程文中都有,需 ...

  6. 为什么google bazel构建工具流行不起来

    作者Jack47 转载请保留作者和原文出处 之前博主写了系列文章Google软件构建工具Bazel原理及使用方法介绍.最近使用了一段时间后,觉得这个东西不是一种通用的构建工具,很难对接到情况复杂的大的 ...

  7. python实现的视频下载工具you-get,支持多个国内外主流视频平台

    RT,you-get 是一个视频离线下载工具, https://github.com/soimort/you-get 另一个同类工具 youtube-dl 也是python 实现,虽然名为 youtu ...

  8. Myeclipse10下载,安装,破解,插件,优化介绍

    一.Myeclipse10下载与破解 Genuitec 公司发布了MyEclipse 10,一款Genuitec旗下的商业化Eclipse集成开发工具的升级版本.MyEclipse 10基于Eclip ...

  9. [转载]Dotfuscator Professional Edition 4.9.7500.9484 混淆工具破解版+使用教程

    如有转载,请注明出处: http://www.cnblogs.com/flydoos/archive/2012/01/26/2329536.html Dotfuscator Professional ...

随机推荐

  1. Xamarin Android权限请求

    Xamarin Android权限请求   Android权限规定了App是否可以访问特定的资源,如网络.电话和短信.在原有API 6.0之前,App在安全的时候,会请求一次权限.一旦安装后,App就 ...

  2. 创建操作表(UIActionSheet)

    UIActionSheet用来创建一个操作表,它的初始化代码如下: - (IBAction)testActionSheet:(id)sender { UIActionSheet *actionShee ...

  3. 【BZOJ 3747】 3747: [POI2015]Kinoman (线段树)

    3747: [POI2015]Kinoman Time Limit: 60 Sec  Memory Limit: 128 MBSubmit: 830  Solved: 338 Description ...

  4. jni java C/C++ 相互调用

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha java 中  声明 一个 native 方法 用javah命令 生成 包含 nativ ...

  5. 矩阵乘法<简单总结>

    原理:矩阵相乘最重要的方法是一般矩阵乘积.它只有在第一个矩阵的 行数 和第二个矩阵的 列数 相同时才可进行.若A为m×n矩阵,B为n×p矩阵,则他们的乘积AB会是一个m×p矩阵. 若A=    a   ...

  6. 【DLX算法】poj2676 Sudoku

    DLX算法求解精确覆盖问题模板.赛场上可以参见白书. #include<cstdio> #include<cstring> #include<vector> usi ...

  7. codeforces 19D D. Points 树套树

    D. Points Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/19/problem/D De ...

  8. CodeM资格赛5

    早上起床太晚,最后没时间了.. 不是ac代码,下次题目在oj上线的时候再去做一下.. #include<iostream> #include<cstdio> #include& ...

  9. 典型案例收集-OpenVPN不同网段的访问控制(转)

    一.案例1  针对不同的客户端指定不同的等级和权限. 通常的方法是: 1.每个客户端分配不同的IP地址: 2.利用防火墙对不同的IP地址进行控制: 例如: 1.公司内部网段是10.66.4.0/24: ...

  10. Visual Studio 2015的“转到定义”和“查看定义”出错的Bug

    今天发现Visual Studio 2015的"转到定义"和"查看定义"时出现如下错误: 它对于自己写的代码工作正常,对于系统函数就出现这个错误,将系统设置还原 ...