我有汇编代码文件。我想找出对本地子程序和库函数的所有调用。以下是文件中的一段代码:
sub_401014 proc near
call sub_401035
mov esi, ebp
add esi, offset dword_4013FC
push esi
sub ecx, 18h
add ecx, ss:dword_4015B2[ebp]
call loc_402014
xor eax, ebx
push ecx
call FindNextFileA
retn
sub_401014 endp
在这里,我想创建一个队列中只有 2 个函数名的队列 --> (sub_401035,FindNextFileA)。即不要添加对 loc_ 的任何调用。
我尝试了这个 java 正则表达式,但我得到了空队列:
String entry_regex = "call " + "/^((?!loc).)*$/s";
Pattern function_pattern = Pattern.compile(entry_regex);
Matcher function_matcher = function_pattern.matcher(currentLine1); /*--> currentLine1 is current line read*/
if(function_matcher.find()){
String [] array = function_matcher.group().split(" ");
queue.insert(array[1]);
}