【Android】【奇怪的想法】构建Instant app market

在2016的Google I/O大会上,Instant app这个概念被正式提出。它所倡导的是一种模块化的应用结构,通过浏览器导航可以直接引导Google play去下载一个4M以下的应用包并直接载入运行。而在运行结束后,它将直接被启用,简单来说,它的理念就是use and forget,no storage。 但是因为Instant app需要google play的支持,所以如果google没有那么快重返中国的话,这个设计理念并不会很快在中国的app市场上得到普及(google最近开放了中...

【Android】Android MultiBoot

今天在酷安上看到一个叫 DualBootPatcherAndroid 的软件,通过在root下对rom进行修改并安装之后就可以实现多系统共存和开机引导。这就很有趣了,我们知道一般Android机的Bootloader都是被OEM处理过的,并且一般还会加上锁,而且在Andorid上仅通过Linux层面的系统修改肯定是无法触及到这个部分的,那所谓的多系统引导是怎么完成的呢。在github上找了一下,这个作者是一个国人@github/chenxiaolong,并且已经把整个套件完全开源【...

【linux】Module编译1

前面说到模块是一些内核的组件,因为对系统启动的紧迫性没有那么急所以放在外存中,等系统启动之后由内核调度出来。一般内核加载一个模块的命令为insmod 模块文件名, 卸载模块的命令为rmmod 模块名。编译一个模块需要两个部分,一个是主程序文件,另一个是控制编译的Makefile文件。其实LINUX内核编译的时候也是通过一系列的Makefile调用来构建整个系统的,所以我们参照linux内核中的内核编译makefile编写我们的makefile,内容...

【linux】实验用到的奇怪的函数

用来调整nice值,强制控制了nice值的范围。 asmlinkage long sys_setn(pid_t mypid, int flag, int nicevalue, int __user *prio){ printk(" enter syscall setn"); struct task_struct * task = find_task_by_vpid(mypid); int nicev = task_nice(task); if(flag){ printk(" mode setnice"); if(nicevalue < -40) nicevalue = -40; if(nicevalue > 40) nicevalue = 40; nicev = nicev + nicevalue; if(nicev <...

使用qemu调试Linux内核

在上一篇文章中,我们反复的更换内核需要多次重启,而且如果内核版本与我们的软件时间差别太大很容易出现不兼容的问题。还有很多同学觉得make module这步过于耗时。那么如果能编译一个不需要module而且可以直接启动的内核岂不美哉。那么我们可以采用虚拟机启动的方式来调试我们的内核。 0x00 需求准备 linux源码,busybox源码 0x01 虚拟机?QEMU 此虚拟机非彼虚拟机,这个qemu虚拟机是一个开源的虚拟平台,一般用于各种系...

编译linux内核以及添加系统调用的全过程

基础环境: Ubuntu 16.04/ArchLinux 等发行版 下载地址: https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/linux-4.9.tar.xz #kernel 4.9 https://mirror.tuna.tsinghua.edu.cn/kernel/v3.0/linux-3.1.tar.xz #kernel 3.1 https://mirror.tuna.tsinghua.edu.cn/kernel/ #其他版本国内源 Tips: 0x0 以下编译过程以kernel 4.9rc版本为例,使用环境 Ubuntu 16.04 LTS 0x1 源码可放置在任...

【Android】自己编译一个 Recovery!(一)

说到编译Recovery 是不是觉得这是XDA上那些大神干的事,帮我们适配好机型我们照着教程刷进去就好了。但是,作为Geek,就此止步未免太WEAK了,我们应该学会如何做一个自己的Recovery。 首先是环境准备,至少要有一个Linux(最好是Ubuntu 16.04 因为AOSP的主线分支是用这个环境开发的,用这个可以最大程度地减少依赖导致的编译错误),然后简单的敲几行命令就可以让它开始编译了,这里可以参照教程编译AOSP源码的全过程,至于里面...

【Android】Hack your Android Device!

前面我们说到的都是一些比较简单的Hack手段,如果要完全掌握你的设备要怎么办?这里就会有人说了,当然是ROOT了。对,今天我就来讲一讲怎么从一台安卓手机上获得ROOT权限。怕是有人要说了,ROOT谁不会啊,用一手一键ROOT工具,一秒钟就ROOT了好么!或者嫌这个比较low,我甚至还会用Recovery刷一个ROOT包获取root呢。这有什么好讲的!但是,AS A GEEKER 用这些东西还是很低端好么,要干我们就自己干,区区root还需要等别人适配...

【git】把你的信息提交到仓库里

开始本来好好排版了一个MarkDown的,结果浏览器自己刷新没有保存,气得我就不想管那么多了直接写吧。 登录到coding.net,没有注册先注册,这个就不用说了 打开群通知里给的链接,然后点屏幕里的fork按钮,你就可以在自己的仓库里找到这个同名的项目了 然后在你自己的GeeKlub仓库里找到一个 https://git.coding.net/[yourid]/GeeKlub.git 的链接 然后右键 open git bash 输入这样的命令 你就会在现在的目录里看到一个名字叫Gee...