自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(339)
  • 资源 (2)
  • 收藏
  • 关注

原创 docker中ptrace失败的解决方法

在docker容器中使用ptrace会报Operation not permitted的错误,需要在docker run 命令中加上参数–cap-add=SYS_PTRACE

2020-09-07 14:33:48 2304

原创 Linux下移除和添加pci设备

移除pci设备echo 1 > /sys/bus/pci/devices/0001:01:00.0/remove重新添加pci设备echo 1 >/sys/bus/pci/rescan

2020-09-04 16:15:27 4968

原创 解决media.codec: libminijail: blocked syscall:xxxx问题

在Android中使用软编码时遇到了下面的错误:E/media.codec: libminijail: blocked syscall: geteuid32原因是Android系统使用seccomp机制限制了mediacodec执行某些系统调用,我们可以通过修改/system/etc/seccomp_policy/mediacodec-seccomp.policy将geteuid32设置为允许执行。...

2020-09-04 16:11:25 1705 1

原创 Git换行符问题

不同系统使用的换行符不一样,UNIX/Linux ,Mac OS使用 0x0A(LF)作为换行符,Windows 使用 0x0D0A(CRLF) 作为换行符。在跨平台开发时,换行符发生改变,Git 会认为整个文件被修改,这就造成我们没法diff,我们可以通过配置autocrlf用于在提交和检出时自动转换换行符。# 提交时转换为LF,检出时转换为CRLFgit config --global core.autocrlf true# 提交时转换为LF,检出时不转换git config --globa

2020-09-04 15:24:31 505

原创 在xorg.conf中使用BusID指定device的局限性

在xorg.conf中使用BusID指定device时,有可能出现找不到device的情况,原因是BusID格式为domain????device:function,而xorg.conf中的BusID字段格式为bus:device:function,不能指定domain这个时候可以使用ChipID来指定device,例如下面显卡的ChipID为0x63c3# inxi -GxxGraphics: Card-1: xxxxxxx bus-ID: 0000:01:00.0 chip

2020-09-04 14:46:47 1170

原创 Linux下CPU和GPU频率调整

查看cpufreq模式cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor修改cpufreq模式echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor查看gpu性能级别cat /sys/class/drm/card*/device/power_dpm_force_performance_level修改gpu性能级别echo hi

2020-09-04 14:11:15 4107

原创 使用JEB调试Android App

1. 开发App我们首先开发一个简单的App,输入123456就提示成功,否则提示失败。public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(saved...

2020-01-02 00:55:30 2132 2

原创 Java中RSAPublicKey在不同平台的差异性

最近在逆向某Android App的时候复制了里面一段Java写的RSA解密代码,把它放在Windows上执行,结果发现解密失败,刚开始以为是密文数据或者公钥数据弄错了,调试了下发现密文数据或者公钥数据都没问题,问题发生在通过公钥数据生成公钥,在Window上生成的公钥是Sun RSA public key,在Android上生成的公钥是OpenSSLRSAPublicKey,原因可能和Jdk版本...

2020-01-01 21:48:58 2231

原创 简单封装UnityWebRequest

WebProviderusing System;using System.Collections;using UnityEngine;using UnityEngine.Networking;using Newtonsoft.Json;public class WebProvider:MonoBehaviour{ private static readonly JsonSe...

2019-12-31 18:45:29 586

原创 使用compileOnly依赖jar包,却仍然参与打包的问题

1.删除implementation fileTree(dir: ‘libs’, include: [’*.jar’])2.使用compileOnly引入编译时需要但不打包的jar

2019-12-30 17:34:45 3290 2

原创 解决Unity导入aar或jar出现的Program type already present: com.xx.BuildConfig问题

原因:当Unity导入的aar或jar包名和项目包名一样的话,BuildConfig会出现冲突。解决方法:在aar/jar的build.gradle中添加下面的代码禁止生成BuildConfig即可。afterEvaluate { generateReleaseBuildConfig.enabled = false generateDebugBuildConfig.enable...

2019-12-30 17:29:47 5119 1

原创 在Linux上部署程序

nohup &程序在Linux上运行时,如果关闭session,程序会因为收到SIGHUP信号结束,使用nohup可以免疫该信号。如果使用Ctrl+C,程序会因为收到SIGINT信号结束,使用&可以免疫该信号。nohup和&常常一起使用,这个时候会同时免疫SIGHUP和SIGINT信号:nohup command &systemdsystemd是Linu...

2019-12-29 21:09:59 496

原创 Golang学习笔记-测试

Go的标准库提供了几个与测试有关的库,其中最主要的是testing包,testing包需要与go test命令以及源代码中所有以_test.go后缀结尾的测试文件一同使用,一般测试文件的名字都会与被测试源码文件的名字相对应,例如main.go的测试文件名为mian_test.go。功能测试为了测试源代码,我们需要在测试文件中创建具有以下格式的测试函数,其中Xxx首字符必须是大写的英文字母,在测...

2019-12-29 13:49:21 211

原创 Golang学习笔记-Context

有时候一个功能可能涉及多个goroutine的调用,当该功能中途需要取消时,需要通知其它goroutine,这个时候Context就可以派上用场了,Context主要用来处理退出通知以及上下文数据传递问题。Context之间被设计为父子关系,要创建Context,首先要创建根节点,通常是context.Background(),该Context不能被取消,没有值,也没有过期时间。有了根节点后,...

2019-12-27 23:06:09 230

原创 Golang学习笔记-定时器

Timer使用time.NewTimer()创建Timer后,经过其指定的时间后,它会向其管道发送当前时间。time.After()也是创建Timer,不过返回值不是Timer而是其管道。package mainimport ( "fmt" "sync" "time")func main(){ //5秒后将当前时间发送给管道 timer:=time.NewTimer(t...

2019-12-27 01:04:43 216

原创 使用Gson解析含有动态key的Json

使用Gson解析Json时,有时候会遇到key不是固定的情况,这个时候可以把它当做是一个Map。{ "students":{ "101":{ "name":"xiao hong", "age":10 }, "102":{ "name":"xiao ming", ...

2019-12-25 22:32:23 1583 1

原创 Unity接入友盟遇到的坑

现象:一切正常,但后台无数据,查看日志没有发现send log:succeed。原因:只添加了android.permission.INTERNET权限,没有添加android.permission.ACCESS_NETWORK_STATE,android.permission.ACCESS_WIFI_STATE,android.permission.READ_PHONE_STATE等权限。...

2019-12-25 14:56:41 731

原创 Golang学习笔记-反射

反射让我们可以在运行时获取对象的类型信息,比如查看一个结构体有多少字段,查看函数的入参类型和返回值类型等。Go提供了reflect.TypeOf()和reflect.ValueOf获取任意对象的reflect.Value和reflect.Type,其中reflect.Type是一个接口类型,该接口提供了很多方法让我们获取类型信息,而reflect.Value是一个结构体,它提供了很多方法让我们获...

2019-12-18 23:50:30 233

原创 Golang学习笔记-sync

Mutexsync.Mutex为互斥锁,同一时间只能有一个goroutine获得互斥锁。使用Lock()加锁,Unlock()解锁,加锁前不能解锁,加锁后不能继续加锁。已经锁定的 Mutex 并不与特定的 goroutine 相关联,可以利用一个 goroutine 对其加锁,再利用其他 goroutine 对其解锁。适用于同一时间只能有一个goroutine访问资源的场景。下面的代...

2019-12-17 23:24:26 259

原创 数学学习笔记-三角函数

圆的一周的弧度数为2π,360°角=2π弧度,1°为π/180弧度。在下面的直角三角形中,角A的对边为正对着的那个边a,角A的邻边为另外一条直角边b,角A的斜边为斜边c。​​​​其中正弦sin(A)=对边/斜边余弦cos(A)=邻边/斜边正切tan(A)=对边/邻边正割csc(A)=1/sin(A)余割sec(A)=1/cos(A)余切cot(A)=1/tan(A)...

2019-12-15 22:27:59 513

原创 数学学习笔记-函数

函数是将一个对象转换为另外一个对象的规则,例如f(x)=x2f(x)=x^2f(x)=x2,其中x的取值被称为输入,结果被称为输出。所有输入来自称为定义域的集合,所有输出来自称为上域的集合。假设现在有两个函数fff,ggg,这两个函数的规则一样,且函数ggg的定义域小于fff的定义域,我们可以说函数ggg是由限制fff的定义域产生的。所有可能的输出所组成的集合称为值域,例如f(x)=x2f(...

2019-12-15 22:09:28 242

原创 Golang学习笔记-zerolog

zerolog是一个高性能,支持日志等级,钩子的结构化日志库。log的Print()和Printf()方法默认输出到os.Stderr,默认日志等级为debug,用法和官方log库相同。package mainimport ( "github.com/rs/zerolog" "github.com/rs/zerolog/log")func main(){ zerolog.Tim...

2019-12-15 17:36:32 2117

原创 Golang学习笔记-flag

使用flag包可以用来解析命令行参数,flag.TypeVar()用于定义参数并绑定到指定变量,flag.Type()用于定义参数并将参数绑定到返回的指针,定义时可以指定参数名称,默认值,使用说明。定义完参数后调用flag.Parse()进行解析,flag.PrintDefaults()用于打印所有已定义参数的默认值和使用说明。命令行参数的语法有如下三种形式,其中前面的减号可以是两个,整数类型可...

2019-12-15 00:10:56 335

原创 Golang学习笔记-go mod

环境变量设置环境变量GO111MODULE可设置三种值:on,off,auto,off表示使用GOPATH模式,on表示开启模块支持,根据go.mod下载和查找依赖,auto(默认值)表示根据当前目录启用或禁用模块支持,仅当当前目录位于$GOPATH/src之外并且其本身包含go.mod文件或位于包含go.mod文件的目录下时,才启用模块支持。环境变量GOPROXY可设置下载依赖时使用的代理,...

2019-10-05 21:26:00 478

原创 帧同步手游设计要点总结

通信协议的选择由于tcp在网络不稳定时延迟严重,所以我们需要udp通信。由于udp的不可靠的特点,前期我们可以使用 使用别人封装好的可靠的udp协议,例如使用很广的kcp协议。如果发现kcp仍然不能满足我们的实时性要求,我们可以直接使用udp协议,自己控制丢包,乱序问题,例如每次发包都带上前两帧的数据以保证最大程度的低延迟,每次都发送两次udp包等。据说kcp+fce(前向纠错码)效果很好,...

2019-10-05 19:46:55 377 1

原创 正交相机与透视相机的区别

正交,三只羊一样大透视,三只羊大小不一样

2019-10-05 19:45:07 5354 2

原创 内存对齐的作用

为什么需要对齐CPU读取内存粒度一般是2,4,8,16字节,当CPU读取非对齐内存时,有可能需要两次访问,而对齐内存只需要一次。假设下面的结构体是按1字节对齐,CPU读取内存粒度为4,那么当访问数据成员c时,CPU需要先读取前4个字节的内容,然后再读取后4字节的内容。struct TestStruct { char a; short b; short c;};不是所有的硬...

2019-10-04 22:11:06 387

原创 C++ shared_mutex

C++ sharedmutex

2019-10-04 16:28:19 11312

原创 Python学习笔记-函数

Python中函数以def关键词开头,后接函数标识符名称,圆括号括起来的参数列表,冒号。函数体内的return如果不带表达式或者没有return相当于返回None。函数体最前面可以使用字符串描述函数功能。def add(n1,n2): "这是一个加法函数" return n1+n2def add(n1,n2): """ 这是一个加法函数 :param ...

2019-09-16 22:22:59 170

原创 Python学习笔记-迭代器与生成器

迭代器时访问集合元素的一种方式,迭代器对象从集合的第一个元素开始访问,直到所有元素被访问,迭代器只能往前不会后退。list=[1,2,3,4]it=iter(list)print(next(it)) # 1print(next(it)) # 2通过迭代器对象遍历:list=[1,2,3,4]it=iter(list)for value in it: print(val...

2019-09-15 15:24:46 190

原创 Python学习笔记-条件语句,循环语句

if语句Python中没有switch语句,条件语句只能用if:value=100if value>90: print("A")elif value>80: print("B")elif value>60: print("C")else: print("D")while语句while循环中只有一条语句时,你可以将该语句与while...

2019-09-12 16:00:00 170

原创 Python学习笔记-集合和字典

Python一共有六个基本数据类型,其中不可变类型有三种:Number(数字),String(字符串),Tuple(元组),可变数据类型有三种:List(列表),Dictionary(字典),Set(集合)。数字Python支持整型(Int),浮点型(float) ,复数(complex),True 和 False 定义成关键字了,它们的值是 1 和 0,可以和数字相加。Python中的整型不...

2019-09-11 17:35:01 337

原创 Python学习笔记-列表和元组

列表写在方括号里,元素之间用逗号隔开,列表中元素的类型可以不相同。和其它序列一样(字符串,元组),列表可以索引,切片,加,乘,检查成员。value=["hello",1024,3.14,True]print(value)#['hello', 1024, 3.14, True]print(value[1:-1])#[1024, 3.14]print(value*2)#['hello', 10...

2019-09-11 16:59:53 187

原创 Git学习笔记-分支

Git学习笔记-分支

2019-09-11 16:20:05 883

原创 Git学习笔记-标签

Git学习笔记-标签

2019-09-10 18:18:13 165

原创 Python学习笔记-字符串

在Python中,字符串用单引号或双引号括起来,同时使用反斜杠 \ 转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串。print("hello world")print('hello world\n')print(r"hello world\n")hello worldhello worldhello world\n字符串中可以使用反斜杠作...

2019-09-10 17:41:12 195

原创 Python学习笔记-数字

Python支持整型(Int),浮点型(float) ,复数(complex),True 和 False 定义成关键字了,它们的值是 1 和 0,可以和数字相加。Python中的整型不限制大小。复数由实数部分和虚数部分构成,可以用a + bj或complex(a,b)表示, 复数的实部a和虚部b都是浮点型。类型转换使用int(x)将x转换为一个整型,float(x)将x转换为一个浮点数。pr...

2019-09-10 17:33:47 241

原创 Git学习笔记-基础操作

获取Git仓库你可以使用git init新建Git仓库对现有项目进行管理,或者使用git clone克隆一个已存在的Git仓库,克隆时可以自定义本地仓库的名字。git initgit add *.c$ git clone https://github.com/xiongya000/AndroidSignTool.git apktoolCloning into 'apktool'......

2019-09-10 11:06:05 269

原创 Git学习笔记-基础知识

git的使用

2019-09-09 16:32:17 169

原创 Python学习笔记-基础知识

注释Python中单行注释以#开头,多行注释可以用多个#号,或者三个单引号或双引号。#我是注释#我也是注释"""我也是注释"""'''我也是注释'''行与缩进Python使用缩进空格数来识别代码块而不是大括号,同一个代码块的语句必须包含相同的缩进空格数。if True: print("hello world")else: print("hello ya"...

2019-09-09 14:47:29 197

输入法注入之delphi版

输入法注入之delphi版。。。。。。。。。

2010-08-25

delphi小键盘控件

模仿QQ小键盘写的一个小键盘控件,可以自定义小键盘的各种颜色,大小,位置,字体,还可以使用渐变图像代替颜色,使按键更加好看!

2010-05-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除