自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

whklhhhh的博客

一只逆向小菜鸡

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

原创 170429 汇编-BIOS和DOS的中断例程

1625-5 王子昂 总结《2017年4月28日》 【连续第209天总结】A.汇编语言 第十三章100%B.int指令的格式为int n其中n为中断类型码,作用是引发中断过程BIOS和DOS也提供了一套中断例程。从操作系统的角度来看,DOS的中断例程就是操作系统向程序员提供的编程资源。而和硬件设备相关的DOS中断例程中,一般都调用了BIOS的中断例程安装

2017-04-30 11:27:21 1181

原创 170428 汇编-int指令

1625-5 王子昂 总结《2017年4月28日》 【连续第209天总结】A.汇编语言 第十三章60%B.int指令和iret指令的配合使用与call指令和ret指令的配合使用具有相似的思路。在中断过程中,当前的标志寄存器,CS和IP都要压栈,此时压入的CS和IP的内容分别是调用程序的段地址(可以看做是标号s的段地址)和int 后一条指令的偏移地址(即标号send的偏移地址)

2017-04-30 11:19:54 543

原创 170427 汇编-内中断的指令和设置

1625-5 王子昂 总结《2017年4月27日》 【连续第208天总结】A.汇编语言 第十二章100%B.CPU的中断过程为:取得中断类型码flag的值入栈设置flag的第八位TF和第九位IF的值为0CS的内容入栈IP的内容入栈从中断向量表中读取中断处理程序的入口地址,设置IP和CS返回中断的指令是iret,与ret类似,从栈中读出IP、CS的值送

2017-04-27 21:39:28 1200

原创 170427 百度地图JSAPI

1625-5 王子昂 总结《2017年4月26日》 【连续第207天总结】A.百度地图API和JavaScript 100%B.我也不知道怎么就写起了JS……明明没有学过TAT为了减少与QT的通讯来降低复杂度,在JS的API中尽量完成所有调用经过一下午的练习和晚上的需求确认,完成了以下功能:地图空白处右键新增航点在轨迹上右键可以新增额外航点拖拽航点刚开始按照

2017-04-27 01:46:46 805

原创 170425 汇编-实验11和内中断初识

1625-5 王子昂 总结《2017年4月25日》 【连续第206天总结】A.汇编语言 十一章B.实验11子程序:将包含任意字符,以0结尾的字符串中的小写字母改为大写字母以前通过使用and来无差别修改字母的程序,现在有了条件转移和大小写判断终于可以写一个判断程序了letterc:mov ch,0l:mov al,[si] ;通过8位寄存器al来定义数据单位为

2017-04-25 23:07:17 390

原创 170424 汇编-OF标志位的进一步理解

1625-5 王子昂 总结《2017年4月24日》 【连续第205天总结】A.汇编语言QT与JSB.做了几个检测点来巩固一下知识:检测点11.3补全程序,统计F000:0处32个字节中,大小在[32,128]的数据的个数mov ax,0f000hmov ds,axmov bx,0mob dx,0mov cx,32;循环次数s:mo

2017-04-24 21:19:19 1257

原创 170423 PyQt5-WebEngineView与js互动

1625-5 王子昂 总结《2017年4月23日》 【连续第204天总结】A. PyQt5 百度地图APIB. 之前已经把放置了API的html文件成功在PyQt中显示,但是交互是个大难题JavaScript与Qt的交互有两种方式,WebKit和WebEngineView+WebChannel由于WebKit已经在Qt5中被删除,因此无法使用理论上来说应该是通过page.a

2017-04-23 21:58:47 5262

原创 170422 汇编-串传送和df标志位

1625-5 王子昂 总结《2017年4月22日》 【连续第203天总结】A.汇编语言B.movsb指令用于将ds:si指向的内容送入es:di中,然后将si和di+1/-1当需要处理字的时候,还有movsw指令,可以一次传送两个字节,然后将si和di+2/-2另外还有指令rep可以与他们配合eg: rep movsb意义:重复执行movsb,直到cx为0这样就

2017-04-23 11:49:56 786

原创 170421 汇编-方向标志位df

1625-5 王子昂 总结《2017年4月21日》 【连续第202天总结】A.汇编B.flag的第10位是DF,方向标志位。在串处理命令中,控制每次操作后si,di的增减df=0每次操作后si\di递增df=1每次操作后si\di递减串传送指令movsb等价于 es*16+di=ds*16+si若df=0则si++,di++若df=1则si--,di

2017-04-22 12:00:52 3044

原创 170420 汇编-其他条件转移指令

1625-5 王子昂 总结《2017年4月20日》 【连续第201天总结】A.汇编 第十一章90%B.检测比较结果的条件转移指令:转移指的是它能够修改IP;条件指的是它可以根据某种条件决定是否修改IP比如jcxz就是一个条件转移指令,检测cx中的值是否为0,决定是否转移至标号处除此以外,大多数条件转移指令都检测标志寄存器的相关标志位。它们通常和cmp指令相配合使用。

2017-04-21 00:30:15 449

原创 170419 汇编-cmp指令

1625-5 王子昂 总结《2017年4月19日》 【连续第200天总结】A.汇编语言 十一章B.cmp指令是比较指令,相当于减法,但不保存结果它执行后对标准寄存器产生影响,其他相关指令通过读取flag来得知结果eg: cmp ax,ax结果:zf=1,pf=1,sf=0,cf=0,of=0对cmp ax,bx若ax=bx,则zf=1若ax!=bx,则zf=

2017-04-19 23:38:27 653

原创 170418 汇编-adc和sbb的进位/借位加减法命令

1625-5 王子昂 总结《2017年4月18日》 【连续第199天总结】A.汇编 第十一章B.第0位CF,进位标志位表示的是“无符号数”运算时的进位/借位情况第11位OF,溢出标志位表示的则是“有符号数”运算时的溢出情况它们俩是彼此独立的,哪一位有意义取决于运算数是有符号数还是无符号数adc是带进位加法指令,利用了CF位上记录的进位值。adc 数1,数2最终结

2017-04-19 11:02:46 4247

原创 170417 汇编-除法防溢出和数值显示的子程序实操

1625-5 王子昂 总结《2017年4月17日》 【连续第198天总结】A.汇编语言 综合设计180%B.综合设计中的三个子程序进行了上机实验,不溢出除法进行的很顺利,除了刚开始写的时候由于公式里没说余数哪去了所以也没写检查了一下公式,重新理解了余数的出现地点然后将其正确输出即可代码:assume cs:codecode segmentstart: mov

2017-04-18 00:20:35 821

原创 170416 汇编-标志寄存器:SF、CF、OF

1625-5 王子昂 总结《2017年4月16日》 【连续第197天总结】A.汇编语言 标志寄存器B.flag的第7位是SF,符号标志位。它记录相关指令后,其结果是否为负。如果结果为负,sf=1;如果非负,sf=0计算机通过补码来表示数据,一个二进制数据的第一位即能表示2的7次方,也能表示负数因此需要SF来记录该结果的正负flag的第0位是CF,进位标志位。一般情况下,

2017-04-17 11:51:57 4531

原创 170415 汇编 综合设计程序1和标志寄存器

1625-5 王子昂 总结《2017年4月15日》 【连续第196天总结】A.汇编语言 十一章20%B.有一种叫做标准寄存器的特殊寄存器,它有3种作用:用来存储相关指令的某些执行结果用来为CPU执行相关指令提供行为依据用来控制CPU的相关工作方式8086CPU的标志寄存器有16位,其中存储的信息通常被称为程序状态字(PSW)标准寄存器为flag,不是用来存放

2017-04-15 21:31:56 532

原创 170414 PY中显示JS

1625-5 王子昂 总结《2017年4月14日》 【连续第195天总结】A.PyQt5 嵌入JavaScriptB.使用官方提供的JSAPI可以直接插入地图,问题在于如何将其在QT中显示和参数传递PyQt5中有QWebEngineeWidgets控件专门用来显示网页部分setHtml方法直接传入Html语言无法正常显示,但是在同目录下将需要的JS保存为Html文件,再在P

2017-04-15 11:51:23 483

原创 170413 汇编-防溢出除法和数值转字符型的子程序

1625-5 王子昂 总结《2017年4月13日》 【连续第194天总结】A.汇编语言实验十 90%B.第二个子程序:解决除法溢出的问题word型/byte型时以8位寄存器保存余数和商,但有可能商大于8位,此时会报错Divide overflow;解决程序:被除数为dword型,除数为word型,结果为dword型参数:ax=低16位 dx=高16位cx

2017-04-13 23:22:35 477

原创 170412 汇编-显示字符串的子程序

1625-5 王子昂 总结《2017年4月12日》 【连续第193天总结】A.汇编语言 实验十30%B.子程序之一:给定行号、列号、字符串和颜色,可以在程序中修改显存来达到显示字符串的目的代码如下:;dh中保存行号(0~24),dl中保存列号(0~79),cl中保存颜色,ds:si指向字符串的首地址show_str: mov ax,0B800Hmov es,

2017-04-12 22:24:54 962

原创 170411 PyQt5-控件透明,汇编-call和ret配合、子程序

1625-5 王子昂 总结《2017年4月10日》 【连续第191天总结】A.PyQt5 控件半透明、stackwidget的切换100%汇编第十章90%B.控件半透明主要是背景颜色的设置,百度上大部分都是半透明/透明窗口通过trans.setWindowOpacity(0.5)可以直接设置窗口的透明度(越小越透明,1不变,0全透)但是如果只针对一个控件上述方法

2017-04-11 23:44:18 1754

原创 170410 汇编-ret和call,OD-基本操作

1625-5 王子昂 总结《2017年4月10日》 【连续第191天总结】A.汇编语言 第十章70%OlleyDbg基本操作B.ret指令用栈中的数据修改IP的内容,从而实现近转移。相当于pop IPretf指令用栈中的数据修改CS和IP的内容,从而实现远转移。相当于pop IP pop CScall指令将当前的IP或CS和IP压入栈中,然后转移call不能

2017-04-10 18:45:17 1014

原创 170409 汇编-转移指令,OD配置

1625-5 王子昂 总结《2017年4月9日》 【连续第190天总结】A.汇编语言 第九章B.段间转移(远转移):jmp far ptr 标号...eg:jmp far ptr sdb 256 dup (0)s:add ax,1...翻译成debug后,jmp行的机器码为:EA0B01 BD0B;指令为:JMP0BBD:010B即目的地

2017-04-09 23:49:47 553

原创 170408 汇编-段内转移指令

1625-5 王子昂 总结《2017年4月8日》 【连续第189天总结】A.汇编语言第九章B.可以控制CPU执行内存中某处代码的指令叫做转移指令转移行为有两种:只修改IP时,称为段内转移;同时修改CS和IP时,称为段间转移段内转移又按照IP的修改范围不同,分为两种:短转移:IP的修改范围为-128-127长转移:IP的修改范围为-32768-32767转

2017-04-09 11:48:22 1067

原创 170407 汇编-综合练习 实验7

1625-5 王子昂 总结《2017年4月7日》 【连续第188天总结】A.汇编第八章实验 100%B.题:将给定的定义好的数据重新按格式写入指定table段中,并计算21年中的人均收入乍一看还是有点懵的,汇编的结构太混乱了。或者说太简单了,全部由寄存器和内存单元构成。慢慢理清思路,由于年份和总收入都占4个字节,而人数只占2个字节,因此不可能同用一个寄存器来表示(因为长度不

2017-04-08 01:30:25 701

原创 170406 汇编-第八章数据类型、div和dup

1625-5 王子昂 总结《2017年4月6日》 【连续第187天总结】A.汇编第八章B.数据处理的两个基本问题:处理的数据在什么地方要处理的数据有多长这两个问题,必须在机器指令中给以明确或隐含的说明,否则计算机就无法工作。在8086CPU中,只有bx,si,di和bp四个寄存器中能够使用于[...]来进行内存单元的寻址。而ax,cx,dx等等都是不可以放于其中

2017-04-06 21:55:23 468

原创 170405 汇编-嵌套循环练习,OD-界面介绍

1625-5 王子昂 总结《2017年4月5日》 【连续第186天总结】A.汇编语言 实验6ollydbg界面介绍B.汇编的实验题题为将给定数据段的每行的前4个字母改为大写只要把思路理清了,做起来还是挺容易的原理:大小写英文字母的ASCII码值相差64,即2^5,100000b。且小写字母均大于64,大写字母均小于64。因此只需要使用and操作即可将该位设置为0,来

2017-04-05 16:48:23 843

原创 170404 汇编-灵活的内存地址调用方法

1625-5 王子昂 总结《2017年4月4日》 【连续第185天总结】A.汇编第七章 100%加密与解密B.si和di是专门用于表示偏移地址的寄存器,与[bx+idata]类似还可以使用[bx+si]或[bx+di],表示偏移地址为bx中的值加si/di中的值常用[bx][si/di]的格式表示也可以使用[bx+idata+si/di]常用idata[bx][

2017-04-04 17:43:21 470

原创 170403 汇编-位运算和地址表示,逆向-winapi和系统相关基础

1625-5 王子昂 总结《2017年4月3日》 【连续第184天总结】A.汇编第七章 50%加密与解密第一章100%B.更灵活的定位内存地址的方法:and:取交位运算,可以将寄存器的值的某一位设为0,其他位不变or:取并位运算,可以将寄存器的值的某一位设为1,其他位不变eg:mov al,01100011Band al,10111111B//可以使

2017-04-03 23:39:09 832

原创 170402 汇编-分段、实验和复习

1625-5 王子昂 总结《2017年4月2日》 【连续第183天总结】A.汇编 分段和复习B.编程实验里出了BUG,基本上综合用到了之前的大部分知识,忘得很多了,于是正好来一遍整体复习寄存器:AX,BX通用寄存器,充当变量,任意使用CX专门用于储存循环次数DS数据段寄存器,用于表示默认代码的段前缀SS栈段寄存器,用于表示栈堆指针的段地址CS

2017-04-02 14:46:58 301

原创 170401 汇编第六章 内存分段

1625-5 王子昂 总结《2017年4月1日》 【连续第182天总结】A.汇编语言 第六章B.之前虽然学习了栈的使用,但是对于要考虑内存数据的安全性时的正常使用,需要一个单独的安全的数据空间dw命令申请的内存空间就可以派上用场。dw 0,0,0,0,0,0,0,0//既可以表示申请了8个值为0的字的空间,也可以表示开辟了16个字节的空间(供栈使用)为了区分

2017-04-02 00:22:52 417

原创 170331 汇编-寄存器复习

1625-5 王子昂 总结《2017年3月31日》 【连续第181天总结】A.汇编语言 第五章实验、6.1B.实验题做的挺困难,很多寄存器需要好好复习CPU的指令各自都拥有自己的特性,和寄存器(变量)结合起来发挥的作用要好好梳理一下DS:数据段寄存器,存储数据;作为访问内存区域的默认段前缀SS:栈堆段寄存器,表示栈指针的段地址SP:栈堆寄存器,表示栈指针的偏移地址

2017-04-01 12:21:54 382

空空如也

空空如也

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

TA关注的人

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