【逆向】【Part 2】逆向分析基础

1.基本知识回顾

1.MessageBox函数

PS:这个函数出现的频率太高了,建议记下来(以防考试)。

函数原型:
int MessageBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT UType);
参数:
 hWnd:标识将被创建的消息框的拥有窗口。如果此参数为NULL,则消息框没有拥有窗口。

 lpText:指向一个以NULL结尾的、含有将被显示的消息的字符串的指针。

 lpCaption:指向一个以NULL结尾的、用于对话框标题的字符串的指针。

 uType:指定一个决定对话框的内容和行为的位标志集。

2.测试指令TEST和CMP

  • AND

了解TEST之前先来看:逻辑与指令AND

逻辑与的运算规则是:进行逻辑与运算的两位都是逻辑1,则结果为1;否则,结果都是0。

相当于乘法,或 (or) 相当于加法

也就是说,逻辑0和逻辑0相与的结果为0,逻辑0和逻辑1相与的结果为0,逻辑1和逻辑0相与的结果为0,只有逻辑1和逻辑1相与的结果才为1。

and reg,imm/reg/mem   ;逻辑与:reg=reg^imm/reg/mem
and mem,imm/reg       ;逻辑与:mem=mem^imm/reg

and指令支持的目的操作数是寄存器和存储单元,源操作数是立即数、寄存器和存储单元,但不能都是存储器操作数。

它设置标志CF=OF=0,(进位和溢出为都是0),根据结果按定义影响SF,ZF,PF(符号、零标志、奇偶标志) 

  • TEST

测试指令TEST将两个操作数按位进行逻辑与运算。格式如下:

test reg,imm/reg/mem       ;逻辑与:reg^imm/reg/mem
test mem,imm/reg           ;逻辑与:mem^imm/reg

Test指令不返回逻辑与结果,只根据结果像AND指令一样来设置状态标志。TEST指令通常用于检测一些

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值