当前位置: 首页 > wzjs >正文

武进网站建设好么网址收录网站

武进网站建设好么,网址收录网站,排名前十的网页游戏,建网站需要什么技术目录 1.下面代码中if判断是什么含义,请分析 方法:枚举num的所有可能,看看判断的真假 代码 下面to_int32函数的作用是什么,请分析 方法:尝试一些数字去打印函数的返回值 代码 本文讲解枚举法和特值法 1.下面代码中if判断是什么含义,请分析 来自某修改器的逆向出的代码的…

目录

1.下面代码中if判断是什么含义,请分析

方法:枚举num的所有可能,看看判断的真假

代码

下面to_int32函数的作用是什么,请分析

方法:尝试一些数字去打印函数的返回值

代码


本文讲解枚举法和特值法

1.下面代码中if判断是什么含义,请分析

来自某修改器的逆向出的代码的一部分:

//num为unsigned int类型
if (num <= 12)
{if (((num - 8) & 0xFFFFFFFB) != 0){// do_something}
}

方法:枚举num的所有可能,看看判断的真假

枚举num的所有可能:循环

判断的真假的模版:

if ()
{printf("true");
}
else
{printf("false");
}

代码

因为num为unsigned int类型,因此从0枚举到12,打印每一种情况的真假

#include <stdio.h>
int main()
{for (unsigned int num=0;num<=12;num++)if (((num - 8) & 0xFFFFFFFB) != 0){printf("%d:true\n",num);}else{printf("%d:false\n", num);}
}

运行结果:

由运行结果可以看出:if判断等价为:

	if (num != 8 && num != 12){//do_something}

如果unsigned int类型的num没有规定范围,可以对所有值判断,代码如下

int main()
{for (unsigned int num = 0; num < UINT_MAX; num++)if (((num - 8) & 0xFFFFFFFB) != 0){//	printf("%d:true\n", num);}else{printf("%d:false\n", num);}
}

运行结果

下面to_int32函数的作用是什么,请分析

源代码片段来自https://github.com/pod32g/MD5/blob/master/md5.c 

摘自MD5算法的源文件的一部分:

uint32_t to_int32(const uint8_t* bytes)
{return (uint32_t)bytes[0]| ((uint32_t)bytes[1] << 8)| ((uint32_t)bytes[2] << 16)| ((uint32_t)bytes[3] << 24);
}

方法:尝试一些数字去打印函数的返回值

例如使用存有特定值的类型为uint8_t数组

代码

int main()
{uint8_t bytes[] = { 1, 2, 3, 4 };printf("%u",to_int32(bytes));
}

{ 1, 2, 3, 4 }与打印的结果67305985貌似没有什么关系,可能需要调整printf打印的格式,uint32_t既可以%u(十进制)打印,也可以以%x(十六进制)打印,尝试按%x打印

int main()
{uint8_t bytes[] = { 1, 2, 3, 4 };printf("%x",to_int32(bytes));
}

运行结果:

好像看出规律了,如下图所示:

可以推出to_int32函数的的等价写法如下,但没有原来的写法快

uint32_t to_int32(const uint8_t* bytes)
{return (uint32_t)bytes[0]+ ((uint32_t)bytes[1] * pow(2,8)//或运算在这里等价为+运算+ ((uint32_t)bytes[2] * pow(2, 16))+ ((uint32_t)bytes[3] * pow(2, 24)));
}

因此to_int32函数的作用:将一个类型为uint8_t的数组的四个元素转换为一个32位整数

http://www.dtcms.com/wzjs/433234.html

相关文章:

  • 福建金融公司网站建设临沂百度seo
  • 虚拟主机手机网站国际网络销售平台有哪些
  • 专业做app下载网站有哪些企业内训课程
  • 宁波seo网络推广价格详情汕头seo网络推广
  • 专业网站建设搭建seo合作
  • 电子商务安全问题 网站权限管理搜索引擎营销分析
  • 太原顶呱呱做网站地址电话yahoo搜索
  • 淘宝客网站建设教程博客网站登录
  • 上海网站建设 建站猫网站优化外包价格
  • 做网站项目团队口号系统优化的方法
  • 绵阳定制网站建设广州网站推广服务
  • 电子代加工东莞网站建设品牌推广活动策划案例
  • 宁波网站建设科技有限公司湖南正规关键词优化首选
  • 微信制作网站设计网站优化课程
  • 没有ipc备案的网站放单平台大全app
  • 将网站保存怎么做torrentkitty搜索引擎
  • 深圳购物网站建设公司中国十大关键词
  • 陕西做网站的公司地址线上营销怎么做
  • 文化书院网站建设方案seo搜索引擎优化推荐
  • 越南网站怎么做最基本的网站设计
  • 十堰网站建设是什么怎么做产品推广平台
  • 网站建设如何报价网站备案流程
  • 网站xml地图电商seo与sem是什么
  • 许昌做网站培训心得体会1000字通用
  • 济南网站建设多少钱推广网站排名
  • 专业网站建设办公关键词优化流程
  • 轻淘客cms建站教程一键制作单页网站
  • 电子商务网站建设的风险分析百度热搜广告位多少钱
  • 沧州南皮网站建设北京seo技术交流
  • 内江 网站建设企业网站设计服务