先用VC6写一个简单程序;

如果在输入框输入 ABCdef ,单击按钮则弹出“密码正确”,否则弹出“密码错误”;

用IDAPro打开此exe;打开时有一些打开选项,例如选择处理器类型,因为不同的处理器指令集不同,按二进制打开文件时选择不同的指令集识别出的内容会不一样;先都默认;

进到反汇编窗口,可以在文本模式和图形模式之间切换;

切到文本模式;

从选项菜单调出如下对话框;把线框处改为16,这样会显示指令的机器码;

看一下机器码显示了;

jnz指令的机器码为75,如果改为74,就变为jz指令;

jnz,结果不为零(或不相等)则转移; jz即零标志为1就跳转;

这是最基本的破解原理,可以学习一下;干坏事是不好的;把75改为74,看一下是否产生输入任何内容都弹出 密码正确 的效果;

用文本搜索功能,搜到一个 75 ;

选择如下菜单,Edit - Patch program - Change byte...;

在弹出对话框把75改为74;

看一下改了;

然后选择如下菜单,应用改变到输入文件;

OK,保存;

然后运行程序;并没有改过来,还是要输入正确的密码才弹出 密码正确;

改的可能不是地方;

看一下IDA Pro的函数窗口;这是识别出的MFC函数;双击AfxMessageBox,

定位到对应反汇编代码处;看一下,这个if-else,应该是编译为jmp,并没有编译为jnz;下回继续;

初次尝试使用IDAPro修改程序控制流程相关推荐

  1. idea(二)初次安装强烈建议修改的配置

    文章目录 1.1 隐藏自动生成的idea文件夹和iml文件 1.2 智能提示忽略大小写 1.3 智能导包,这个非常实用 1.4 多行显示tab页 1.5 优化JVM参数 1.6 开启自动编译 1.7 ...

  2. Redis 初次尝试

    Redis 初次尝试 第一次接触redis,也不知道要写些什么.就玩了下将redis列表中的数据存入mysql数据库中. 首先有三个文件: redis.php 添加数据进redis: insert_c ...

  3. mysql 8.0用doc修改密码_MYSQL8.0修改密码流程

    MYSQL8.0修改密码流程1.以管理员身份打开cmd2.找到mysql 的安装路径bin文件的路径,3.输入net start mysql4.输入mysql -u root -p5.找到my.ini ...

  4. 完美世界如何修改服务器ip,完美世界:完美整容及修改身材流程

    1.代码整容流程: 先打开 <完美世界>\element\userdata\character 的ini文件就可以达到~ character71.ini 为女羽灵的形象修改默认配置 cha ...

  5. 魔力宝贝服务器修改器装备,【法兰城的回忆】魔力宝贝游戏手工架设服务端+客户端修改工具+流程说明...

    [法兰城的回忆]魔力宝贝游戏手工架设服务端+客户端修改工具+流程说明_站长网(Downzz.com) 安装说明: 1.安装宝塔 yum install -y wget && wget ...

  6. 二次开发shopnc默认的修改密码流程

    二开默认的修改密码流程: 忘记密码,输入用户名和注册邮箱,发送验证码到该邮箱,通过该验证码直接进入修改密码. find_password_jym.php模板(输入验证码模板) <form act ...

  7. 程序控制流程(三大流程)

    程序控制流程(三大流程) 前言--前面我们学习的白能量,运算符,其本质都是一个语句内(表达式内部)的运算的规则 很多代码,代码如何执行,某行代码执行多少次,这些都是由程序控制流程控制 一.顺序结构: ...

  8. 简单讲讲python程序控制流程

    一.程序控制流程的分类 python的程序控制流程一般分为三种结构: 1.顺序结构        2.选择结构        3.循环结构 1.顺序结构:即自上而下运行,逐条执行. 2.选择结构:对条 ...

  9. 初次尝试python爬虫,爬取小说网站的小说。

    本次是小阿鹏,第一次通过python爬虫去爬一个小说网站的小说. 下面直接上菜. 1.首先我需要导入相应的包,这里我采用了第三方模块的架包,requests.requests是python实现的简单易 ...

最新文章

  1. Three levels at which any machine carrying out an Information-Processing task must be understood
  2. 新茶饮“降价内卷”的尽头,是供应链?
  3. ECCV 2020 SenseHuman Workshop:人类感知、理解与生成
  4. Meerkat关闭直播?很好,你努力挣扎的样子成功吸引了我们的注意力
  5. C# 10 新特性 —— 补充篇
  6. C#水晶报表,窗体不显示,闪退
  7. C++11 新关键字
  8. HIVE 分区 分桶
  9. 算法:Maximum Depth of Binary Tree(二叉树的最大深度)
  10. linux下hex文件到bin文件的格式转化,hex转换成bin文件小工具(HEX2BIN.EXE)下载_hex转换成bin文件小工具(HEX2BIN.EXE)官方下载-太平洋下载中心...
  11. 电子科技大学格拉斯哥学院英文教材使用效果
  12. 快速制作机房3D效果图教程
  13. 这就是数学的魅力?QWQ
  14. 使用mybatisPlus时,报错 Data truncation: Out of range value for column ‘id‘ at row 1
  15. 使用tesserocr二值化识别知网登录验证码
  16. 【DBC专题】-2-CAN Signal信号的Multiplexor多路复用在DBC中实现
  17. 基于焦散线方法的自加速光束设计
  18. 二维高斯核函数(python)
  19. 测试中BUG定义、测试BUG的等级划分、Bug流程以及Bug解决优先级
  20. 乐视三合一体感摄像头(Orbbec Astra Pro)在ROS下安装使用

热门文章

  1. 【Linux】FrameBuffer操作入门
  2. PDFMaker无法找到Adobe PDF Printer的打印机驱动
  3. 机器人视觉——图像加法、图像融合、图像类型转换
  4. Python+selenium 自动化-调用dom节点的click()监听事件,强力操作节点,穿透元素进行点击,节点被遮挡不可点击解决方法
  5. 把浮点数转为字符串(隐形把数据进行四舍五入)
  6. 5.6 matlab曲线拟合案例(股票预测问题、算法的参数优化问题)
  7. Bag of Word
  8. java静态方法 问题_Java中堆、栈,静态方法和非静态方法的速度问题
  9. C2679 二进制 没有找到接受 std::string 类型的右操作数的运算符(或没有可接受的转换)
  10. Linux系统分区知识