设为首页
收藏本站
切换到窄版
账号
自动登录
找回密码
密码
登录
加入我们
只需一步,快速开始
快捷导航
网站首页
老马博客
迦南天空
阿杰软件
电脑散热
会员动态
Space
论坛广场
BBS
新人必读
亮叔杂谈
天猫店铺
京东店铺
免费实用软件下载
内核编程技术展示
搜索
搜索
本版
帖子
用户
紫水晶编程技术论坛 - 努力打造成全国最好的编程论坛
»
论坛广场
›
置顶区
›
WINDOWS核心编程
›
有没有修改汇编指令含义的方法,比如修改0x55的含义为0X ...
返回列表
发新帖
查看:
4235
|
回复:
3
有没有修改汇编指令含义的方法,比如修改0x55的含义为0XCC
[复制链接]
HJonny
HJonny
当前离线
积分
66
5
主题
53
回帖
0
精华
铜牌会员
铜牌会员
, 积分 66, 距离下一级还需 254 积分
铜牌会员
, 积分 66, 距离下一级还需 254 积分
积分
66
收听TA
发消息
发表于 2018-2-11 16:33:24
|
显示全部楼层
|
阅读模式
最近调试程序遇到一个问题,极其猥琐,检测了各种断点,不好解决,忽然想到一个问题:
CPU是如何执行汇编指令的?
为什么0x55要对应 push ebp?
为什么0x33C0 要对应 xor eax,eax?
那么有没有一种可能性,让我们可以修改机器码的含义
把原本0x55(push ebp)的机器码含义修改成0xcc(int3),这样就可以在避免修改主模块的情况下设置断点了。
带着这个问题,各种搜啊,似乎没有人研究过这个问题,所以把问题抛到这来了,欢迎大家讨
论
undefined
回复
举报
jingjinghack
jingjinghack
当前离线
积分
9
0
主题
9
回帖
0
精华
初来乍到
初来乍到
, 积分 9, 距离下一级还需 23 积分
初来乍到
, 积分 9, 距离下一级还需 23 积分
积分
9
收听TA
发消息
发表于 2018-2-18 13:35:23
|
显示全部楼层
https://wiki.osdev.org/X86-64_Instruction_Encoding
回复
举报
gfw
gfw
当前离线
积分
273
28
主题
116
回帖
0
精华
铜牌会员
铜牌会员
, 积分 273, 距离下一级还需 47 积分
铜牌会员
, 积分 273, 距离下一级还需 47 积分
积分
273
收听TA
发消息
发表于 2018-5-7 00:36:25
|
显示全部楼层
LZ自己去发明个CPU就可以了,呵呵。
回复
举报
testid
testid
当前离线
积分
281
12
主题
144
回帖
0
精华
铜牌会员
铜牌会员
, 积分 281, 距离下一级还需 39 积分
铜牌会员
, 积分 281, 距离下一级还需 39 积分
积分
281
收听TA
发消息
发表于 2018-8-7 16:02:17
|
显示全部楼层
用EPT,读一套执行一套。
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
加入我们
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
快速回复
返回顶部
返回列表