半导体行业观察
专利之星检索系统
可以用where python 看看当前启用的是哪个python, 如果不是预期的python, 修改path 环境变量,让预期的python 放在最前面。
要以管理员身份运行命令行
关于处于托管模式时无法删除mcafee agent
按键盘Win+R,输入lpksetup命令,点击【确定】
首先进入驱动器属性,点击工具界面,可以看到检查驱动器中的文件错误
然后点击扫描驱动器,扫描完之后看看是否有问题
而对于一些硬盘有坏道或少量其他问题可以使用不影响硬盘开机使用,则可以将的Windows10开机检查磁盘的功能禁用掉。在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control,把键BootExecute的值删除。(autocheck autochk *)
for /l %%i in (2,1,255) do ping -n 1 192.168.3.%%i
set filepath=sreencap\havewriten.txt
if exist %filepath% (
set /p pagenum=<%filepath%
) ELSE (
set pagenum=0
)
:delright
if "%pagenum:~-1%"==" " set pagenum=%pagenum:~0,-1%&&goto delright
adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png sreencap/%pagenum%.png
set /a pagenumN=%pagenum%+1
echo %pagenumN% >%filepath%
pause
grep -oE ".{0,80}e2fsck.{0,80}" out/build-qssi.ninja
把关键词的前后80字写打印出来
echo $PATH //查看当前PATH的配置路径
export PATH=$PATH:/xxx/xxx //将需配置路径加入$PATH 等号两边一定不能有空格
//配置完后可以通过第一句命令查看配置结果
$ ./xlogel --help
./xlogel: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22’ not found (required by ./xlogel)
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9
sudo apt-get install --only-upgrade libstdc++6
ubuntu如何从升级glibc失败中恢复
Windows Subsystem for Linux(WSL)的安装
安卓 offer 收割基
LeetCode
内核
内核2
内核-可查找
aosp 新
aosp 1-9
aosp 1-10
github
VSCode+clangd阅读linux内核源码
cat /proc/version
dumpsys display | grep DisplayDeviceInfo
Android常用ADB调试命令汇总
adb shell am broadcast -a com.mediatek.mtklogger.ADB_CMD -e cmd_name start/stop --ei cmd_target 1/2/4 【打开/关闭mtklog, 124分别表示mobilelog, modemlog, networklog】
shell -> ulimit
init.rc -> setrlimit
c ->setrlimit
echo 1 4 1 7 > /proc/sys/kernel/printk;
/proc/sys/kernel/printk
导出安卓分区镜像
adb forward tcp:8888 tcp:8888 #开启手机和电脑的传递数据的TCP连接
dd if=/emmc@usrdata | busybox nc -l -p 8888 #手机上开始传输挂载的/emmc@usrdata ,即/data分区
nc 127.0.0.1 8888 > /home/kali/android_data.dd
Android系统调试指令
ls /proc/msp/win*
linuxStack
例:external/e2fsprogs/e2fsck/Android.bp
cc_binary {
name: "e2fsck_ramdisk",
stem: "e2fsck",
static_executable: true,
ramdisk: true,
defaults: ["e2fsck-defaults"],
system_shared_libs: [],
static_libs: e2fsck_libs,
}
these instructions for busybox-1.24.1
apt-get install libpam0g-dev libsepol1-dev libselinux1-dev libncurses5-dev
setup a standalone toolchain, i used platform android-14 from ndk-r10d. add toolchain/bin to path.
$NDK/build/tools/make-standalone-toolchain.sh --arch=arm --platform=android-14 --install-dir=~/android
make android_ndk_defconfig
make menuconfig
busybox settings -> build options -> update sysroot to to your ndk PATH
if building for 5.x+, added
-pie -fpic -fPIE to CFLAGS
-pie to LDFLAGS
uncheck static build (doesn’t work for android-14)
remove misc/i2c support
android busybox 编译指南
busybox 已编译好的
buildscript {
repositories {
jcenter()
maven {
allowInsecureProtocol = true
url 'http://maven.google.com/'
name 'Google'
}
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.2.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
如链接:android10 super.img编译
各种image的生成 android 9
如链接:vbmeta.img镜像生成
Android 10 metadata 分区说明
Android编译系统参考手册
Android 编译之android.bp
可以参考recovery bin文件,加上“recovery: true”
110 cc_binary {
111 name: “recovery”,
112 recovery: true,
ninja:一个简单的构建方式
ninja文件阅读器
Ninja编译介绍
git lg是一个联合命令,非git原生,需要先运行下面的命令
git config --global alias.lg “log --color --graph --pretty=format:‘%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset’ --abbrev-commit”
展锐T7520(ANDROID 11) boot.img解包
后面添加”2>/dev/null“:find -name “ssh” 2>/dev/null
# export
ANDROID_DATA
ANDROID_ROOT
ANDROID_SOCKET_adbd
EXTERNAL_STORAGE
HOME
HOSTNAME
LOGNAME
# echo $PATH
/sbin:/system/bin:/vendor/bin
# ldd /system/lib/libcrypto.so
libc.so => /apex/com.android.runtime/lib/bionic/libc.so (0xf33c8000)
libm.so => /apex/com.android.runtime/lib/bionic/libm.so (0xf3354000)
libdl.so => /apex/com.android.runtime/lib/bionic/libdl.so (0xf3394000)
关于adb参与android调试的理解
crash-8.0.1 :
$ cat /proc/version
Linux version 4.4.0-210-generic (buildd@lgw01-amd64-009) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12) ) #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021
sudo apt-get install bison
cc -c -g -DARM64 -DGDB_10_2 main.c
main.c:20:20: fatal error: curses.h: No such file or directory
compilation terminated.
Makefile:334: recipe for target ‘main.o’ failed
make[4]: *** [main.o] Error 1
sudo apt-get install libncurses5-dev
CRASH安装和调试
crash工具搭建
crash-utility
gdb
Android安全(八)–gdb调试
android源码分析之linker初始化
Linux中strace工具用法及跟踪分析应用
crash-catcher
使用 strace
Android Studio导入系统源码
分析应用性能
android性能分析之常用命令
性能优化小结
IORap:让Android 11 提高 App 冷启动速度 5% 以上
art profile生成差异的问题分析
面试问帧率优化,看看matrix是怎么做的
How to capture Boot-up trace
汇编翻译
内存DEBUG汇总
利用Eclipse的MAT查找安卓内存泄漏问题
怎样统计所有进程总共占用多少内存?
功能性:文件系统(VFS、EXT4、F2FS、EROFS),挂载与fstab,vold,StorageManagerService,FUSE与直通模式,sdcardfs,存储快速统计与quota
性能:
可靠性:分区加密与dm-crypt、 文件级加密、镜像验证与dm-verity 、DAC与sandbox、MAC与selinux、NameSpace
能耗
深度解读UFS 4.0的FBO特性
UFS 手机相关调试接口
5.4版本内核ufs设备信息查询方式
2|coful:/sys/kernel/debug/mmc0 # cat ios
clock: 200000000 Hz
vdd: 20 (3.2 ~ 3.
bus mode: 2 (push-pull)
chip select: 0 (don't care)
power mode: 2 (on)
bus width: 3 (8 bits)
timing spec: 10 (mmc HS400)
signal voltage: 1 (1.80 V)
driver type: 0 (driver type B)
F2FS源码分析系列文章目录
cat /proc/filesystems
VFS源码分析-Readahead预读机制
动态分区
Linux 文件系统学习之 EROFS 源码阅读笔记
1.在normal mode下,tp button也是和其它触摸事件一样,以坐标形式的input_event进行上报。在初始化时会通过tpd_button_setting()函数根据定义在tpd_custom_XXX.h文件中的配置信息将虚拟按键的坐标信息写在/sys/board_properties/virtualkeys.mtk-tpd中。工作时,tp driver将按下的点的坐标进行上报,Android上层会读取sys中的按键配置信息,再判断上报的坐标是否属于某个按键的坐标范围,以此将坐标信息转化为具体的按键键值。
2.在factory mode和recovery mode下,由于Android还未启动,所以按键事件不能采取1中的上报机制,而是利用tpd_button()函数来对按键进行直接上报处理。
所以,对于normal mode,按键事件不需要调用tpd_button()函数上报,而在factory mode和recovery mode下,必须调用tpd_button()函数对虚拟按键事件进行上报。
[DESCRIPTION]
触屏太灵敏,有时候点击一下会误认为滑动事件,造成误识别。
[SOLUTION]
增大触发触屏滑动所需要的距离条件,将Config.xml(frameworks\base\core\res\res\values)中的语句
8dp
修改为:
24dp
官网文档:Verified Boot-启动时验证
见链接:Android Verified Boot 2.0 最新安卓P AVB详解
android AVB2.0学习总结
对低端设备,看看对data分区的挂载参数有没有加密参数fileencryption=aes-256-xts,如果有,可考虑改为fileencryption=adiantum,可参看下列文档:启用 Adiantum
规范化启动原因
Android RollBack机制实现原理剖析
MTK6735 pre-loader源代码分析
camera开机初始化流程
android开机动画到桌面黑屏解决办法
优化启动时间
BC1.2协议以及QC2.0/3.0快充协议学习笔记
BC1.2协议
USB-PD 协议
Battery Charging Specification, Revision 1.2, December 7, 2010 中文
Android 运行状况
frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java
2113 public int relayoutWindow(Session session, IWindow client, int seq, LayoutParams attrs,
2114 int requestedWidth, int requestedHeight, int viewVisibility, int flags,
2115 long frameNumber, Rect outFrame, Rect outContentInsets,
2116 Rect outVisibleInsets, Rect outStableInsets, Rect outBackdropFrame,
2117 DisplayCutout.ParcelableWrapper outCutout, MergedConfiguration mergedConfiguration,
2118 SurfaceControl outSurfaceControl, InsetsState outInsetsState,
2119 InsetsSourceControl[] outActiveControls, Point outSurfaceSize,
2120 SurfaceControl outBLASTSurfaceControl) {
2151 int attrChanges = 0;
2152 int flagChanges = 0;
2153 int privateFlagChanges = 0;
2154 if (attrs != null) {
增加如下代码
2154 //yzx added begin
2154 Slog.d(TAG_WM, "relayoutWindow:attrs.flags:0x" + Integer.toHexString(attrs.flags));
2154 attrs.flags &= ~FLAG_SECURE;
2154 //yzx added end
Android 图形图像
面试问你屏幕刷新机制、垂直同步信号
面试问帧率优化,看看matrix是怎么做的
图形-官方
SystemUI StatusBar 手机信号相关图标的显示和更新流程分析
systemui状态栏添加新图标
输入系统_APP获得并处理输入事件流程
//会输出当前设备正在使用的输入法
adb shell settings get secure default_input_method
//会输出当前设备的全部输入法的详细信息
adb shell ime list
//仅输出当前设备的全部输入法名称
adb shell ime list -s
//修改当前设备的输入法
adb shell ime set xxxxxx
adb shell settings put secure default_input_method xxxxxx
INSTALL_FAILED_TEST_ONLY原因和解决方法
Android 面试黑洞——当我按下 Home 键再切回来,会发生什么
Android Studio 离线编译
使用fscanf读取含有数据间含有多个空格的数据
lsusb, svc usb, dumpsys usb,这些命令具体的用法可以看help,有很多功能。
举个例子:
q3s:ls /sys/bus/usb/devices/
1-0:1.0 1-1.3 1-1.3.1:1.0 1-1:1.0
1-1 1-1.3.1 1-1.3:1.0 usb1
以 “usb” 开头的表示USB 控制器,确切的说, 他们指向每个控制器的根集线器 “root hub”,而数字则代表总线标号。 在上例中,只有一个控制器,所以只有标号1,故取名为 “usb1”.
“1-0:1.0” 是一个特例,指向根集线器的接口
其他项表示真正的USB设备和他们的接口。设备的命名格式如下:
总线-端口端口.端口 …
接口用:分割后紧随其后,其格式如下:
:配置.接口
集线器只能有一个接口,其他设备可以有多个接口
Linux之USB分析
Android手机如何通过USB接口与外设通信
28388_USB
LINUX USB驱动合集
如链接:Android 中的安全增强型 Linux
铁线蕨算法(Adiantum)为低端智能手机提供磁盘加密服务
Android 加密之文件加密(FBE)
android安全技术点
逆向工具-吾爱破解
recovery 镜像
vendor 镜像
SO逆向实战十三篇
Unidbg Hook 大全
Android 虚拟化框架 (AVF)
adb push ‘Downloads/busybox-armv7l’ /data/local/tmp/
cd /data/local/tmp
./busybox-armv7l ftpget -u ftpuser -p 123456 10.11.108.29 /yzx.txt
ftp和ftpget 命令
vsftp的简单使用
在控制台上可以使用cat命令查看信息,例如cat /proc/msp/vdec00
如需查看帮助信息,请向模块输入help命令,例如echo help > /proc/msp/avplay00
记录当前系统的基本信息 /proc/msp/sys
记录Demux和端口的绑定关系 /proc/msp/demux_main
电视
voabbc voabbc88
MockingBird实现AI拟声
语言模型串烧(BERT前)
语言模型串烧(BERT后)