2020.04.13-2020.04.19
加密算法
单向散列算法
SHA算法
安全散列算法,包括SHA-1,SHA-256,SHA-384,SHA-512,分别产生160位、256位、384位、512位散列值
SHA-1算法
原始消息长度不能超过2^64
sha-1算法与md4算法原理相同,消息分组和填充方式和md5算法相同(到md5的第二步)
安全散列算法,包括SHA-1,SHA-256,SHA-384,SHA-512,分别产生160位、256位、384位、512位散列值
原始消息长度不能超过2^64
sha-1算法与md4算法原理相同,消息分组和填充方式和md5算法相同(到md5的第二步)
要将软件菜单和窗口变得不可用,可用以下函数
原因是两个_config.yml(可能还有其他文件吧)里所有缩进都不见了…不知道是为啥,就甩给 vscode 和格式化代码插件吧(…)
然后,原来 .yml 要用缩进表示层级啊…
嗯顺便换了个主题
c++的三大核心机制是封装、继承、多态,虚函数是多态的一种体现。在逆向过程中,虚函数是一种还原面向对象代码的重要手段
不同的类虚表不同,相同的类对象共享一个虚表
(以下讲的是用 c++写的程序)
在构造函数中,首先初始化虚表指针,然后初始化数据成员,最后返回 this 指针
条件设置指令的形式是“SETcc r/m8”, r/m8表示8位寄存器或单字节内存单元
条件设置指令测试一些标志位,把结果记录的目标操作数中
测试:
就此开一篇单独记录 py 爬虫的学习以及实操中遇到的问题(可能吧)
(分割线用(***或—))
‘View’->‘Open subviews’->‘Enumerations’ 打开枚举窗口,按’Insert’插入新的枚举类型,按’N’添加成员
选中需要重新定义的数据,按’M’后将其转换
添加注释:冒号或分号
跳转到某个地址(16进制):‘G’;返回(后退):‘Esc’;前进:‘Ctrl+Enter’
可以知道指令代码相互调用的关系
'↑j’中j表示跳转,o表示偏移量,p表示子程序,双击或按回车可以跳到调用该处的地方
在‘loc_xxxxx’上按’x’打开交叉参考窗口
在OD中用’F2’来设置,机器码是0xCC
执行一个int 3断点时,该地址处的指令首字节修改位CC(OD显示的还是原来的指令)
优点是可以设置无数个指令,缺点是改变了原程序机器码,容易被软件检测到,例如有些软件会检测api的首地址是否为0xCC
和DRx调试寄存器有关
DRx调试器共有8个(x从0 ~ 7)