字符串比较形式(加密解密笔记)

字符序列号中的一个重点,需要一些技巧,加密者都是在比较上徘徊。
 
(1)寄存器直接比较
mov eax [];eax或rbx存放直接比较的两个数,一般都是16进形式
mov ebx [];比较的字符串
jz(jnz) XXX
 
(2)函数比较
mov eax [] ;比较的数或者指针直接存在寄存器中
mov ebx [];同时
call xxxxxxxx;比较功能的函数,可以是API函数,也可以是自定义的比较函数
call一般是个布尔函数,通过eax返回真假,例如call的代码:
cmp xxx,xxx
jz Lable
xor eax,eax
Lable:pop edi
pop esi
pop ebp
ret
 
(3)函数比较2
push xxxx;参数1,可以是地址、寄存器
push xxxx; 参数2
call xxxxxxxx;比较功能的函数,可以是API函数,也可以是自定义的比较函数
(4)串比较
lea edi[];edi指向字符串a
lea esi[];esi指向字符串b
repz cmpsd ;比较字符串a、b
jz(nz)

你可能感兴趣的:(软件安全)