自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

安全参透之旅

每个人都是信息的生产者,每个人都是信息的消费者.

  • 博客(74)
  • 收藏
  • 关注

原创 day30.buzzer蜂鸣器

第30节:buzzer蜂鸣器1、编写编译运行测试root@ubuntu:/home/linuxsystemcode/buzzer# cat buzzer.c#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdio.h>#include <unistd...

2018-02-28 20:25:46 770

原创 day33.字符与字符串

第33节:字符与字符串例子:int  x = 123;//补码float  f = 123.4F //IEEE编码int  i =‘A’     //储存的是字符1、字符:上面的例子中的字符‘A’在C语言和汇编里的表示如下:C语言例子:#include<stdio.h>void main(){ int i = 'A'; return;}汇编代码:4:        int i = 'A...

2018-02-28 18:20:14 153

原创 day32.浮点类型

第32节:浮点类型学习数据类型主要有两点,数据类型决定了一个变量能存储多少数据,还是它存储的数据是什么格式的。浮点类型的种类float                    4个字节double                8个字节long double        8个字节(某些平台的编译器可能是16个字节)赋值:float             x = 1.23;double      ...

2018-02-27 18:19:48 144

原创 day29.led 灯

第29节:led 灯1、编写运行编译例程:root@ubuntu:/home/linuxsystemcode/led# cat led.c#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdio.h>#include <unistd.h>#in...

2018-02-26 21:40:08 327

原创 day31.整数类型

第31节:整数类型在之前的课程我们提到了,所谓变量就是一种容器可以存储数据,里面的数据可以改变。整数类型的宽度如下:char、short、int、longchar      8bit    1字节   0~0xFFshort   16bit     2字节  0~0xFFFFint       32bit    4字节  0~0xFFFFFFFFlong    32bit    4字节  0~0x...

2018-02-26 20:40:16 180

原创 day14.python的列表(三)

第14节:python的列表(三)Type "help", "copyright", "credits" or "license" for more information.>>> a = range(100)>>> a.reverse()>>> a[99, 98, 97, 96, 95, 94, 93,

2018-02-25 11:30:15 180

原创 day28.main函数传参数

第28节:main函数传参数1、编写运行编译main函数例程:root@ubuntu:/home/linuxsystemcode/main# cat argvc.c#include<stdio.h>#include<string.h>int main(int argc,char *argv[]){        int i,j;        i = atoi(argv[1...

2018-02-24 19:32:02 142

原创 day30.函数嵌套调用的内存布局

第30节:函数嵌套调用的内存布局我们在函数里面可以定义变量,可以做加法运算,当然也可以调用其它的函数。例子:#include<stdio.h>int plus1(int x,int y){ return x+y;}int plus(int x,int y,int z){ int m = plus1(x,y); return m+z;}void main() //程序入口{ int...

2018-02-24 13:55:34 273

原创 day27.read读操作

第27节:read读操作1、编写运行编译read函数例程:root@ubuntu:/home/linuxsystemcode/read# cat read.c#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdio.h>#include <unist...

2018-02-23 22:29:08 206

原创 day13.python 的列表(二)

第13节:python 的列表(二)Type "help", "copyright", "credits" or "license" for more information.>>> a = range(100)>>> a[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,

2018-02-23 21:45:07 231

原创 day29.变量与参数的布局

第29节:变量与参数的布局在之前的课程里面,大家已经掌握了,函数、调用、变量、参数、返回值等相关的一些概念,那么这节课我们从内存的角度来分析一下,这些所谓的概念它们的本质是什么。这节课解决三个问题:1、参数在内存中的位置2、局部变量在内存中的位置3、返回值是如何返回,如何使用的例子:#include <stdio.h>int plus(int x,int y){ int z = x +...

2018-02-23 21:17:19 163

原创 day12.python 的列表(一)

第12节:python 的列表(一)什么是listlist是处理和存放一组数据的列表用途:工资列表、购物列表、送礼列表例子1:Type "help", "copyright", "credits" or "license" for more information.>>> name = [‘Blue Polo','dashuai','tieda']>>&amp

2018-02-22 21:28:37 295

原创 day26.write写操作

第26节:write写操作1、编写运行编译write函数例程:root@ubuntu:/home/linuxsystemcode/write# cat write.c#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdio.h>#include <u...

2018-02-22 19:44:52 304

原创 day28.什么是变量

第28节:什么是变量变量是什么?在程序的进程中需要存储一些数据。大家之前学汇编的时候知道了,存储数据可以存到CPU中也就是存在寄存器里也可以存在内存中。但是在C语言中存储数据的时候我们要把这个数据存储到哪里呢?在C语言里所为的变量就是一个容器,也就是一块内存。1、声明变量变量类型    变量名变量类型    用来说明宽度是多大int       4个字节short   2个字节char    1个...

2018-02-22 18:37:47 335

原创 day25.creat创建操作

第25节:creat创建操作1、编写运行编译creat函数例程:root@ubuntu:/home/linuxsystemcode/create# cat creat.c#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdio.h>main(){     ...

2018-02-21 20:14:26 235

原创 day27.什么是参数,什么是返回值通过堆栈形式表示

第27节:什么是参数,什么是返回值通过堆栈形式表示返回类型   函数名( 参数列表){        return;}例子:int plus(int x,int y){      return x+y;}void main()      //程序入口{      //调用函数      plus(1,2);      return;}1、在上节课主要说了一下函数的写法,和形式,上面的例子回顾一下,...

2018-02-21 15:05:00 224

原创 day24.open 打开文件操作

第24节:open 打开文件操作驱动设备的节点ls /dev/leds编写运行编译open例程1)首先看一下帮助文档内容topeet@ubuntu:~$ man 2 open2)open.c创建#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdio.h>...

2018-02-20 15:09:10 340

原创 day11.文件处理(二)

第11节:文件处理(二)例子:1、拷贝文件到当前文件路径下strom@strom-virtual-machine:~/Desktop/Learn_python/day07$ cp /var/log/syslog ./strom@strom-virtual-machine:~/Desktop/Learn_python/day07$ lssyslog  test.txt2、查看文件内容行数strom@...

2018-02-20 12:36:39 143

原创 day10.文件处理(一)

第10节:文件处理(一)例子:strom@strom-virtual-machine:~/Desktop/Learn_python/day07$ pythonPython 2.7.12 (default, Dec  4 2017, 14:50:18)[GCC 5.4.0 20160609] on linux2Type "help", "copyright", "credits" or "licen...

2018-02-19 22:19:15 179

原创 day26.C语言的汇编表示

第26节:C语言的汇编表示1)编写第一个C程序void main() //程序入口,程序开始执行的地方{ __asm{ mov eax,eax mov ecx,ecx } return;        //程序结束}以上的代码在MOV eax,eax 按F9下段,进行调试如下汇编代码:0040D440   push        ebp0040D441   mov         ebp,...

2018-02-19 19:26:09 395

原创 day23.返回的信息有哪些

第23节:返回的信息有哪些1)启动信息– 操作系统启动之后会在终端中打印硬件信息以及驱动程序信息:硬件信息:U-Boot 2010.03 (May 17 2017 - 09:00:45) for iTOP-4412 Android                                                                     APLL = 1000MHz, ...

2018-02-18 15:33:03 265

原创 day25.什么是JCC

第25节:什么是JCC这节讲一下·JCC指令,回想一下在之前的章节里讲过了,能改EIP的寄存器的一些指令为:JMP、CALL、RET 。这节讲JCC都是可以改EIP寄存器的。这个JCC指令更改寄存器不像JMP指令,这个JCC指令属于无条件修改EIP寄存器,但是JCC这个指令是否要改EIP这个寄存器,它需要看一些条件的,主要看标志寄存器的一些位。首先了解一下标志寄存器如下:1)CF位这个位主要是用来...

2018-02-18 14:01:54 5186

原创 day24.什么是EBP寻址

第24节:什么是EBP寻址上节ESP寻址回顾:当我们的汇编函数在执行的时候它怎么去找参数,怎么去找临时的值。主要使用ESP的寻址方式来寻找参数和其他的值,那么这种ESP有一个弊端的情况,因为ESP存储的是堆栈的栈顶的地址,如果当前汇编指令在执行过程中要使用到堆栈的话,那么栈顶就会发生变化(ESP的值会发生变化)。当你在下面再次使用的话,ESP的值会去寻找它的参数和变量,就要修正这个变化,如果不修正...

2018-02-17 18:25:39 452

原创 day22.绝对路径和相对路径

第22节:绝对路径和相对路径1)绝对路径举例如下:root@ubuntu:/home/minilinux/system/bin# cd /mntroot@ubuntu:/mnt#绝对路径就是以“/”开头的都属于绝对路径2)相对路径举例如下:root@ubuntu:/mnt# cd ../root@ubuntu:/#绝对路径就是以“../../”开头的都属于相对路径(注意:有符号“..”)...

2018-02-17 17:12:28 486

原创 day21.linux权限

第21节:linux权限1)权限包括读、写、执行分别如下:Linux下用对应字母为 r、w、x。2)看如下例子:root@ubuntu:/home/minilinux/system/bin# ls -l hello-rwxr-xr-x 1 root root 648462 Feb 17 00:01 hello第1位“-”:表示是这个文件是一个文件不是其他第1个rwx:表示是用户权限第2个r-x:表...

2018-02-17 17:02:44 166

原创 day20.回顾一下创建和删除用户组

第20节:回顾一下创建和删除用户组1)创建用户组并查看创建的组root@ubuntu:/home# groupadd stromroot@ubuntu:/home# cat /etc/group|grep stromstrom:x:1001:2)删除用户组并查看组是否删除root@ubuntu:/home# groupdel stromroot@ubuntu:/home# cat /etc/gro...

2018-02-17 16:47:52 162

原创 day19.回顾一下创建和删除用户

第19节:回顾一下创建和删除用户1)创建一个用户root@ubuntu:/home# useradd strom2)查看创建的用户的方式root@ubuntu:/home# cat /etc/passwd|grep stromstrom:x:1001:1001::/home/strom:/bin/sh3)删除创建的用户root@ubuntu:/home# userdel stromroot@ubu...

2018-02-17 16:40:45 132

原创 day18 .编写一个helloworld通过烧写system.img执行hello程序

第18节:编写一个helloworld通过烧写system.img执行hello程序1)拷贝hell文件到system的bin目录下root@ubuntu:/home/linuxsystemcode/helloworld# cp -r hello /home/minilinux/system/binroot@ubuntu:/home/linuxsystemcode/helloworld# cd /...

2018-02-17 16:24:42 338

原创 day17.编写一个helloworld在arm系统中运行

第17节:编写一个helloworld在arm系统中运行1)创建文件linuxsystemcodestrom@strom-virtual-machine:/home$ sudo mkdir linuxsystemcode/strom@strom-virtual-machine:/home/linuxsystemcode$ sudo mkdir helloworld2)编写hello.c代码如下:#...

2018-02-17 14:01:11 631

原创 day08.while语句

第8节:while语句while是计算机的一种基本循环模式。我们来看python的while循环模式是什么样的:例子:#!/usr/bin/env pythoni = 0while True:i=i+1if i == 50:print 'i have got to the round 50th!'continueelif i>70:breakprint i当i =0时候执行while循环,i...

2018-02-16 18:42:19 167

原创 day03.Jmp指令的使用

day03. Jmp指令的使用例子:1234567891011121314#include<stdio.h>int i,gi;void * address;void main(){    _asm {        mov eax,eax        mov address,offset _lb1        jmp address    }    i = 2; _lb1:    ...

2018-02-16 18:29:21 512

原创 day09.回顾用户交互、循环例句

第9节:回顾用户交互、循环例句1)使用raw_input、while函数写出用户交互#!/usr/bin/env pythonimport sysusername = 'strom'password = '123456'locked = 0retry_counter = 0while retry_counter<3:  user = raw_input('Username:').stript...

2018-02-16 16:17:23 140

原创 day23.什么是ESP寻址

第23节:什么是ESP寻址寄存器传参与堆栈传参寄存器传参回顾一下:例子:                 MOV ECX,1                 MOV EDX,2                 CALL 004183D7                 004183D7  MOV EAX,ECX                 ADD EAX,EDX                ...

2018-02-16 13:21:11 459

原创 day16.最小linux系统如何生成的

第16节:最小linux系统如何生成的1)使用下载好的busybox源码包,这个包基础已经包含了linux常用的linux命令。2)创建目录存放解压busybox源码包并且topeet@ubuntu:/home$ sudo mkdir minilinuxtopeet@ubuntu:/home$ sudo mv busybox-1.22.1.tar.bz2 minilinux/topeet@ubun...

2018-02-16 00:04:37 182

原创 day15.烧写最小linux系统

第15节: 烧写最小linux系统1)将zImage、system、ramdisk-uboot这三个文件拷贝到USB_fastboot_tool\platform-tools路径下2)进入uboot模式3)查看磁盘分区结构iTOP-4412 # fdisk -c 0.fdisk is completed                   partion #    size(MB)     blo...

2018-02-15 22:42:17 319

原创 day14.烧写ARM的Ubuntu

第14节:烧写ARM的Ubuntu1)测试TF的速度(使用ATTO Disk bench32工具)首先确认你的TF卡是FAT32格式接着驱动器选择你接的TF卡的盘符数据包的大小选择1024到1024总长度选择32M,其他默认点开始测试读写速度都要达到5M才行,不然烧写Ubuntu系统是不行的。2)先跳过这节烧写Ubuntu系统,因为我的卡测试过达不到这个效果,年后补上这节。注意:购买卡的时候要买c...

2018-02-15 14:11:28 241

原创 day22.什么是推栈平衡

第22节: 什么是推栈平衡如果要返回一个程序,则当我们在推栈中进行推栈的操作的时候,一定要保证在RET这条指令之前,ESP指向的是我们压入的栈中的地址。怎么理解这句话呢?我们看一下错误的例子:                  CALL 0041840D0041840D   MOV EAX,1                  PUSH ECX                  RET      ...

2018-02-15 12:39:07 807

原创 day07.for语句

第7节:for语句1)用for循环语句输出从1到100的例子:  for i in range(1,100):      print i      2)用range实现奇数偶数方法:  range(0,100,2)  //偶数 以0开始到99 ,每位相隔2位  range(1,100,2)  //奇数 以1开始到99 ,每位相隔2位  3)使用break和continue方法:break用法:跳出...

2018-02-14 21:03:24 171

原创 day02.修改全局变量值,查看反汇编存储方式

day02.修改全局变量值,查看反汇编存储方式12345678910#include <stdio.h> int gi;void main(){    _asm mov eax,eax;   //伪代码使用ollydbg定位到这行    gi = 0x12345678;    return 0; }使用ollydbg工具调试在window里情况:0041139E    8BC0    ...

2018-02-14 19:06:57 507

原创 day13.查看编译文件build-all中的参数属性意思和下载系统中的触摸插件下载

第13节:查看编译文件build-all中的参数属性意思和下载系统中的触摸插件下载1、参数属性意思 ./configure         -opensource          ####选择免费开放源代码 -embedded arm    ####设置嵌入式模式 -xplatform qws/linux-arm-g++  ####对应的编译平台 -no-webkit            ##...

2018-02-14 17:55:29 241

空空如也

空空如也

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

TA关注的人

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