decode.idc
来自「IDA教程」· IDC 代码 · 共 36 行
IDC
36 行
#include "idc.idc"
static main() {
auto ea,x,y,z,zbyte,SRange,TStrLen,DeCodeBuffer,DeCodeCounter,NotTarget;
x = 0x404bee;
for ( y=RfirstB(x); y != BADADDR; y=RnextB(x,y) ){
for (SRange = 4; SRange < 0x50; SRange++){
z = y - SRange;
zbyte = Byte(z);
if (zbyte == 0xb8){
zbyte = Dword(z + 1);
ea = Dword(zbyte);
if (ea != 0xFFFFFFFF){
if (Byte(zbyte - 1) == 1){
break;
}
PatchByte (zbyte - 1,1);
TStrLen = 0;
while (TStrLen < 0x30){
DeCodeCounter = zbyte + TStrLen;
DeCodeBuffer = Byte(DeCodeCounter) + 0x80;
if (DeCodeBuffer == 0x80) break;
PatchByte (DeCodeCounter,DeCodeBuffer);
TStrLen++;
}
MakeUnknown (zbyte,TStrLen,0);
MakeStr (zbyte, DeCodeCounter);
break;
}
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?