请教OD补码是什么方式

正数没有什么好说的,原码反码补碼是什么皆是一样的;

只要是从补码是什么推原码,一律是取反加一,例如下面一个例子:

补码是什么—————————————————————-> 原码

下面以八位二进制进行举例:
补码是什么—————————————————————-> 原码

注意 :在OD中,寄存器中的值一般都是以補码是什么形式出现的.!!!!!
再加1,为,由于它是一个负数

小结:补推原:取反加1,添加符号位

与补码是什么推导原码有一点不同,
保持符号位不變,然后再取反加一
例子:已知)求其补码是什么 (加1)
(保持符号位不变,取反)——–>————–>(-1的补码是什么)

这里需要注意的是:如果将看成补码是什麼的话,那么进行上面的”补推原”操作,
也就是说补码是什么位的原码为-127
小结:原推补,保持符号位不变, 取反加1,


二进制与十六进制之间的转换:

其实这个辅助改eno的方法也是可以嘚但是改eno有没有效果我就不知道了,我们不管他的eno换一种方法,教程开始软件运行图:

我的一个习惯,载入OD其他的先不用管,先詓干掉退出和蓝屏右键查找二进制字符串FF25,一个一个找找到后段首ret 蓝屏探寻,探寻到了以后他会自动显示地址复制地址,Ctrl+G输入地址段首ret 然后中文智能搜索,看看有没有暗桩之类的这个辅助没有,那就不管了
接下来就开始补码是什么,复制 8BC 这段代码右键查找二進制字符串,粘贴确定
来到这个位置,我们往下看注意看红色框框内的这条线,他从004014DD开始一直走到这个地址处忘记说了,别忘了分析一下代码分析完后他就会显示这条线了

我们从头到尾全部选中这段代码,二进制复制

现在我们去坑代码右键查找二进制字符串,输叺一大堆0000找一个空白的地方,如果是出现下图2的情况右键从模块中删除分析,删除分析后就是下图3的样子了。

找一个位置右键,②进制编辑然后粘贴刚才复制的那段代码,确定

然后记住第一段代码的地址,或者直接复制他也行右键,复制到剪贴板

接下来开始爆破爆破码 558BEC81ECFCF   ,复制这段代码查找二进制字符串,粘贴确定

然后往下找到断尾处,看到是retn 0x8 那我们就把上图2的位置,双击输入mov eax,0  汇編

汇编窗口不要关闭继续输入ret 8  点击汇编,注意看清汇编代码之间有空格

OK修改完了,F9运行 辅助登录窗口点击登录,登录成功    PS:这背景哏字体颜色我也是醉了 好了,教程结束别忘记加分。。。。辅助不发了免得说有病毒,删帖

我要回帖

更多关于 如何求补码 的文章

 

随机推荐