我正在研究恶意软件的特征提取。我希望通过丢弃操作数并使用唯一编号(比如指令ID)对每个操作符进行编码来翻译汇编指令。
我想要这样的输出: 指令顺序:MOV→CALL→SUB→MOV 指令IDS:240→33→386→240
答案 0 :(得分:0)
类似的东西:
public static Map<Integer, String> LOOK_UP = new HashMap<>();
static {
LOOK_UP.put(240, "MOV");
...
}
public static String InstructionToString(Integer i) {
if(LOOK_UP.contains(i)) {
return LOOK_UP.get(i);
} else {
//return error of some kinde
}
}
public static List<String> InstructionsToString(Integer[] arrayOfInst) {
List<String> ret = new LinkedList<>();
for(int i : arrayOfInst) {
ret.add(InstructionToString(i));
}
return ret;
}
(我没有检查代码的语法)