首页 武汉科锐逆向培训学习笔记讲义

武汉科锐逆向培训学习笔记讲义

举报
开通vip

武汉科锐逆向培训学习笔记讲义武汉科锐逆向培训学习笔记这个选项可以改变VC的TAB为空格,以适应和记事本文本对齐一至武汉科锐逆向培训学习笔记这个选项可以改变VC的数字和字符的颜色,可以和变量区分开武汉科锐逆向培训学习笔记可以把警告变成错误武汉科锐逆向培训学习笔记原码,补码,反码:一个正数的三码相同900001001一个负数原码:-910001001反码:-911110110补码:-911110111N+N补9+(-9)=00001001+11110111=100000000N+N反9+(-9)=00001001+11110110=111...

武汉科锐逆向培训学习笔记讲义
武汉科锐逆向 培训 焊锡培训资料ppt免费下载焊接培训教程 ppt 下载特设培训下载班长管理培训下载培训时间表下载 学习笔记这个选项可以改变VC的TAB为空格,以适应和记事本文本对齐一至武汉科锐逆向培训学习笔记这个选项可以改变VC的数字和字符的颜色,可以和变量区分开武汉科锐逆向培训学习笔记可以把警告变成错误武汉科锐逆向培训学习笔记原码,补码,反码:一个正数的三码相同900001001一个负数原码:-910001001反码:-911110110补码:-911110111N+N补9+(-9)=00001001+11110111=100000000N+N反9+(-9)=00001001+11110110=11111111武汉科锐逆向培训学习笔记float的二进制表示方式:895.75895=1101111111101111111注意这里去掉开头的10.75=110乘2取11.101111111.1109+127=136(double1023)136=10001000依次为符号位,指数位,数字位01000100010111111111001000100010111111111000000000000445FF000Float的指数位占8个Double的指数位占11个武汉科锐逆向培训学习笔记先计算&&,再计算||Printf函数的返回值是int,值是打印的个数,\r\n也算在内rand()是随即数函数,需要包含#include“stdlib.h”这个头文件,可以用取余来随即不同的数字,例如rand()%10,就是不大于10的随即数。VC里有__int64,可以定义8个字节的整型变量。人类采用十进制是因为人有10个指头。Bug是虫子的意思,最开始是在硬件里找吃硬件的虫子,后来演化成调试程序。ALU是运算器CU是控制器由于磁盘是由磁来判断0和1的,所以可以由改变磁头判断磁的强弱来得知被覆盖的数据,所以美国军方的磁盘 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的销毁方式是反复清0和1共7次,最后研磨成粉。ASMCC#甲骨文古文现代文由此可见是有硬件条件来决定语言的内容丰富程度的冯诺依曼(JOHNVONNEUMANN)第一个制作计算机的人。阿达(ADA)第一个写程序的人。100个苹果,用二进制放到10个箱子里,就可以要多少都能拼出来。用孤独九剑比喻C++,C,JAVA编译语法,用倚天剑来比喻VC6.0,VS2005编译工具武汉科锐逆向培训学习笔记怎样用CL编译程序:上图是CL和LINK的存放位置新建一个a.c的程序,在cmd下,键入CLa.c/c,会生成c.obj文件,再用LINK命令LINKa.obj生成能a.exe文件。CL时可以生成a.i的中间文件CLa.c/c/P注意P要大写可以用a.exe>a.txt将打印的东西输出到文本上。变量是对地址的重命名。一个编译器的好坏有三个标准:速度,体积,编译时间小数的存储方式:浮点法和定点法。bool和char占用空间都是1个字节。如果只定义一个变量,就存在内存对齐的问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 ,其它三个字节都浪费掉。武汉科锐逆向培训学习笔记If(x=3)这个为真If(x=0)这个为假VC里Alt+F8可以自动排序goto一般用于跳出多层循环和异常处理||和&&可以判断运行,表示短路,可以写短路递归在制作人类性别的程序时,不能用BOOL变量,因为有4种情况,男,女,其他,不详。用log10()函数可以取出一个数有几位=log10(x)+1If()后面一定要加{},是为了防止加多个分号的宏,很难调试用goto和break编译出的汇编代码是一样的for要用3个goto,while要用2个goto,do_whlie用1个gotogoto的标示一定要用大写的。求素数就象吃坏鸡蛋,吃一口是坏的,就break跳出。system(“pause”)可以暂停CMD程序武汉科锐逆向培训学习笔记函数的调用:传参,传递参数保存返回地址保存寄存器环境申请局部变量的空间,并初始化为cc(debug)执行函数体,撤销局部空间恢复寄存器环境回到保存地址平衡参数栈代码栈代码数据静态变量和全局变量栈局部变量和参数堆申请空间武汉科锐逆向培训学习笔记数组求地址公式typeary[x]<=>aryaddr+sizeof(type)*xInti[5],已知i的首地址是0012FF6C,求i[4]0012FF6C+4×4=0012FF6C+10(十进制是16)=0012FF7Ctypeary[x][y]Inti[5][6],已知i的首地址是0012FF08,求i[3]ary[x]<=>aryaddr+sizeof(type[y])*x0012FF08+4X6X3=0012FF08+48(十进制是72)=0012FF50Inti[5][6],已知i的首地址是0012FF08,求i[3][4]ary[x]<=>aryaddr+sizeof(type[y])*x+sizeof(type)*y0012FF08+4X6X3+4X4=0012FF08+48(十进制是72)+10(十进制是16)=0012FF60武汉科锐逆向培训学习笔记可以用sizeof(ary)/sizeof(ary[0])来求一维数组中变量的个数硬件设备就是抽象成文件memcpy(拷贝到的地方,数据源,内存块)fflush(stdout)_flushall()清除缓存a[6]={5,0,1,2,3,4},第一个元素可以记录数组的个数‘\xa’=10‘\xff’=255#definegetchargetc(stdin)strlwr转小写strupr转大写strcmp字符比较stricmp字符不区分大小写比较所有的全局变量都是静态变量全局变量的默认值都是0全局变量和静态变量的地址很近寄存器变量registerintn只限于4个字节的变量intchar指针宏断行用\#defineforif(0);elsefor带参宏要把参加括号强内聚,低偶合武汉科锐逆向培训学习笔记函数puts输出字符串后自动换行字符的输入输出:getcharputchar字符串的输入输出:getsputs作用域:文件作用域函数作用域进程作用域块作用域在一个函数内定义了一个与全局变量名相同的局部变量,则局部变量有效,全局变量在该函数内不起作用。武汉科锐逆向培训学习笔记#definepr(ary)printf(#ary)定义字符串应用举例:pr(123456789);#definefloatf#defineF(name)f##name定义源码的拼接应用举例:floatF(abcd);F(abcd)=5.13f;#Ifndefxxxx#definexxxx…………….#endif\\xxxx#definedebug1#ifdefdebugprintf(“调试”);#endif宏注释#defineIN#defineOUTFun(INinti,OUTintj)武汉科锐逆向培训学习笔记两同类型的指针相减:type*ptr1=&x;type*ptr2=&y;ptr1-ptr2=((int)ptr1-(int)ptr2)/sizeof(type);type*ptr=&xptr+n(int)ptr+sizeof(type)*n求文件入口的公式,自己写的:#defineB(int*)0x00400000int*pn=NULL;pn=B+*(B+*(B+15)/4+10)/4;武汉科锐逆向培训学习笔记指针访问内容不一定可以提高速度*和指针贴在一块*p正确*p错误新定义一个指针时要把它定义成NULL,防止误访问代码 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 :指针型和NULL比较,整型和0比较CRTL+G转到地址处void*pa=&a[0]*pa到用时才强制转换While(*a=*b)等价于while(*a=*b=‘\0’)#pragmawarning(disable:4700)可以忽略4700版本的警告对内存的操作要象保险柜取钱,用完要关闭C语言规定,数组名代表数组的首地址,也是第一个数组元素的地址。C语言规定,如果一个数组的元素都是指针的类型,则称之为“指针数组”,如:int*a[3]*1表示乘法2表示定义指针3表示指针取内容int(*p)[3]=NULL;p++;int*p[3]=NULL;p++;P的地址位移12,数组指针P的地址位移4,指针数组武汉科锐逆向培训学习笔记用指针排序相对于交换字符串(多于4字节)的排序,他访问慢(先取地址,再找内容),但是排序快,只是交换地址,没有交换内容返回指针值的函数:int*fun(intx,inty)函数的返回值应该是值,不能是地址或是指针,否则有可能溢出函数的指针:int(*pfn)()避免流程嵌套:If(funa()){if(funb()){}}If(!funa()){return0;}if(!funb()){return0;}voidfuna(){printf("funa");}voidfunb(){printf("funb");}intmain(intargc,char*argv[]){inti;void(*pfn[2])()={funa,funb};for(i=0;i<2;i++){pfn[i]();}return0;}武汉科锐逆向培训学习笔记inta[5]={1,2,3,4,5};int*p=a;for(;p>32的32+3次方/11b是无符号数a是有符号数a/5=a*>>1+符号位2的32+1次方/52的32+1次方/5缩小2的1次方倍符号位武汉科锐逆向培训学习笔记x/2c编译器优化:按c语言规则,除法是向下取整的,3/2=1若x为正偶数,x/2等价于x>>1若x为正奇数,x/2等价于(x-1)/2,等价于x>>1,或者(x-1)>>1所以正整数的情况下,不用处理,直接位移按补码 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 规定,若x为负偶数,x/2等价于x>>1若x为负奇数,这时候(-3)/2=-1,除法变成了向上取整x/2等价于(x+1)/2等价于(x+1)>>1所以负数情况下不能直接位移,需要加1手工优化asm代码是项目的结尾武汉科锐逆向培训学习笔记1.Bat文件md%1__sigcd%1__sigfor/F%%iin('link-lib/list%1.lib')dolink-lib/extract:%%i%1.libfor%%iin(*.obj)dopcf-g0%%isigmake-n"MyLIBC"*.patMyLIBC.Sigdel*.objremcd..去掉需要的文件1234武汉科锐逆向培训学习笔记对着函数按num的+和-可以隐藏和反隐藏代码Dbg:do_whiles+=ii++whileDbg:whileWhile()武汉科锐逆向培训学习笔记Dbg:For()i<=ns+=ii++武汉科锐逆向培训学习笔记R版的do_whilebegin_do:[语句体]判定:jxxbegin_doR版的while判定:jxxend_whilebegin_while:[语句体]判定:jxxbegin_whileend_while:R版的for判定:jxxend_whilebegin_while:[语句体]判定:jxxbegin_whileend_while:代码外提静态变量初始化的与运算,求出当前的静态变量的初始化位置武汉科锐逆向培训学习笔记阻止文件删除汇编武汉科锐逆向培训学习笔记
本文档为【武汉科锐逆向培训学习笔记讲义】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_598372
暂无简介~
格式:ppt
大小:1MB
软件:PowerPoint
页数:71
分类:建筑/施工
上传时间:2020-09-18
浏览量:97