Android 台灣中文網
標題:
用 IDA Pro 查詢敵人技能引用類別與參數
[打印本頁]
作者:
ASOSO
時間:
2020-12-4 09:53
標題:
用 IDA Pro 查詢敵人技能引用類別與參數
分享最近學習IDA pro Python有趣的成果,就是利用wiki上面敵人技能編號反查敵人技能初始代碼,比較有用的目的是了解該技能使用哪些類別與參數設定,給有興趣了解的人看一下。
def eaid():
ID=ida_kernwin.ask_long(1,"Enemy skill No.?")
if ID <= 2000:
print("EnemyAttribute$SkillInit_Part1 #技能編號 0~2000")
FUN=LocByName("EnemyAttribute$SkillInit_Part1")
ID0=0
JPT=GetOperandValue(FUN+ 96,1)
elif ID <= 3548:
print("EnemyAttribute$SkillInit_Part2 #技能編號 2001~3548")
FUN=LocByName("EnemyAttribute$SkillInit_Part2")
ID0=GetOperandValue(FUN+ 88,1)
JPT=GetOperandValue(FUN+108,1)
elif ID <= 4055:
print("EnemyAttribute$SkillInit_Part3 #技能編號 3549~4055")
FUN=LocByName("EnemyAttribute$SkillInit_Part3")
ID0=GetOperandValue(FUN+ 96,1)
JPT=GetOperandValue(FUN+116,1)
elif ID <= 4284:
print("EnemyAttribute$SkillInit_Part4 #技能編號 4087~4284")
FUN=LocByName("EnemyAttribute$SkillInit_Part4")
ID0=GetOperandValue(FUN+ 88,1)
JPT=GetOperandValue(FUN+104,1)
else:
print("EnemyAttribute$SkillInit_Part5 #技能編號 4285~4491")
FUN=LocByName("EnemyAttribute$SkillInit_Part5")
ID0=GetOperandValue(FUN+ 88,1) #技能起點編號
JPT=GetOperandValue(FUN+104,1) #起跳點
Offset=get_wide_dword(JPT+4*(ID-ID0))#函數偏移
print("{:08X}".format(JPT+Offset))
jumpto(JPT+Offset)
複製代碼
作者:
m0953009228
時間:
2021-3-30 12:30
請問修改敵人無技是用IDA PRO找數據再用HXD修改嗎
歡迎光臨 Android 台灣中文網 (https://apk.tw/)
Powered by Discuz! X3.1