![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习笔记
文章平均质量分 63
wishxiaozhu
这个作者很懒,什么都没留下…
展开
-
Android Hook笔记
一、Hook类型Hook可分为inlineHook、gotHook等二、详解2.1 inlineHook代表:Frida在C层的Hook原理:修改方法的指令,将第一条指令改为:jump xxx2.2 gotHook代表:爱奇艺的开源XHook原理:so库加载完成后,会生成一张表,例如libc.so,加载完成后,生成的表为方法名、方法地址的对应关系,Hook原理即修改该对应关系表,将要Hook的方法对应的地址改为自己的地址。2.3 Native化Hook代表:Xpose原创 2020-09-08 17:33:12 · 262 阅读 · 0 评论 -
linux服务器后台运行Python程序
后台运行python程序命令:nohup python -u test.py > test.log 2>&1 &其中,最后一个“&”表示后台运行程序“nohup” 表示程序不被挂起“python”表示执行python代码“-u”表示不启用缓存,实时输出打印信息到日志文件(如果不加-u,则会导致日志文件不会实时刷新代码中的print函数的信息)...原创 2020-05-07 15:15:36 · 573 阅读 · 0 评论 -
AS gradle版本升级3.3.2-3.5.2
一、问题Android Studio gradle版本升级至3.5.2之后,发现strcmp函数报错,该函数没有做判空处理,比较对象是当前APP的签名MD5值。后来发现使用绿色箭头run直接安装至手机时,会报错,而使用assemble打包apk后,使用adb安装,则不会报错,说明在使用run安装时,该apk没有进行签名。二、解决对strcmp方法做判空处理即可。注意:使用...原创 2020-02-20 17:43:06 · 953 阅读 · 0 评论 -
IDEA插件使用
1、maven help插件:检查当前依赖库是否有冲突。原创 2019-12-06 18:17:01 · 94 阅读 · 0 评论 -
git学习笔记
1、push命令:git push origin branch_name若此时远程仓库有提交,本地也有提交,则会报错,需先git pull,再push;若远程提交和本地提交修改了同一个文件,则涉及到提交谁覆盖谁的问题,需执行:git pull --rebase origin branch_name这条指令的意思是把远程仓库中的更新合并到本地库中,--rebase的作用是取消掉本地库...原创 2019-12-03 17:48:32 · 103 阅读 · 0 评论 -
Android手机cpu架构详解
最近学习IDA动态调试so文件,过程中必须保证android_server和IDA版本和位数一致,也涉及手机运行cpu的位数,即32位还是64位,也因此牵涉到手机的cpu架构,简单做下总结。查看手机cpu架构命令:adb shellsu//查看cpu信息cat /proc/cpuinfo序号 cpu架构 说明 1 AArch64 ARM64架构 ...原创 2019-11-27 15:43:24 · 2005 阅读 · 0 评论 -
获取服务器外网ip
curl ipinfo.io/ip原创 2019-11-22 19:01:52 · 348 阅读 · 0 评论 -
sql笔记
一、简介SQL 是用于访问和处理数据库的标准的计算机语言。数据库类型包括:MySQL、SQL Server、Access、Oracle、Sybase、DB2 等等。二、基础用法1、linux中连接mysql,访问权限查询和设置//linux中连接mysqlmysql -h host -P port -u user_name -p password//切换数据库use db_...原创 2019-11-19 10:45:54 · 175 阅读 · 0 评论 -
Android studio中build.gradle文件格式解析_未完待续
与Eclipse不同,Android Studio是采用Gradle来构建项目的。Gradle 是一个非常先进强大的项目构建工具,它使用了一种基于 Groovy 领域的特定语言(DSL)来声明项目设置,摒弃了基于 XML(如 Ant 和 Maven)的各种繁琐的配置,接下来我们一起探讨 Android Studio 中强大的项目构建工具 Gradle。一、简介Android...原创 2019-11-13 11:27:39 · 600 阅读 · 0 评论 -
C语言 条件编译
一、内容if #if #ifdef #ifndef #if defined #if !defined二、ifif是C语言中的关键字,它根据表达式的计算结果来决定是否执行该分支的语句,它的每个分支都是编译了的。#define A 0 //把A定义为0if (A > 1) printf("A > 1"); //编译器编译该语句,但因为A == 0...原创 2019-11-12 17:03:07 · 252 阅读 · 0 评论 -
Mysql如何避免插入重复数据
一、问题需求:向mysql数据库中插入数据时,首先判断库中是否有该数据,若有,则放弃,若无,则插入。Data data = dataMapper.getByDataId(dataId);if(data == null){ dataMapper.insert(data1);}问题:并发请求时存在以下问题:1、A线程查询数据data1,发现无,则插入data1;2、A...原创 2019-10-29 15:38:34 · 475 阅读 · 0 评论 -
SpringBoot学习笔记之_Mysql和Redis事务
一、Mysql和Redis报错机制当在mysql中添加已经存在的数据时:dataRepository.save(data);即报错:Duplicate entry 'data' for key 'xxx'。当在redis中添加已经存在的数据时:redisService.setValue(data);不会添加内容,也不会报错。二、给mysql和redis数据操作添加...原创 2019-10-22 11:53:22 · 716 阅读 · 0 评论 -
https通信流程
一、SSL协议简介随着网络通信和电子商务等服务和资源进入人们的日常生活,人们在享受网络带来的便利的同时,面临着各种各样的安全隐患。 我们经常接触到的就有邮箱登录,网上购物,电子银行等等,大部分均基于 HTTP 协议。 但HTTP[RFC2616]最初应用于INTERNET时没有使用密码,安全性很低,因此随着人们对安全性需求的提高,为用户提供面向通道安全的HTTPS协议应运而生。 HTT...原创 2018-11-22 16:49:29 · 788 阅读 · 0 评论