- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 Android coredomain 如何使用自定义的 property type?
背景Android 8.1 中引入了 Project Treble 架构,用于将 vendor 下的驱动和 Android system 系统分开,Android system 可以单独升级。SELinux 同样分成了两部分,位于 /system/etc/selinux 下的 platform 部分和位于 /vendor/etc/selinux 下的 vendor 部分。本文分析 Android...
2020-04-09 09:56:58
5582
4
原创 Android CTS中neverallow规则生成过程
CTS里面SELinux相关测试中neverallow测试项占绝大多数,Android系统开发者都应该知道,在修改sepolicy时,需要确保不能违反这些neverallow规则,不然会过不了CTS。CTS中nerverallow测试都是在SELinuxNeverallowRulesTest.java文件中,并且从AOSP代码中发现该文件不是人工提交的,而是通过python脚本生成的,为了以后更好...
2019-12-29 16:35:14
2469
原创 Git自动化合并多个Commit
文章目录git rebase逻辑git editor的修改处理git-rebase-todo文件Python实现当我们有多个commit或者从开源处拿到多个commit时,想合成一个commit,并保留每个commit的message时,大家都知道用"git rebase -i"可以解决,但这种方式需要手动进行操作,假如我们要处理的比较多,就想要自动化来处理,下面介绍下怎么自动化处理。git ...
2019-04-29 09:23:36
919
1
原创 digital envelope routines:EVP_DecryptFinal_ex:wrong final block length问题原因分析
digital envelope routines:EVP_DecryptFinal_ex:wrong final block length问题原因结论分析最近在做一个项目时,使用openssl中的aes进行加密和解密,使用相同的密钥但是出现下面的错误日志:139868329146176:error:0606506D:digital envelope routines:EVP_DecryptF...
2019-04-21 15:42:35
18286
1
原创 找茬游戏
找茬游戏最近在整理硬盘时,看到了几年前写的 美女找茬工具,一时兴起看下现在是否能用,试了下,完全用不了了,界面和以前的界面一样啊,图片的偏移应该没有变,按道理应该能用,猜想可能是图片做了处理。就花了点时间看了下,果然发现了问题,现在和大家分享下。原理找茬游戏是给出两种图片,图片中只有几处地方不同,快速找到不同地方的游戏。原理是通过程序拿到两种图片,然后逐像素对比来找到不同地方。图片获取hMainW
2017-09-25 21:22:18
1327
原创 Python error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat)解决方案
error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it … 解决方案python通过pip或者源码来安装某些模块时,这些模块包含有c/c++源码,安装过程会调用本地的编译器编译这些代码。在Windows平台下我安装时候的错误消息是“error: Microsoft Visual C++ 9.
2016-02-24 19:10:50
35175
1
原创 3-Longest Substring Without Repeating Characters @LeetCode
3-Longest Substring Without Repeating Characters @LeetCode题目题目中得到的信息有:一段字符串找出不重复子串的最大长度,只需要长度信息。思路肯定是需要将字符串遍历一遍,在遍历过程中就需要查找前面字符串是否出现该字符,因此这是该算法的重点。若没找到,长度加一,若找到了,长度会从前面该字符位置+1处开始算起。下面以图来说明:假如我们以begin为子
2016-01-15 23:10:07
523
原创 2-Add Two Numbers @LeetCode
2-Add Two Numbers @LeetCode题目思路题目中得到的信息有:这是两个非负数,每位分别保存在链表的一个结点上;逆序保存,从低位到高位依次。一般整数的相加都是从低往高进行,和保存的顺序一致,因此一次遍历就可完成,可以看出这道题目不难。C算法/** * Definition for singly-linked list. * struct ListNode { *
2016-01-13 21:08:59
473
原创 1-Two Sum @LeetCode
1-Two Sum题目思路题目中得到的信息有:都是整数,并且可正可负,也可一个值包含多个;只有一个正确的结果。方法一:最直接的思路就是两重循环遍历,时间复杂度是O(n^2),这样肯定不行。方法二:由于是乱序的,1)可以先排序,2)然后再遍历一遍就可以找到结果。排序的话不能再原来的基础上进行,这样就破坏了下标顺序,因此需要申请额外的空间,用于保存他们的索引,然后再该空间上进行排序。时间复杂度是[
2016-01-13 00:00:53
489
原创 LEB128相关知识
LEB128相关知识介绍LEB128(little endian base 128)是一种变长的整数压缩编码形式,它是出自于DWARF debug file format。在Android的Dalvik Executable format中使用该编码用于表示32位整数。由于32位整数占用固定的4个字节,可能大多数整数并不需要4个字节,最高几个字节可能为0(正数)或者为1(负数),该编码就是不保存最高
2016-01-07 14:08:09
4344
原创 类似py2exe软件真的能保护python源码吗
类似py2exe软件真的能保护python源码吗背景最近写了个工具用于对项目中C/C++文件的字符串常量进行自动化加密处理,用python写的,工具效果不错,所以打算在公司内部推广。为了防止代码泄露就考虑不采用直接给源码方式,而python二进制脚本pyc和pyo,虽然提供的不是源码,但可以通过uncompyle2直接得到源码。通过网上资料发现有Windows下的py2exe、Mac下的py2app
2015-11-29 15:52:24
10228
1
原创 在Win10上使用Visual Studio2015的Android模拟器
在Win10上使用Visual Studio2015的Android模拟器
2015-08-16 16:06:10
9838
原创 linux下insmod模块出现“Invalid parameters"
在编译一个模块时,会出现WARNING:“函数名” undefined!,这 说明该模块所依赖的模块还没有加载进内核,需要先加载所依赖的模块。当加载依赖模块后,使用insmod会出现“Invalid parameters“,dmesg | tail 查看给出的具体信息,会发现是" no symbol version for 之前的函数名",说明该模块找不到所依赖的函数解决方
2015-03-19 16:48:36
17385
原创 在干净的ubuntu 14.10上编译Qemu2.2.0的过程
下载Qemu的源代码从官网http://wiki.qemu.org/Main_Page 中下载最新的源代码,目前是2.2.0.安装依赖库和编译编译过程分两步1. ./configure 2. make,当然可以通过配置只编译特定平台代码,这样速度会快很多,但所依赖的库都是差不多的,我编译时所有平台,这样方便以后的使用。由于是新安装的ubuntu,肯定会缺少很多必要的
2015-03-09 15:12:15
8610
原创 用于C/C++统计时间
/* * DESCRIPTION: * * WQ_PERF_*** must be used in pairs. Example: WQ_PERF_BEGIN() ... ... WQ_PERF_END() * * WQ_PERF_BEGIN() and WQ_PERF_END() is used calculate the time between them. *
2014-11-06 11:04:41
808
原创 Windows下struct和union字节对齐设置以及大小的确定(一 简介和结构体大小的确定)
在windows下设置字节对齐大小的方式,目前我了解有三种:1.
2014-04-30 10:59:52
3031
原创 C++类中一个构造函数调用另一个构造函数
class A{ int a; int b; int c; public: A(int aa, int bb): a(aa), b(bb), c(0) {cout << "aa bb"<<endl;} A(int aa, int bb, int cc) virtual ~A(){} void print(int aa, int bb, int cc) { cout
2014-04-11 16:21:19
12445
原创 用汇编语言角度来理解C语言的一些问题
在汇编的世界里,整数的存在和表示是没有有符号数和无符号数之分的,都是用数的补码表示,有无符号的计算是靠指令来进行确定。如JA/JB是用于无符号数的跳转指令,而JG/JL则是用于有符号数的指令。汇编中的指令是
2014-03-26 15:48:20
1125
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人