Linux系统开发
Linux系统开发会用到什么?C语言基础Linux系统内核是C语言编写的,所以,Linux系统开发可能会和很多系统API打交道,需要掌握C语言基础,C语言是Linux最基础的开发语言,当然也可以用C++。一般做与系统交互的模块时,用C语言多一些,做上层业务应用时,为了开发效率,会使用C++来开发,毕竟C++是面向对象的开发语言,适合大型项目的开发,方便模块化,代码复用率高。
shell脚本shell脚本,也就是使用Linux系统下的一系列命令,有机组合在一起,而完成预期的功能。Linux设计思想是“小即是美”,这一思想是shell脚本编程的完美体现。每个命令只完成一种功能,不同的命令组合在一起,却可以实现复杂的功能。做Linux下开发,免不了要与脚本打交道(比如测试、分析数据等)。
学会使用MakefileMakefile是Linux程序开发时必不可少的编译管理脚本,这个里面东西也很多,不过刚开始可以简单看看,够用就行,随着项目的越做越大,代码文件与目录越来越复杂,这时候的Makefile可能就会复杂一些,牵扯到不同目录的Makefile的相互调用或者协调。比如嵌入式系统中,一般不止一 ...
ReverseTool
ReverseTool逆向工具集合
Awesome-Hacking
Java & Jar (Android)
jd-gui jar包浏览工具,对应的IDE插件,JD-Eclipse/JD-IntelliJ
Luyten An Open Source Java Decompiler Gui for Procyon
jadx-gui 直接反编译apk
Apktool apk的反编译,编译工具(smali格式)
dex2jar dex转为jar工具
AXMLPrinter XML浏览工具
androguard 使用DAD作为反编译器,可以分析恶意软件的可视化软件
Enjarify Google官方逆向分析工具(Dalvik字节码 -> Java),需python环境
ClassyShark Google官方dex/apk/jar/class/aar浏览工具
APK Analyzer(AndroidStudio 2.2+) Google官方APK分析工具, making-the-most-of-t ...
PyQt教程
第1章 PyQt5开发环境搭建和配置PyQt5工具可以快速实现简单的界面开发,包括界面设计、布局管理以及业务逻辑实现(信号与槽)。简单说就是使用PyQt5工具可以快速画一个控件摆放整齐、界面整洁有序、布局合理的界面。
本文内容本文主要第1节 PyQt5环境搭建和配置。主要内容包括:
[!TIP]
(1)工具版本的选择,包括PyQt版本和Python软件版本。
(2)Python、PyQt5以及Qt Designer工具的安装。QtDesigner是PyQt的可视化GUI设置工具。
(3)PyCharm上配置Qt Designer和PyUIC工具。
选择PyQt原因(1)PyQt可以通过拖拽实现界面开发,而不是只能代码实现。这样界面实现效率就高多了。
(2)控件丰富。支持跨平台。
(3)方便打包发布。可以利用Pyinstaller打包成二进制文件。在未安装Python软件电脑上运行。
选择Python3和PyQt5原因PyQt官网提供了PyQt4和PyQt5两种主流版本。PyQt5不兼容PyQt4。建议选择PyQt5原因:
(1)官方对PyQt4不再有重大更新和维护。
(2)PyQt ...
tee站点收藏
TEE安全系统SMC深入理解Linux设备驱动基础02:Linux内核模块用户态和内核态的区别SM2算法第三篇:实现SM2秘钥交换协议的算法流程
远程证明方法的研究综述
可信计算理论与技术–远程证明技术
站点收藏
开源图床
云图床图床:云图床
教程类:
菜鸟教程
工具类:
excalidraw 在线画图
UNIX 时间戳转换
代码高亮转换 粘贴代码于word等
chat-gpt
文档转换工具
文本符号 文字图标
icon转换
高项
腾讯课堂
小鹅通
其他
其他
其他
ubuntu资料整理
资源下载
ubuntu系统下载
linux内核下载
资源包下载
shell命令记录
shell命令记录1. shell注释单行注释:# ;如果想在代码行结尾注释,则在键入 ‘#’ 前,先键入空格键。
多行注释:
:<<!
语句块
!
2、输出重定向
3、当前文件所在路径dirname $0
shell教程
摘自
一、什么是shell?shell是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
为什么要学习和使用shell?Shell属于内置的脚本,程序开发的效率非常高,依赖于功能强大的命令可以迅速地完成开发任务(批处理)语法简单,代码写起来比较轻松,简单易学
二、shell的分类cat /etc/shells
在linux中有很多类型的shell,不同的shell具备不同的功能,shell还决定了脚本中函数的语法,Linux中默认的shell是/ b a s h / b a s h ( 重 点 ),流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特点以及用途。
编写规范:
#!/bin/bash [指定告知系统当前这个脚本要使用的shell解释器]
Shell相关指令
文件命名规范:
文件名.sh .sh是linux下bash shell 的默认 ...
密码学
1.证书及密钥的概念数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。
最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。数字证书还有一个重要的特征就是只在特定的时间段内有效。数字证书是一种权威性的电子文档,可以由权威公正的第三方机构,即CA(例如中国各地方的CA公司)中心签发的证书,也可以由企业级CA系统进行签发。
一般证书分有三类,根证书、服务器证书和客户端证书。根证书,是生成服务器证书和客户端证书的基础,是信任的源头,也可以叫自签发证书,即CA证书。服务器证书,由根证书签发,配置在服务器上的证书。客户端证书,由根证书签发,配置在服务器上,并发送给客户,让客户安装在浏览器里的证书。
对称加密:例如平时给文件加密,加密和解密用的同一密码,即对称加密。
非对称加密:加密时用一个密码,而解锁时需要用另一个密码,即非对称加密。目前很流行的非对称加密算法是RSA算法,它是基于一个十分简单的数论事实:将两个大素数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。
公钥:公钥是公开的,用来传输对方的随机密钥,只有通过私 ...
C++基础入门
C++基础入门1 C++初识1.1 第一个C++程序编写一个C++程序总共分为4个步骤
创建项目
创建文件
编写代码
运行程序
1.1.1 创建项目 Visual Studio是我们用来编写C++程序的主要工具,我们先将它打开
1.1.2 创建文件右键源文件,选择添加->新建项
给C++文件起个名称,然后点击添加即可。
1.1.3 编写代码1234567891011#include<iostream>using namespace std;int main() { cout << "Hello world" << endl; system("pause"); return 0;}
1.1.4 运行程序
1.2 注释作用:在代码中加一些说明和解释,方便自己或其他程序员程序员阅读代码
两种格式
单行注释:// 描述信息
通常放在一行代码的上方,或者一条语句的末尾,==对该行代码说明==
多行注释: /* 描述信息 */
通常放在 ...