- 博客(202)
- 资源 (5)
- 收藏
- 关注
原创 和菜鸟一起学linux总线驱动之初识USB鼠标抓包数据
小日本可恶的暂时抢走了钓鱼岛,但是,相信凭借全国人民的齐心协力,钓鱼岛是逃不掉的。至于要不要武力解决,这个不是我们说了算的。最好还是不能动武,到时候受害者还是老板姓。相信时间会解释一切,在此只能默默祈祷,钓鱼岛早日回到祖国大陆的怀抱。 好了,钓鱼岛的事,关心是需要的,但是也帮不上什么忙,与其这么瞎折腾,还是多学点东西,为祖国的建设做贡献吧。 记得上次讲了US
2020-12-01 17:19:21 4401
原创 Android开发学习之路--App全局置灰
当有个悼念日的时候,很多app和网页都只呈现了黑白色,这里,我们可以简单研究下。常用方式App页面置灰常规方案就能想到内置两套UI图,加载不同的UI,但是这样实现起来特别复杂,而且包体积大小也成倍增加,需要请求后台服务端的图片也得搞两套。其实换个思路,我们把Android渲染的数据统一给他灰度不就可以实现我们所需要的功能嘛,那就得看下Android的UI绘制过程了,关于UI的绘制已经有很多分析了,这里就不赘述了。原理实现DecorView一个Activity由最外层的PhoneWindow,
2020-11-12 22:29:41 5206 3
原创 Android开发学习之路--XPosed插件开发
1. Xposed插件Hello World新建工程:MyXposed引入xposed: provided 'de.robv.android.xposed:api:82' provided 'de.robv.android.xposed:api:82:sources'官方链接修改AndroidManifest在AndroidManifest中修改如下:<applic...
2020-01-02 20:59:13 1523 1
原创 Android开发学习之路-脱壳反编译
前言想研究下某app里面的实现技术,使用常规的反编译发现竟然是加固的,所谓Apk加固,就是对dex文件进行加密,防止App被反编译,保证apk的安全。市面上有很多的加固平台,有360加固,腾讯乐固,爱加密等等。上一篇文章我们了解了加固,也有了加固后的apk,这里我们利用工具脱壳查看源码。1. 脱壳工具FDex2道高一尺魔高一丈嘛,有加固平台,也有脱壳工具,常见的脱壳工具有FDex2,...
2019-12-26 09:26:15 4008
原创 Android开发学习之路-加固实践
前言起因也是想要看一些优秀的程序某些内容是怎么实现的,所以需要脱壳,但是对于怎么加固也还是比较感兴趣的,加固涉及到的安全的内容很多很多,这里也只是用个简单的例子来过把瘾,参考了些文章,只是为了理顺思路,也为之后的脱壳做个准备。其实加固可以理解为,一个应用程序,利用了插件化的功能,启动了另一个apk,而这个apk是经过加密的,壳应用会在加载需要启动的apk的时候去解密。这样即使逆向了dex文件...
2019-12-25 18:55:28 1412
原创 Android开发学习之路-Flutter混合开发实践
前言为了迎合新技术,并且可以一端开发两端受用,于是乎在引入新的功能模块的时候,尝鲜使用flutter来进行开发。众所周知,在尝鲜新技术的时候总会有种畏惧感,人类总是喜欢使用熟悉的东西,而作为程序员更加喜欢用自己擅长的技术,但纵使有千般难,万般坑,既然选择了,总要把他跨过,踩完。1. Flutter工程介绍1.1 模块介绍目前工程包括基础模块和kds模块,两个模块都是单独的plugin,并且...
2019-07-23 09:11:02 1184
原创 极客Go云监工 — 基于Ant Design的Web React实现
前言玩客云接口的破解和后端api都已经分析了,那些都是看不见的,而展现在用户面前的是前端的web或者微信的小程序。由于一开始还不会小程序就先用react写了一个前端,写的比较乱,将就能用,也没有系统做过前端,借此机会来动手实践下。主要是不想用很重的app来实现,毕竟稍微看下,操作下就行,不需要非常好的用户体验。好了,我们还是具体看下吧。框架React使用的react框架,本来想用vu...
2019-04-20 09:26:40 1663
原创 极客Go云监工-- API接口
转瞬之际,已经过完年上班1月有余了。年前的互联网寒冬,各种裁员年后还是依然来势汹汹,在迷茫中不知所措,刷了100多题leetcode,时刻准备着寒冬的到来。框架使用了python的Flask+MongoDB,还可以方便爬虫,基本目录结构如下所示:.├── app│ └── __init__.py├── config.json├── controllers│ ├── __in...
2019-03-14 20:51:02 2045 3
原创 极客Go云监工 --- 开源前序
过去的20182018已经成了过去时,2019也过了几天了,当初区块链还是挺火的,迅雷的链克也相当火爆,链克其实是通过迅雷的玩客云来贡献带宽和硬盘资源来换取的,当初火爆的时候大概有9块钱一个,而目前也只有不到1块钱,入手了4个玩客云,也获取了1000多个链克,就这么放在钱包里吧,也想着随时杀鸡算了。起因配套的玩客云app是只能一个账号登陆,其实主要用于家庭云盘的。但是为了链克,一般都会挂很多...
2019-01-06 14:56:00 6541 2
原创 Android开发学习之路--Android Studio插件开发
前言因为使用了mvp和dagger,所以每次新的一个功能页面都需要重新写一堆东西,比如Activity, Fragment, Presenter,dagger等,而这些代码基本上都是大同小异,完全可以写一个模板,然后生成,略微修改便可以完成我们需要的功能。而往往我们写模板的时候就需要花费半天,有可能遇到坑需要个1天时间去,如果有个插件,定义好名字,然后自动生成所需要的所有代码那就完美了。既然决...
2018-09-11 21:40:53 766
原创 Android开发学习之路--React-Native混合开发初体验
准备node安装:https://nodejs.org/en/react-native官网:https://facebook.github.io/react-native/TypeScript: http://www.typescriptlang.org/docs/home.html1. Expo尝鲜1.1 环境安装:1.1.1 npm来安装create-reac...
2018-07-20 22:42:09 1333
原创 Android开发学习之路--Kotlin之Android开发使用心得和注意事项
1 @Autowired需要@JvmField注解@Autowired(name = "test")@JvmFieldvar currentDate: Long = 0当我们用到类似于阿里的ARouter的时候,会发现@Autowired不起作用,其实是注入代码为了减少反射,使用的字段赋值的方式来注入的,Kotlin 默认会生成 set/get 方法,并把属性设置为 private...
2018-05-10 00:27:37 1288
原创 Android开发学习之路--Kotlin之常用表达式及函数
中缀表达式只有一个参数,用infix修饰的函数infix fun shouldBe(name:String) {} this shouldBe "666"if 表达式看一个max函数,这里的if是有返回值的,也就是a>=b返回a,否则返回bfun max(a:Int, b: Int) = if(a >= b) a else bwhen 表...
2018-05-06 12:00:32 749 2
原创 Android开发学习之路--Kotlin之类及对象
前言1 类和继承1.1 类class MyClass {}1.2 构造函数一个主构造函数以及多个二级构造函数class Person constructor(firstName: String) {}//也可以省略constructor,写成:class Person(firstName: String) {}在@Inject的时候不能省略...
2018-05-01 20:05:14 536
原创 Android开发学习之路--Kotlin之基础语法
前言java代码写久了自然会想换个语言玩一下,而且kotlin作为android的官方语言,总是要学习下的,故这里先来学习下一些基本语法吧,打个小基础,后面才能游刃有余地开发。1 基础语法这里省略了很多一般的语言需要的语法,只简单介绍下开发时要用到的。1.1 定义变量:val: 不可修改的变量,类似finalval a: Int = 4 // 立刻赋值va...
2018-04-09 20:34:39 628
原创 Android开发学习之路--插件化基础动态代理Hook
插件化中需要使用到hook技术,这里先了解下hook技术,以方便继续看代码,既然是代理,那就先来了解下代理设计模式吧。1 代理代理,或者称为 Proxy ,简单理解就是事情我不用去做,由其他人来替我完成。1.1 无代理通过例子来学习下,首先一个接口Human,有两个方法,一个是吃饭,一个上厕所public interface Human { void eat...
2018-02-25 10:18:44 1873
原创 Android开发学习之路--在Android应用中愉快地写C/C++代码
1 前言一直想在android层面写c进程,然后java可以与c进程交互,以前在android源码中想玩就可以直接在init.rc中加上交叉编译好的c进程就可以了,而在ide中,也就是ndk编译后各种权限问题就有点不得而知了。花了几天时间研究实践,也终于实现了。再者这个也可以为后期做进程间通信和守护进程做准备。进程间通过一个中转daemon来处理分发,各个进程交互的接口也可以通过jni暴露给j
2018-02-02 21:16:49 17003
原创 Python学习之路--Flask+MongoDB搭建Restful Server
在开发客户端的时候总是需要网络请求的,之前用过java的,node的,感觉都不是非常的方便。再加上机器学习越来越火,索性就用python来开发下web。1 准备1.1 Flaskpython的主流web框架有django和flask,这里使用了flask。flask是python编写的轻量级 Web 应用框架。1.2 MongoDBMongoDB 是一个基于分布式
2018-01-13 20:25:35 11408 3
原创 Android开发学习之路--APT技术
今年都快要过去了,也已经2个月没有写博客了,主要还是换了新工作,今年都好几家徘徊了,从最初的公司散伙,也快1年了,这么背的17年终于快要结束了。不过庆幸的是加入了目前的公司,一个暂时觉得可以锻炼自己的平台。从嵌入式到app到嵌入式android系统,这次又回到了app,希望这次可以深耕3-5年,能在移动互联网站稳脚跟。两个月的时间忙于熟悉了解公司业务,也少了自己学习的时间,机器学习还没继续,andr
2017-12-13 21:33:46 2245 1
原创 Git学习笔记--常用命令
基础知识用以了解git的内部的一些原理,接下去还是看看我们平时项目中用到的一些基本命令。1 创建仓库创建仓库有两种方式,一种是当前目录下,通过git仓库导入所有的文件夹和文件,另一种是从远程仓库克隆出一个新的镜像仓库来。1.1 初始化新建仓库git init,git add,git status,git commit新建两个文件$ echo "file 1" > a.c$ echo "file 2
2017-10-01 10:46:21 960
原创 Git学习笔记--基础知识
虽然用了很久的git,但是也没有很好地总结下git,都是零零散散的,git其实就是用来代码管理的工具,代码管理主要完成两个功能,一个是备份,一个是代码的合并和分离。 其次android的所有源码都是一个一个git仓库,不过他是用repo来管理的,之后也把repo系统学习下。这里正好有时间可以把这个补上去,还是进入正题吧1 git历史不管怎样都要从历史开始说起,摘抄一段来自维基百科的
2017-09-19 21:54:22 1924
原创 机器学习笔记--Python之Matplotlib
Matplotlib是Python中最常用的可视化工具之一,可以非常方便地创建海量类型地2D图表和一些基本的3D图表。基础线条的属性 线条风格 描述 ‘-‘ 实线 ‘–’ 破折线 ‘:’ 虚线 ‘-.’ 点划线线条标记 标记maker 描述 ‘o’ 圆圈 ‘D’ 菱
2017-09-08 20:36:14 1628
原创 机器学习笔记--python之scipy
学习了numpy和matplotlib,基本上线性代数,概率论的很多计算啊之类的都可以很容易的实现了。此外再学习下scipy这个科学函数库吧。 scipy包包含致力于科学计算中常见问题的各个工具箱。它的不同子模块相应于不同的应用。像插值,积分,优化,图像处理,特殊函数等等。
2017-09-08 08:30:21 6491 2
原创 机器学习笔记--Python之Numpy
基础知识用以了解git的内部的一些原理,接下去还是看看我们平时项目中用到的一些基本命令。1 创建仓库创建仓库有两种方式,一种是当前目录下,通过git仓库导入所有的文件夹和文件,另一种是从远程仓库克隆出一个新的镜像仓库来。1.1 初始化新建仓库git init,git add,git status,git commit新建两个文件$ echo "file 1" > a.c$ echo "file 2
2017-09-05 21:40:13 1259
原创 机器学习笔记--概率与数理统计
终于看到了概率和数理统计了,期间看了机器学习算法感觉比以前明朗了很多,很多公式概念也有了一些新的认识,继续看数学吧,看完数学就再继续整python。1 概率记作P(E),比如掷骰子,每一面的概率就是P(E) = 1/61.1 古典概率通常又叫事前概率,是指当随机事件中各种可能发生的结果及其出现的次数都可以由演绎或外推法得知,而无需经过任何统计试验即可计算各种可能发生结果的概率1.2 条件概率附加在
2017-09-02 16:13:13 1490
原创 机器学习笔记--线性代数
谈到线性代数,只知道什么矩阵啊,向量啊,啥特征值,特征分解啊之类,也就知道些公式怎么用,概念也已经有些许模糊了。这里慢慢整理,吸收吧,毕竟线性代数对于后续的机器学习算法的理解还是非常重要的。1 线性方程组
2017-08-15 21:26:49 1497 2
原创 机器学习笔记--微积分
极限:设f(x)定义在x0的一个可能不包括x0的区间上,我们说当x趋于x0时,f(x)趋于极限L,并记为: \lim_{x_ \to {x_{0}}}f(x)=L极限法则:如果L, M,c,k都是实数,且 \lim_{x_ \to {c}}f(x)=L, \lim_{x_ \to {c}}g(x)= M,那么满足如下法则:和法则 \lim_{x_ \to {c}}(
2017-08-02 21:04:33 3614
原创 AndroidThings学习笔记--pwm控制Led闪烁
既然学习了gpio,那么接下来继续学习pwm吧。1 pwm简单介绍 其实控制led灯,比如呼吸灯(led灯亮1秒,熄灭1秒),用一个线程,然后设置gpio的电平为高,然后睡眠一秒,再设置gpio的电平为低,再睡眠一秒,然后循环往复就行了。通过一个线程一直这么做,那是不是很浪费资源呢?其实这个完全可以通过硬件来实现。先看下图: 如上所示其实Duty就是高电平,Period就是一个周期,P
2017-07-10 22:32:39 4259 2
原创 AndroidThings学习笔记--gpio控制Led和Button
1.了解android things的框架 Android things框架,其实和android原生区别不是非常的大。如下图所示: AndroidThings扩展了一些硬件相关的api,比如外设io的api,以及用户驱动的api。可以通过上层api来调用底层的硬件功能。 还是先来写一个控制灯的例子吧:2. 准备 AndroidThings比较新,所以需要以下的一些工具和api:1.SD
2017-07-09 10:36:33 4429
原创 AndroidThings学习笔记--熟悉RPI3硬件
在学习写代码前,还是先了解下硬件,也就是所谓的树莓派,相信很多人即使没有玩过,也是听过的,世界上最小的电脑。毕竟是玩物联网,玩硬件,不需要太多的硬件知识,但是基础的还是需要了解的。正所谓知其然知其所以然才能更加深入的理解。1.树莓派是什么 树莓派 (为学生计算机编程教育设计的一种卡片式电脑)。 Raspberry Pi(中文名为“树莓派”,简写为RPi,(或者RasPi / RPI)是为学生
2017-06-29 20:58:21 2427 2
原创 AndroidThings学习笔记--初体验
初识Android things的时候还在开发android的app,还记得一帮人总是在午饭后去西湖边的吴山上一览西湖全景,谈谈人生。万事都有其发展,公司也散伙半年了,大家都有了各自的去处,有创业公司的技术大佬,有b轮融资的android架构师,有360的全栈,感觉唯独自己混得最不是样子,来回经历了两个公司,现如今又不敢随便跳,只能先休养生息,算作是自己的无所作为吧。 让我决定学习androi
2017-06-28 21:58:00 5745
原创 简易repo服务器搭建
好久没有写博客了,最近一直被其他的事情忙着,思考了很多,感觉停留在一个水平线上迟迟没法更进一步,虽然依旧学习着新东西,重复着工作,今年已经换了两份工作了,虽然都不是自己非常满意的,但是那又能怎么样呢,还不是要继续工作。有时候觉得之前没有好好考虑自己的职业规划,真的挺为自己感到可笑,虽然很多人都劝告过我要选择一条路,但是心里有cto的路,不广泛涉猎,以后怎么能到达自己的目标呢,即使这个目标有点长远,有
2017-05-21 17:07:12 3038 6
原创 Python学习之路-正则表达式
一转眼2017又过去了1/4了,然后发现学习的东西没有跟上啊,赶紧学习一把,那就继续python的学习吧。正则表达式说白了其实就是用尽量少的代码来匹配字符。常用符号 { . * ? () }.:匹配任意字符,换行符\n除外。*:匹配前一个字符0次或无限次。?:匹配前一个字符0次或1次。.*:贪心算法。.*?:非贪心算法。():括号内的数据作为返回结果返回。常用方法 { findall,
2017-04-08 15:52:31 794
原创 Python学习之路-简单语法
听着薛之谦新出来的歌“高尚”,那就开始学习python吧,然后纪录下,瞬间觉得自己很高尚,^_^ -_-。Python的变量 学过c的同学都知道变量,而且不同语言都有自己的修饰符。C语言有int,float啊等;js有var之类。那么python呢?python貌似有点简单。看一下代码:a = 6b = 8c = a + bprint(c) 是不是很简单,不需要修饰符,
2017-03-18 22:09:42 1026
原创 Python学习之路-历史以及开发环境
一直以来想学习下python,ruby之类的,也一直没有决定要学习哪个,最近在看一个聊天机器人的项目,是基于python的,而对于机器学习和大数据都非常感兴趣,所以决定开始学习Python。Python简单历史相信很多人都知道python,Python的作者,Guido von Rossum,荷兰人。1982年,Guido从阿姆斯特丹大学(University of Amsterdam)获得了数学
2017-03-13 21:58:06 995
原创 路漫漫其修远兮
从嵌入式转行到了Android开发已经一年有余了,不幸的是公司散伙了,也就离开了Android开发的岗位。学习工作了那么多年,感觉自己最有核心价值的还在于Linux了,之前一直想写的Linux子系统的文章,后来都在写android相关的,反过来想想确实需要深入学习下linux内核,把各个子系统都搞搞清楚。 找工作有被认可,也有被拒绝,一直自信的自己受到了些许打击,总觉得已经工作5年的自己,虽
2017-03-08 09:01:11 1677 4
原创 Android开发学习之路--性能优化之常用工具
android性能优化相关的开发工具有很多很多种,这里对如下六个工具做个简单的使用介绍,主要有Android开发者选项,分析具体耗时的Trace view,布局复杂度工具Hierarchy View,应用启动时间,Memory、CPU、Network分析,静态代码检查工具Lint以及程序稳定性monkey。下面就开始学习下这些工具吧。一、Android开发者选项 Andorid开发工具众多,首先就
2017-01-13 17:04:19 3911 3
原创 Android开发学习之路--性能优化之布局优化
Android性能优化方面也有很多文章了,这里就做一个总结,从原理到方法,工具等做一个简单的了解,从而可以慢慢地改变编码风格,从而提高性能。一、Android系统是如何处理UI组件的更新操作的 既然和布局相关,那么我们需要了解Android系统是如何处理UI组件的更新操作的。 1、Android需要把XML布局文件转换成GPU能够识别并绘制的对象。这个操作是在DisplayList的帮助下完
2016-12-31 21:27:09 3347
原创 Android开发学习之路--Java和Js互相调用
随着前端的火热,以前开发的快速,越来越多的native app在其中融合了h5,就拿淘宝就是很多的h5组成的,一旦出现什么节日,他都可以不用通过更新app来实现界面的改变,而且android和ios可以基本上共用一套代码。这不微信也出了小应用,感觉前端有慢慢吞噬客户端的趋势,所以得学下前端的一些知识了,要不然就落后了。对于本文就是学习下js和android的交互了。Java和Js的通用实现 其实a
2016-11-27 15:20:04 1463
原创 Android开发学习之路--基于vitamio的视频播放器(二)
终于把该忙的事情都忙得差不多了,接下来又可以开始good good study,day day up了。在Android开发学习之路–基于vitamio的视频播放器(一)中,主要讲了播放器的界面的简单实现,以及扫描视频文件,获取视频文件的部分信息,还没开始讲解如何使用vitamio这个库,这里就开始讲解下最简单的使用方法吧。1.接口的简单使用 layout界面:<?xml version="1.0
2016-10-22 14:05:06 2093 1
Kotlin+for+Android+Developers-2017-英文版
2018-03-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人