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

逆向入门(1)C篇-正儿巴经的第1个实验

接触了这么久,第一次不是使用CV大法编写程序,认认真真的重头开始学习,记录一下找调试的感觉。
第一段代码,重温原码,反码和补码。

#include "stdafx.h"int main(int argc, char* argv[])
{char x = -7;printf("%x\n",&x);return 0;
}//stdafx.h是自己定义的一个头文件,里面可以写一些对常用头文件的引用

正数就不说了,原码、反码和补码都是一样的,这里主要通过案例再回顾一下负数的相关知识。
-7的原码为10000111,就是正常的二进制数,只是最高位为1。
-7的反码为11111000,最高位为符号位不变,其他位全取反。
-7的补码为11111001,补码为反码加1。即为0xF9

在运行了上段程序以后,通过在程序中打断点,使用F5进入debug模式,在窗口右键,可以调出以下界面,确实通过程序证实了理论所得。
在这里插入图片描述


再理解一下上述代码中的printf("%x\n",&x);%x指的是以十六进制的数表示,对&x进行格式化。然后的&x是通过&运算符去获取变量x的地址。
在这里插入图片描述

http://www.lryc.cn/news/515833.html

相关文章:

  • vue数据请求通用方案:axios的options都有哪些值
  • 使用R语言绘制标准的中国地图和世界地图
  • 【PyTorch】迁移学习、数据增强
  • Lucas-Kanade光流法详解
  • python多张图片生成/合成gif
  • iptable限制多个端口出站
  • springmvc--请求参数的绑定
  • Redis查询缓存
  • 双馈风电DFIG并网系统次转子侧变流器RSC抑制策略研究基于LADRC和重复控制的方法
  • 国产编辑器EverEdit - 使用技巧:变量重命名的一种简单替代方法
  • 使用SSH建立内网穿透,能够访问内网的web服务器
  • JWT认证实战
  • 计算机网络 (23)IP层转发分组的过程
  • 权限管理的方法
  • 【郑大主办、ACM出版、EI稳定检索】第四届密码学、网络安全与通信技术国际会议 (CNSCT 2025)
  • 48小时,搭建一个设备巡检报修系统
  • 基于Redisson实现重入锁
  • Java文件操作的简单示例
  • 删除与增加特定行
  • 动态规划六——两个数组的dp问题
  • 项目优化之策略模式
  • [读书日志]从零开始学习Chisel 第四篇:Scala面向对象编程——操作符即方法(敏捷硬件开发语言Chisel与数字系统设计)
  • 三子棋游戏
  • MyBatis执行一条sql语句的流程(源码解析)
  • 【电机控制】低通滤波器及系数配置
  • ArcgisServer过了元旦忽然用不了了?许可过期
  • 如何在不丢失数据的情况下从 IOS 14 回滚到 IOS 13
  • 【算法刷题】链表
  • 计算机网络 —— 网络编程实操(1)(UDP)
  • selenium 确保页面完全加载