记那些我做逆向题常用到的idapy脚本

解密重覆盖:

sea = ScreenEA()
end =
str = "123"# 
d = 0
for i in range(sea,end):
    PatchByte(i,(Byte(i)^str[d%3]))
    d += 1

输出十六进制数组:

from __future__ import print_function#支持py2使用py3的函数
from __future__ import print_function#支持py2使用py3的函数
sea = ScreenEA()
for i in range(sea,sea+offset):
    print('0x%x,'%(Byte(i)),end = "")

当元素位数为4字节,实际位数2字节时:

from __future__ import print_function#支持py2使用py3的函数
from __future__ import print_function#支持py2使用py3的函数
sea = ScreenEA()
for i in range(sea,sea+offset,4):
    print('0x%x'%(Byte(i+1)),end = "")
    print('%x,'%(Byte(i)),end = "")

直接替换某个字节

sea = ScreenEA()
PatchByte(sea,())

你可能感兴趣的:(逆向工程,二进制CTF,编程,ida,逆向工程,ctf)