我查查APP最新采集方案演示:根据条码采集商品在各商超门店价格 http://t.cn/A64kJhLo ​

9月25日 11:46转发|评论

【经验分享】百度地图APP版POI边界坐标参数采集解析方案 如附图1-3所示,是从百度地图APP采集到的POI边界GEOJSON数据,如何将其转换为有效的经纬度数据呢?详见 >>> www.site-digger.com/html/articles/20200916/816.html http://t.cn/A64HbBja 如附图4所示,是成功解析GEOJSON数据后,利用高德地图A ​

9月16日 17:20转发|评论

【经验分享】终于实现携程App酒店房型列表数据解析 1. 携程App在加载房型数据时没有使用HTTP协议,而使用了自定义的通信协议SOTP,详见(ctrip.business.sotp.SOTPConnection)类。 2. SOTP协议返回的数据是经过压缩和系列化的,需要先解压然后反序列化(非JSON),才能得到原文。 ​

9月3日 13:11转发|评论

【经验分享】Ubuntu server下使用gcp出现“dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11”问题的解决方法 gcp是增强版的cp实现,最大的优势在于它可以显示实时的速度和整体的进度。关于gcp的详细介绍见 ​

8月28日 12:29转发|评论

"小红书APP"商品数据采集,如附图所示 ​

8月10日 12:39转发|评论

【经验分享】adb启动“小红书”商城,打开指定关键词的搜索结果列表: adb shell "am start -n com.xingin.xhs/com.xingin.xhs.routers.RouterPage 'xhsdiscover://search/result?keyword=nike&mode=goods'" 效果如附图所示。 ​

8月9日 19:06转发|评论

【经验分享】“debian+随身WIFI”打造网关应对突发网络故障 今天突发网络故障(市政施工挖断了联通光纤),短期内还无法恢复。局域网内有数台采集器要工作,长期断网影响较大。 手上有一个随身WIFI,每月有900GB的电信流量(很久没用了,今天该它发光发热了)。另外还有一台装有Debian系统的笔记本。 ​

7月28日 11:00转发|评论

【经验分享】logcat是分析APP的利器之一。特别是大厂的APP,往往都有详尽的debug log,甚至详细到HTTP请求的参数,应答数据。但是在生产版本中他们一般会关掉调试日志,我们直接logcat是看不到任何敏感信息的。不过,开发者可能会留下一个开关,在必要的时候能够开启debug log。 以ctrip APP为例, ​

6月30日 12:05转发|评论

【经验分享】接上篇。发现一款名为ADB Manager的APP能够实现开机自动启动“ADB网络调试”,不需要像上篇那么复杂了。 ADB Manager (adbm)的项目主页:http://t.cn/A6LjJ2Zv,上面附有apk文件的下载地址。注意:使用该APP的前提是你的设备先要ROOT。 安装后点击“扳手”图标进入设置,勾选“Start on ​

6月23日 10:37转发|评论

【经验分享】如何让安卓设备(非模拟器)开机自动开启“网络ADB调试”(或叫做ADB over network/ADB over WIFI)? 前面曾介绍过对于Bliss OS X86系统,可以通过修改/etc/init.sh文件,加入如下命令实现: setprop service.adb.tcp.port 5555 stop adbd start adbd ​

6月20日 16:46转发|评论

【经验分享】Ubuntu 下 Squid 基于 MySQL的用户认证配置步骤 进行如下操作之前,确保已经正确安装和配置好了Squid和MySQL。 (1)安装Perl的MySQL操作库libdbd-mysql-perl,后面Squid的认证脚本basic_db_auth中将会用到。 sudo apt-get install libdbd-mysql-perl (2)在MySQL中创建Squid用户认证表 ​

6月20日 15:15转发|评论

【经验分享】接上篇“毒(得物)APP数据采集”。上篇提到了这个APP对HTTP请求做了"手脚"无法直接抓到包。这里分析一下,它到底做的什么"手脚",以及怎么绕过。 1. 在com.shizhuang.duapp.common.helper.net.RestClient类中可要找到如下代码: writeTimeout.proxy(Proxy.NO_PROXY);(详见图1) 这里 wri ​

6月18日 09:45转发|评论

【经验分享】毒(得物)APP签名算法解决 (1)HTTP请求做了"手脚"无法直接抓到包。 (2)分析代码后发现可以通过HOOK "com.shizhuang.duapp.common.helper.net.interceptor.HttpRequestInterceptor.intercept()"调用或者"okhttp3.internal.http.RealInterceptorChain.proceed()"调用拿到HTTP请求和应答 ​

6月14日 19:04转发|评论

【经验分享】58同城APP证书固定机制绕过(ssl unpinning)方法 1. 直接抓包,APP提示网络错误(图1),logcat显示有okhtt3 connectTls相关函数异常(图2)。 2.反编译APK,根据异常提示定位到证书锁定相关代码。 3. 使用Frida Hook绕过相关证书验证代码。具体frida脚本如下: ​

6月4日 10:20转发|评论

【经验分享】VMware Workstation开机免登录自启动设置方法 近日某拨号服务器出现故障,不定期会自动重启。每次重启之后都要手动去启动VMware虚拟机,非常麻烦。如何实现开机自启动指定的VMware虚拟机呢? (1)通过"vmrun.exe start 虚拟机vmx文件路径"命令可以启动指定的虚拟机。 如果有多个虚拟机可 ​

5月26日 17:33转发|评论

【经验分享】Pandas日期范围查询 目的:查询CSV中某列值大于某个日期的记录。 (1)使用Pandas的to_datetime()方法,将列类型从object转为datetime64。 df[u'合同签订日期'] = pd.to_datetime(df[u'合同签订日期'], format=u'%Y年%m月%d日') 注意要设置format参数,指定原始数据的时间日期格式。转换 ​

5月11日 09:38转发|评论

【经验分享】Python的hash()函数产生hash碰撞的概率有这么高吗? 昨天同事"随手"给我发了两组他在项目中遇到的例子,很是受"惊吓",HashDict用了快10年了,竟然没注意到这个Bug。 Python 2.7.8.10 on Windows 64 例一: hash(u'赤峰_1513781081_http://t.cn/A6Al6TDu) 901186270 hash(u'北京_101021 ​

5月8日 21:05转发|评论

【经验分享】"土地市场网-土地供应-出让公告"网页字体混淆反采集的解决 (1)如附图1所示,下载的页面中有很多字符是乱码。左边是经过浏览器正确渲染的结果,右边是下载到的有乱码的数据。 (2)经过分析发现,网站使用了自定义的字体文件:把常用的391个汉字做成了特殊字体,使用了自定义的unicode码 ​

4月15日 10:53转发|评论

【经验分享】我查查APP防护机制分析 1. 最明显的是URL加密了,如附图1所示。 反编译后分析源码可知,URL加密过程如附图2所示。 主要通过WccBarcode.getInstance().enReq(bytes, bytes.length)实现。 2. enReq()是一个native方法,具体实现在libgcbarcode_k.so中,如附图3所示。 例如,原始URL: /gg ​

4月7日 11:49转发|评论

【经验分享】终于搞定了百度指数PC版(2020最新版)加密算法,不用再模拟浏览器采集了 之前一直是使用"phantomjs + js脚本"模拟操作,从UI上获取百度指数值。 今天有客户让评估新的需求,之前模拟浏览器的方式不太适合了,决定试着分析下它的解密算法。 运气不错,没花多大功夫搞定了,以后可以直接通过H ​

3月30日 15:49转发|评论