- 博客(103)
- 收藏
- 关注
原创 ARM中断流程思考。
5.当返回的时候,将SPSR弹出来。然后通过movs pc.lr【先将PC=LR_IRQ,然后将spsr->cpsr[这个就会切换模式,将sp指向]】假设没有lr_irq.一般处理是硬件负责将lr=pc.跟call调用是一个道理。1.将CPSR保存到SPSR里面,同时CPSR切换到中断模式。注意,cpsr就是当前运行的,不会切换到spsr寄存器。
2025-02-18 13:38:04
220
原创 openssl 命令参数
openssl enc -d -p -aes-128-cbc -K 25683749789abcdeffedcba987654321 -iv 00000000000000000000000000000000 -nosalt -nopad -out 17_des.txt -in test17.txt
2021-06-03 00:56:13
1587
1
原创 文件系统支持64位
支持64BIT fopen_FILE_OFFSET_BITS,其实调用是fopen64()stat实际上调用的stat64.为什么要用这个宏定义,而不直接将stat的实现到stat64.因为有些老库还是有的这个结构,如果不保留老的。所有的老库要全部更新,这牵扯到好多第三方更新,兼容性就不够好。1:_GNU_SOURCE(g++定义了...
2020-02-22 17:27:27
714
转载 交换密匙扫盲
感谢大牛分享:https://blog.youkuaiyun.com/mynameislinduan/article/details/83181534文章目录★密钥交换/协商机制要达到啥目的?★密钥交换/协商机制的几种类型★基于 RSA 的密钥协商★基于 DH 的密钥协商★DH 的变种★基于 PSK 的密钥协商★基于 SRP 的密钥协商★各种组合的一览表 先插播一个好消息: 本月初俺发...
2019-08-23 16:42:01
524
原创 https真的能保证完全数据安全和完整性吗?
A:对于https的认证完成,获取对称加密数据后,我个人感觉后面是难以保证完整性的,特别是通过抓包和fiddle劫持后的感受.1.别人偷窥不到真正的数据.2.但别人可以搞破坏(损人为最高原则)譬如,当中间人随意改动tcp段数据(我看不到但可以搞破坏数据),服务器通过对称加密算法解密,从tcp来看,并不能感知数据被篡改.除非应用代码对数据进行额外的安全校验.网上查阅了不少资料,也没有...
2019-03-06 14:34:06
8158
原创 repo+gerrit环境搭建
搭建repo的过程中,遇到几个拦路虎,折腾了很久,终于搞定。1.repo的main.py等脚本必须添加。脚本是从拷贝的内网来的。来源稍后需要再分析。2.git 可以pull下来,repo sync 不下来。没有权限。原因:.gitconfig确认用户名和邮箱是否和gerrit网页配置的一致。git并不会严格检查这里,所以git并没有问题。1.repo upload没有权限。repo --trace...
2018-05-10 21:18:51
2254
转载 apn
引用自http://blog.chinaunix.net/uid-20658254-id-189410.html3G模块拨号上网设置APN,拨号号码,帐号和密码 分类: 嵌入式2011-03-15 09:31:50 运营商(ISP)APN拨号号码帐号密码中国联通WCDMA(China Unicom)3GNET*99#空空中国电信CDMA2000(China Telecom)EVDO网络空#777...
2018-05-08 08:42:36
1335
原创 ip,tcp,icmp,udp校验
报文的校验和算法一样,但在作用范围存在不同: IP校验和只校验20字节的IP报头; 而ICMP校验和覆盖整个报文(ICMP报头+ICMP数据);UDP和TCP校验和不仅覆盖整个报文,而且还有12字节的IP伪首部,包括源IP地址(4字节)、目的IP地址(4字节)、协议(2字节,第一字节补0)和TCP/UDP包长(2字节)。另外UDP、TCP数据报的长度可以为奇数字
2017-09-06 16:27:56
555
转载 为什么tcp没有长度,而udp有
突然想到这个问题.转载http://www.itye.org/archives/3087,相对来说解释比较合理.但stevens的可能两字还是不爽,但是历史原因谁能说全呢?协议制定人,不同人不同角度,再说规则的制定前后并不是给你去对比统一的.何必钻牛角呢?如此想来,也是正常的,辩证看待问题.你才会有更宽的视野.IP的头部包换数据的长度,TCP的头部不包含数据长度,UDP的头部则包含
2017-09-06 15:54:45
963
原创 ecos tcpip代码解析
free_tcpip=bsd_tcpip : tcp_output()进行了分段+输出,512是比较保守的mss.iwtcpip: tcp_enqueue进行了分段,tcp_output进行输出.tcp_output---->ip_outputip_output再进行分片.当然,udp分片在所难免(如果长度>mtu).tcp在分段的时候就规避了分
2017-09-05 15:51:21
410
原创 父子进程对信号的继承
经测试,使用system ,exec族产生的子进程子进程会继承父亲的部分信号。默认-》默认忽略--》继承改写--》默认这个也好理解,父子进程就像DNA遗传,尽量遗传父亲的。但是execl已经重新载入进程,改写的函数位置都不存在了。如何继承!!如果是fork的话,则完全继承。
2017-09-01 08:03:01
775
原创 僵尸进程产生
僵尸进程通俗理解就是孩子先于父亲死掉,父亲又没有埋掉孩子,导致孩子成了僵尸。但是父亲死后,孩子资源就会被系统回收掉。如果父亲先于孩子死了,那孩子就成了孤儿,会由社会收养。如果父亲没死,则社会不会管的。孤儿是活着的,僵尸是死的。这么通俗的解释,应该好理解吧。
2017-09-01 07:56:29
326
原创 upstart进程
在ubuntu上测试父子进程的时候,发现父进程被kill了后,子进程被过继给了upstart进程,并不是1号init进程。init->sbin/lightdm->lightdm->upstart->gnome->bash->test->a.outkill test后,a.out是孤儿进程,过继给upstart!
2017-09-01 07:42:33
512
原创 sprintf和swprintf
setlocal对这两个函数的影响。操作环境。ubuntu,local zh_CN.utf8测试printf,sprintf,10 setlocale(LC_ALL, "zh_CN.utf8");(gdb) n22 sprintf(aa,"%ls",L"中国");(gdb) n23 printf("%ls",L"中国");(gdb) x/10x aa0
2017-08-24 08:06:36
655
原创 JTAG调试内核和gdbserver冲突问题。
在进行linux 内核使用jtag ,应用使用gdbserver调试的时候,应用的断点被jtag命中。发现应用只要bkpt命令,则会导致jtag响应,估计和jtag的驱动监控breakpoint有关。以为是自己内核的断点。解决方式1:更新驱动,需要中天配合。暂不考虑。 2:修改gdbserver代码(原理:gdbserver修改了断点指令到0(bkpt...
2017-03-26 21:29:41
744
原创 printk 比printf先打印出来。
在系统调用代码里加的打印比应用上还要快出来。顺序不对了。why?都使用了\n.即使使用了fflash(stdout)还是一样。不清楚是不是printf的行缓冲打印是不是在内核里面使用了非同步模式。比如定期刷新。
2017-03-21 08:24:56
530
原创 关机流程
#0 0xc02d8fcc in gx3211_demux_cleanup ()#1 0xc027b652 in gxav_device_close ()#2 0xc027a2bc in gxav_close ()#3 0x9004010c in __fput ()#4 0x900401aa in fput ()#5 0x9003d886 in filp_close
2017-03-17 21:04:09
365
转载 内核sleep schedule_timeout
#include #include #include #include #include MODULE_VERSION("1.0.0_0"); MODULE_LICENSE("GPL"); MODULE_AUTHOR("gwy"); #ifndef SLEEP_MILLI_SEC #define SLEEP_MILLI_SEC(nMilliSec)
2017-01-05 12:43:02
681
原创 一个脚本在makefile中用到嘚问题。
Makefile :test: ./buildbuild . env.shmake test发现报错。./build: 1: .: env.sh: not found如果不是在makefile中调用这个build则不会报错。经测试,发现貌似Makefile会将默认脚本改为/bi
2016-08-24 16:20:22
268
原创 关于ld.so.conf
配置这个,再调用ldconfig.ldconfig -p 将可以看到哪些库被定位了。(读ld.cache 文件)必须要注意的是。这种方式并不是将目录添加到搜索路径,每次加一个库到一个已经有过的自定义lib都要重新调用ldcnfig来进行注册到cache.同时cache里面登记的是soname.所以对于这种结构/home/xiongyf/lib/libtest.so.
2016-08-12 14:42:16
488
转载 GCC编译顺序和依赖。
转自http://www.cnblogs.com/little-ant/p/3398885.html折腾gcc/g++链接时.o文件及库的顺序问题Table of Contents1 gcc/g++链接时.o文件以及库的顺序问题1.1 写在前面1.2 几个名词1.3 技术铺垫1.3.1 编译动态库时的符号解析1.3.2 linux下查看一
2016-07-20 18:09:30
1183
原创 apache 搭载PHP
我的apache版本是2.2.php版本是D:\php-5.4.45-Win32-VC9-x86php只需要指定目录即可。php.ini :doc_root = "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs"apache需要修改。httpd.conf1,LoadModule
2016-06-04 16:06:55
278
原创 patch命令注意
patch命令对于补丁路径的概念。如果两个路径都是相对路径:如果两个一个是相对,一个绝对路径:如果两个都是绝对路径:经过测试:都是先找短的,再找长的,不管是第一个还是第二个。总结:先找短的,找不到再找长的。如果两个长度相同,则找第一个,找不到找第二个。所以打补丁的人拿到补丁后,找到打补丁处和第一个或者第二个的相对路径差即可。diff -ru home2/aa/b
2016-04-08 10:01:17
622
转载 ubuntu sourceinsight 下smb挂载和gvfs的不同表现。
sudo mount -t cifs //192.168.1.156/xiongyf /home/xiongyf/samba/ -o user=xiongyf,pass=xiongyf,iocharset=utf8,uid=1000注意此挂载的uid是表示的意义是以什么身份挂载过来。比如他在原来服务器上是1008,如果你不加UID,则挂成1008,此时你的1000就不是使用者,而是
2016-03-15 17:30:40
1475
原创 关于类的虚函数的public,private的继承问题。
下面的代码编译结果报错。test.c: In function `int main(int, char**)':test.c:18:22: error: `virtual void TEST2::testxiongyf()' is privatetest.c:60:25: error: within this context但是看60行。如果把private切换为public,
2015-12-24 15:02:02
2294
原创 关于类的多态思考。
通过测试代码,目前的结论;A:类不能强制转换,比如b=(bb)a;错误,function 'int main(int, void**)':test444.cpp:85:8: error: no matching function for call to 'bb::bb(aa&)'test444.cpp:85:8: note: candidates are:test444.c
2015-12-16 01:36:14
315
原创 关于信号函数处理过程中对信号的屏蔽理解。
首先看下面的例子。备注,这个从网络上一个提问者,但是因为不好提评论而且没人回复的帖子说起。2,编译运行后 另外起一个终端, kill -s USR2 842 kill -s USR1 842输出: start working ,send signal cmd: kill -s USR1 842 in sigparse2: SIGUSR2
2015-10-23 00:38:34
473
转载 http 表单加密。
js md4、md5、sha1 加密算法文件下载地址:md5.js、md4.js、sha1.js使用MD5加密的方法:下载md5.js文件,在网页中引用该文件: type="text/javascript" src="md5.js">在你需要使用MD5加密的地方如此调用: type="text/javascript" >hash = hex_md5("input stri
2015-09-28 16:11:12
2203
原创 关于浏览器f5和ctrl+f5加深对缓冲的理解。
IE:F5:GET http://192.168.1.107/htdocs/ HTTP/1.1Accept: */*Accept-Language: zh-cnAccept-Encoding: gzip, deflateIf-Modified-Since: Thu, 24 Sep 2015 05:46:11 GMTIf-None-Match: "2000000003ba
2015-09-24 15:08:04
341
原创 UDP发送接收尺寸问题。
测试发现:UDP发送尺寸不能太大。比如我这里的系统4096都发送不出去。4095可以。具体可能和系统相关。即使你 setsockopt(sockfd,SOL_SOCKET,SO_SNDBUF,&optVal,optLen);也是无效的(尽管使用getsockopt发现已经设置正确2*大小)也就是说 。UDP的发送是可以说完全是由系统默认大小。通过socket接口不能更改!
2015-07-19 22:46:03
823
原创 关于在内网服务器的思考。
目标:做一个网页服务器。花生壳内网版本:注册一个帐号。记住你的IP和客户端的端口。你共享一个端口,则配置80:11125.xiongyf--->你的IP。服务器不会记录80:11125隐射。发给你的客户端。客户端再将11125解释为80。调用80端口。假想前提:TCP通信。缺点:所有数据通过花生壳服务器中转!特点:服务器只要开一个监听端口为客户端
2015-07-08 12:48:58
300
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人