初次尝试使用IDAPro修改程序控制流程
先用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修改程序控制流程相关推荐
- idea(二)初次安装强烈建议修改的配置
文章目录 1.1 隐藏自动生成的idea文件夹和iml文件 1.2 智能提示忽略大小写 1.3 智能导包,这个非常实用 1.4 多行显示tab页 1.5 优化JVM参数 1.6 开启自动编译 1.7 ...
- Redis 初次尝试
Redis 初次尝试 第一次接触redis,也不知道要写些什么.就玩了下将redis列表中的数据存入mysql数据库中. 首先有三个文件: redis.php 添加数据进redis: insert_c ...
- mysql 8.0用doc修改密码_MYSQL8.0修改密码流程
MYSQL8.0修改密码流程1.以管理员身份打开cmd2.找到mysql 的安装路径bin文件的路径,3.输入net start mysql4.输入mysql -u root -p5.找到my.ini ...
- 完美世界如何修改服务器ip,完美世界:完美整容及修改身材流程
1.代码整容流程: 先打开 <完美世界>\element\userdata\character 的ini文件就可以达到~ character71.ini 为女羽灵的形象修改默认配置 cha ...
- 魔力宝贝服务器修改器装备,【法兰城的回忆】魔力宝贝游戏手工架设服务端+客户端修改工具+流程说明...
[法兰城的回忆]魔力宝贝游戏手工架设服务端+客户端修改工具+流程说明_站长网(Downzz.com) 安装说明: 1.安装宝塔 yum install -y wget && wget ...
- 二次开发shopnc默认的修改密码流程
二开默认的修改密码流程: 忘记密码,输入用户名和注册邮箱,发送验证码到该邮箱,通过该验证码直接进入修改密码. find_password_jym.php模板(输入验证码模板) <form act ...
- 程序控制流程(三大流程)
程序控制流程(三大流程) 前言--前面我们学习的白能量,运算符,其本质都是一个语句内(表达式内部)的运算的规则 很多代码,代码如何执行,某行代码执行多少次,这些都是由程序控制流程控制 一.顺序结构: ...
- 简单讲讲python程序控制流程
一.程序控制流程的分类 python的程序控制流程一般分为三种结构: 1.顺序结构 2.选择结构 3.循环结构 1.顺序结构:即自上而下运行,逐条执行. 2.选择结构:对条 ...
- 初次尝试python爬虫,爬取小说网站的小说。
本次是小阿鹏,第一次通过python爬虫去爬一个小说网站的小说. 下面直接上菜. 1.首先我需要导入相应的包,这里我采用了第三方模块的架包,requests.requests是python实现的简单易 ...
最新文章
- Three levels at which any machine carrying out an Information-Processing task must be understood
- 新茶饮“降价内卷”的尽头,是供应链?
- ECCV 2020 SenseHuman Workshop:人类感知、理解与生成
- Meerkat关闭直播?很好,你努力挣扎的样子成功吸引了我们的注意力
- C# 10 新特性 —— 补充篇
- C#水晶报表,窗体不显示,闪退
- C++11 新关键字
- HIVE 分区 分桶
- 算法:Maximum Depth of Binary Tree(二叉树的最大深度)
- linux下hex文件到bin文件的格式转化,hex转换成bin文件小工具(HEX2BIN.EXE)下载_hex转换成bin文件小工具(HEX2BIN.EXE)官方下载-太平洋下载中心...
- 电子科技大学格拉斯哥学院英文教材使用效果
- 快速制作机房3D效果图教程
- 这就是数学的魅力?QWQ
- 使用mybatisPlus时,报错 Data truncation: Out of range value for column ‘id‘ at row 1
- 使用tesserocr二值化识别知网登录验证码
- 【DBC专题】-2-CAN Signal信号的Multiplexor多路复用在DBC中实现
- 基于焦散线方法的自加速光束设计
- 二维高斯核函数(python)
- 测试中BUG定义、测试BUG的等级划分、Bug流程以及Bug解决优先级
- 乐视三合一体感摄像头(Orbbec Astra Pro)在ROS下安装使用
热门文章
- 【Linux】FrameBuffer操作入门
- PDFMaker无法找到Adobe PDF Printer的打印机驱动
- 机器人视觉——图像加法、图像融合、图像类型转换
- Python+selenium 自动化-调用dom节点的click()监听事件,强力操作节点,穿透元素进行点击,节点被遮挡不可点击解决方法
- 把浮点数转为字符串(隐形把数据进行四舍五入)
- 5.6 matlab曲线拟合案例(股票预测问题、算法的参数优化问题)
- Bag of Word
- java静态方法 问题_Java中堆、栈,静态方法和非静态方法的速度问题
- C2679	二进制 没有找到接受 std::string 类型的右操作数的运算符(或没有可接受的转换)
- Linux系统分区知识