所有由jingouwangzi发布的文章

火星坐标矢量地理文件纠偏方法

一、问题描述

大家都知道,国内的高德、百度等地理信息都是偏移过的,在日常处理过程中有诸多不便,网上有不少给坐标点(有经纬度X、Y坐标值)纠偏的工具或代码,虽然不能完全匹配,但是精度基本都能满足需求。

但是日常使用中还有一个很大的问题,就是我们的线、面等地理数据,是没法用那些工具处理的。怎么办呢?经过漫长的寻找终于找到一个postgis_LayerTransform。

其github地址:https://github.com/FreeGIS/postgis_LayerTransform
作者博客地址:blog.csdn.net/freeland1/article/details/50157641

二、使用方法

1、软件安装

这个代码需要配合postgis使用,因此要安装几个软件:postgresql、postgis。

首先安装postgresql

然后安装postgis(用跟postgresql版本配套的版本,可以独立安装,也可以在postgresql安装完后跳出来的附加组件安装程序里面安装,安装的时候选择创建一个地理数据库,后面可以用来作为模板)

2、创建数据库

打开pgadmin,新建一个数据库(在新建的时候可以以地理数据库为模板,也可以直接创建一个空数据库)

如果上一步创建了一个空数据库,那么还要安装postgis拓展(在拓展上面点右键-创建拓展,然后下拉菜单找到postgis)

3、导入数据

打开 插件-postgis shapefile and dbf loader(如果是pgadmin4,可能找不到插件这个选项,可以直接在系统开始菜单里面找这个插件)

点击view connection details,连上刚刚创建的数据库

点击add file,打开要导入的shp文件

(这一步比较重要)设置shp文件的属性,尤其是srid(WGS84地理坐标是4326,WGS墨卡托投影是3857),表名也可以设置一下,如果不设置默认就是shp文件名。

然后点击import就好了(注意文件路径不能太长太深,不能有中文)

4、处理数据

执行SQL查询,首先执行上面github提供的完整代码

然后执行select LayerTransform(‘tablename’,’GCJ2WGS’); (其中tablename就是导入的shp的名称,在上述第3步的设置属性里面设置。GCJ2WGS是一种纠偏方式,支持以下6种’BD2GCJ’, ‘GCJ2BD’, ‘WGS2GCJ’,’GCJ2WGS’,’BD2WGS’,’WGS2BD’,分别代表 百度转火星,火星转百度,84转火星,火星转84,百度转84,84转百度。)

5、导出数据

再次运行postgis shapefile and dbf loader导出即可

懒得截图,说的应该已经比较清楚了吧

记录两个软件的破解过程

最近发现两个软件,是Excel的插件,感觉可能还有点作用,但是从最近的新版开始要收费了,所以想着能不能破解一下,经过半天的研究破解成功,下面记录一下过程:

第一个(其实是两个,但是注册过程一模一样)

1、安装软件

安装软件,得到如下一大堆文件:

Markdown

2、寻找突破口

首先觉得adxregistrator.exe可能是注册程序,但是在excel里面打开程序的注册界面是显示有中文的,然而adxregistrator这个文件用ollydbg调试,并发现没有任何中文字符,所以认为这个不是目标程序。

所以继续寻找,觉得datamap.dll应该是主程序。

好了,首先用查壳软件查查,没壳,用vb编写,net4.0版本。

好吧net reflector上场,注意打开后要选择正确的语言。

Markdown

3、找到关键函数

Markdown

可以看到有三个条件比选,开始想着改代码,加载reflexil插件,结果觉得太难不想搞。

然后就想研究注册算法,注意到有一句关键代码:

Markdown

很明显是用户输入的注册码和机器产生的进行对比,好嘛,找到Module_DataMap.RegisterSN模块研究函数不就行了。

4、注册破解

找到了:

Markdown

就是把机器码的前7位去掉后得到的字符传给这个函数,然后每一位转成ascii码,乘以16位D39(&H是十六进制代码相当于0x),然后12位字符累加,完了再加一个16位8324530就是注册码了,经验证注册码是10进制。

具体算法在excel里面就可以实现,这里不再展示。

第二个

1、新问题

最近软件作者又发布一个插件,但是这一次变聪明了,要购买SN然后在线注册使用。可以申请一个7天试用版,不然功能不可用。

2、寻找突破口

对比了一下安装出来的文件,除了主程序Datamap.dll换成了Datamapa.dll外,其他没有变化。那么突破口肯定还是在这里面了。

通过查看mapdataa.dll可以看出,这个程序要联网验证一些东西,我也懒得去研究那些代码,准备爆破。

3、找到关键函数

(1)首先发现一个登陆模块,研究下去(后面看了下,其实这个程序里面可以破解的地方非常多,但是这个登陆模块就够了)

Markdown

(2)研究登录模块的代码:发现最后有一个将注册状态设置为true的语句,感觉这里是关键点(其实这个找了半天才发现这里,具体查找过程还是比较麻烦)

Markdown

(3)那么再往上看,发现只要num2这个变量不等于0就行了(num2变量是根据前面的一大串算出来的,那么爆破的话,只需要这里直接把num2的值设置成不为0的数,比如1),按这个思路走下去:

打开reflexil,找到

这一句对应的位置:

Markdown

(4)根据我的猜测,268行应该就是num2的初始值,269行就是把obj8的值赋过来。好了把268行改成ldc.i4.1,就是把值初始化成1。然后把下一行删掉,不让obj8的值赋过来。完了保存

Markdown

4、注册破解

替换文件,点击注册,手机号密码序列号随便填(手机号填11位,其他随便,因为前面检测填入项的没改,为防止出现问题,所以还是要按其格式进行填写)

Markdown

转一个帖子:电信天邑TEWA-300AI EPON光猫破解(关键是TR069)

转贴自宽带技术网

适用范围:电信光宽带用户,光猫型号天邑TEWA-300AI(我是武汉电信天邑TEWA-300EA,同样破解成功)。

1、telecomadmin密码

1)打开路由器的web设置

一般是192.168.1.1,用路由器背后的用户名useradmin和密码登录。

访问

会下载这个文件。
用记事本或者editplus或者notepad++打开,在这个位置的就是密码:

2)点击刚刚登录的web界面的右侧,有个>>符号,退出当前登录。

3)使用telecomadmin和刚刚看到的密码,登录进去。

2、先说远程管理(这个是破解终端数等限制的关键)

1)去掉远程控制的链路TR069!

进“网络”-》“宽带设置”页面,删除连接名称叫做TR069的。一般人可能删不掉。因为点“删除”不会有反应。
用chrome或者firefox,右键审查元素(Inspect Element),鼠标点击inspector窗口任意位置,ctrl+f,搜索“删除”,会自动定位到删除按钮所在的行。
不要再按钮上面点,不会有右键。在它旁边的空白处点击即可。找到的代码大概是这个样子的:

搞过html的人大约知道这个disabled的作用,随便将其改动或者删除,都可以让这个禁用失效,变成可以点击。

有人担心TR069删除后异常。

放心哈,百科一下TR069多作用你就明白了。随便删。

2)去掉远程上报相关(好像这个我的可以直接关闭)

“网络”-》“远程管理”:

ACS URL改成https://127.0.0.1或者其他任意无法访问的ip,下面的用户名密码随便输入。

TR-069客户端使用的广域网(WAN)接口这个选项可以使用any_wan,或者直接选lan,无所谓。

在删除TR069连接之前这里有个epon0.1的东东。

下面的中间件服务器地址也改成127.0.0.0或者127.0.0.1,原理同上。

保存。如果无法保存,参见“删除”按钮的处理。

3、无线设置:默认只有个SSID1的设置选项。(这个没啥用,还是自己搞千兆无线路由器吧)

1)常规参数:

从“网络”-》“WLAN配置”进入。

一般情况下看不到这个地址,因为这个用了iframe的。

在这个链接上,点右键new tab打开,后面有妙用。

在这个WLAN配置界面,可以改各种参数。TEWA-300AI这看起来是11n的wifi。

搞完后记得“保存/应用”。

在保存的时候,其实可以看到浏览器的跳转地址。有了这个地址,哈哈,想搞啥都可以。

这个地址会一闪而过。在点了“保存/应用”后,立马点击stop(叉叉按钮),停止浏览器的动作。

然后复制这个地址,形如下面:

注意这个地址,必须在一开始在new tab中打开才能看到,iframe下看不到这些信息的。

然后,分析下,

其实上面有个参数很重要,但是没有显示。

这个是指四个ssid的索引值,看过代码的人大约知道,这个是从0到3,表示1-4。

这个也让开启其他隐藏的ssid2/ssid3/ssid4变成可能。

即,将wlSsidIdx=?改成对应的数字index,然后改为不同的ssid名称,即可启用。

这是一种渠道。

话说回来,这个sessionKey,在

这个页面,

右键源代码,或者直接inspect,搜索sessionKey,看到这样的就是了:

然后把上面的参数调整好以后,把sessionKey=后面的,搞成这个数字串就可以保存了。

否则,提示session key invalid.

2)安全参数

点最下头的“高级”按钮,可以进入密码设置页面。

如果上面实在new tab打开的这个链接,则地址栏是:

在这里可以改SSID为ChinaNet-xxx,只能动后面(后面有办法变成其他)。

在选择SSID的地方,你可以看到要给select对象(html dom element),但是没法改。

这个同“删除”按钮一样的操作,去掉disabled属性:

然后可以任意选择了。

然后保存应用。

经过上面的设置,如果你启用了chinanet-2,又想改密码,就在这里搞吧。这是方法一。另有一种方法附后。

3)仅在上面搞,还不行

因为internet连接还得绑定到其他的ssid上。

一般,我是用ssid2做itv的无线通路,其他三个ssid都绑定,但只启用ssid1.

话说,家用,当真需要那门球多的ssid吗?我不需要。

这个在这里改:

网络-》宽带设置

new tab可看到地址:

在这个页面,选择3_INTERNET_R_VID_xxxxxx,注意这个序号,我已经删除了TR069连接。

下面“绑定端口”,注意不要选择lan2和ssid2。当然这个看情况。

如果你不需要iptv,那么可以把所有端口都绑起。即1-4个网口都可以上网。ssid1-4也可设置成互联网的访问通路。

如果想把lan4作为iptv的,这里就不要勾lan4。

其他不用改哈,自动拨号啥的都是配好的。

保存即可。

4)如果要改iptv的绑定端口,看这里:

2_Other_B_VID_xxx,这个是电视的通路。

下面也有个端口绑定。选你想要的lan口作为电视信号接口即可。

我默认的itv是2,即lan2。如果没有itv的,我也不知道怎么说。

4、telecomadmin的密码

你会发现,电信生成的密码,很妖怪。确实,它是随机的。

想改成自己常用的密码,很简单。

首先,访问

点保存应用,会下载配置文件。
也可以直接访问

直接把配置文件保存了。

然后,开始改吧。

1)telecomadmin

把这个password改成你自己的。这是明文密码,不需要搞base64啥的。

直接写了直接存。注意文件编码ansi(记事本的默认编码)。

然后访问

提示:

工具 — 更新路由器配置

更新网关路由器的配置,可以使用已保存在计算机上的配置文件来更新路由器配置。

选择你刚已经保存了新密码的conf文件,更新配置,路由器会自动重启。

这个时候再访问192.168.1.1,可以用新密码了。

5、启用其他的ssid

这里连续几个,就是ssid1-4。

将enable的false改成TRUE,即可启用。

一样的,下面可以改密码。

在这中间加一行

变成:

其实ssid1的就这样哈。

然后再更新conf文件,用手机刷新下,可以看到ChinaNet-2, -3, -4都可以搜到。

如果其中的某个绑定了itv,则能搜能连但是无法分配ip。

6、关于自己搞业务下发

某些极限情况下,可能你会把光猫搞奔溃了。

没事,记住这个CD779635XXXX。

当光猫洗白的时候,用个针,顶住光猫的菊花,hold住,不要松手,直到光猫灯闪烁开始重启。

然后访问192.168.1.1,直接点业务注册,输入CD779635XXXX,然后等2分钟,一切搞定。

重启后又可以任意折腾了。

7、关于itv的wireless,遗留问题,搞不定啦

我不太喜欢光猫插线到机顶盒,之前用的中兴F460可以无线传递itv信号。

即用无线替换那根线,适合不想牵线和不想墙上打洞的人,也适合不适合有线连接的。

但这回,机顶盒没变,光猫变了,却怎么样也连不上itv绑定的ssid2。

机顶盒一直提示故障0312网络无法连接。

于果有懂的朋友,请指点,谢谢。

附几个图,不知道插哪里合适。





word另存为pdf的时候同时生成目录书签

问题

前几天搞一个文本,格式要求为带书签的pdf。开始没注意,用word直接另存为pdf,可以生成目录,并且可以跳转,遂交上去,结果被打回来。然后尝试用acrobat插件转为pdf,结果不知是因为文本太大还是软件本身有问题,转到一半acrobat就崩溃。东西要得急,搞得实在没办法,只能手动添加书签。。。。。。

解决办法

文本交上去之后,研究了半天,终于找到怎么搞。
如图,首先选择另存为pdf后,打开选项:

1

选中“创建书签时使用”

2

搞定!

《Python网络数据采集》5.1节示例程序错误解决及re.sub用法

问题

学习《Python网络数据采集》5.1节时,作者给出了一个示例程序,试着运行了一下,发生以下错误

仔细研究,发现是src有问题,没有在代码中进行处理,这里第一个获取到的src的url是

实际文件应该是jquery.js,但是后面带了个版本号的小尾巴“?v=1.4.4”

所以在写入文件的时候出错。

解决方法及re.sub的用法

由于示例网站里面src的url不止一处带小尾巴,所以考虑用正则表达式进行替换。

网上随便搜到一个正则表达式替换字符串的示例:

详解Python中re.sub

所以本书示例代码可以修改如下:
首先导入re模块

然后在getDownloadPath函数中加入替换语句:

问题解决,修改后的代码运行结果如下:

Ununtu几个设置

安装shadowsocks客户端:

命令行模式的略麻烦,略过。

APP风格的网易云音乐

Go!

最近AlphaGo很火,但是苦于围棋看不懂,所以想了解一下规则。找了日本棋院的《围棋入门》学习,现在看了一本,基本规则算是大概清楚了,但是试着下了两盘,布局阶段跟对方没有近距离接触时候,大概还知道怎么搞,一旦近身肉搏,马上被杀的片甲不留。顾此失彼,死活棋也看不懂,什么是真眼也还没搞明白,还总想着提对方的子,看书的过程中发现这都是初学者容易犯的错误,所以我还是先把这三本书看完吧。