如何对汇编设立不变OD汇编死码与二进制死码

admin 2024年5月8日21:44:27评论5 views字数 1079阅读3分35秒阅读模式

=======================

为什么要设立?

因为游戏更新基址,较大的偏移会变化,为了方便,

所以设立OD死码,方便快速获取游戏更新后的相关数据。

=======================
什么是OD汇编死码与OD二进制死码?

OD汇编死码指的就是OD反汇编中游戏更新后也不变的汇编。
OD二进制死码指的就是OD反汇编中游戏更新后也不变的二进制。
=======================

如何设立OD汇编死码?

条件:最多8条汇编,因为OD里ctrl+s搜的时候最多只能8条

哪些汇编不能用于OD死码:call 内存地址
                        jz/jnz/je(等跳转语句) 内存地址
                        moveax,[ecx+0abc]  偏移abc比较大的不可以。     
                        moveax,[esp+30]   汇编里有ESP堆栈寄存器的不可以,后面跟的偏移+30会变化

举例:

LEA EAX,DWORD PTR SS:[ESP+10]

LEA ECX,DWORD PTR SS:[ESP+40]

LEA EDX,DWORD PTR SS:[ESP+4]

PUSH ESI

PUSH EDI

PUSH EAX

=======================

如何设立OD二进制死码?

根据上面不能用于死码的情况来设立二进制死码:

具体设立是:OD中选中一块汇编,右键-二进制-二进制复制。

快捷键:ctrl+b

举例:

0077B832 |.  56               PUSH ESI

0077B833 |.  57               PUSH EDI

0077B834 |.  50               PUSH EAX

0077B835 |.  8B8424 D0000000  MOV EAX,DWORD PTR SS:[ESP+D0]

0077B83C |.  51               PUSH ECX

0077B83D |.  52               PUSH EDX

0077B83E |.  50               PUSH EAX

0077B83F |.  E8 0C9B1200      CALL elementc.008A5350

56 57 50 8B 84 24 D0 00 00 00 51 52 50 E80C 9B 12 00

56 57 50 8B 84 24 ?? 00 00 00 51 52 50 E8?? ?? ?? ??

=======================

原文始发于微信公众号(汇编语言):如何对汇编设立不变OD汇编死码与二进制死码

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月8日21:44:27
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   如何对汇编设立不变OD汇编死码与二进制死码http://cn-sec.com/archives/958597.html

发表评论

匿名网友 填写信息