2016-02-13 51 views
0

我有一個關於在Java中解析文本的問題。在其他文本字段中查找文本

Name Virtual address Virtual size Raw size Entropy MD5 
    CODE 4096 37732 37888 6.56 2c410dfc3efd04d9b69c35c70921424e 
    DATA 45056 588 1024 2.74 d5ea23d4ecf110fd2591314cbaa84278 
    BSS 49152 3720 0 0.00 d41d8cd98f00b204e9800998ecf8427e 
.idata 53248 2384 2560 4.43 bb5485bf968b970e5ea81292af2acdba 
.tls 57344 8 0 0.00 d41d8cd98f00b204e9800998ecf8427e 
.rdata 61440 24 512 0.20 9ba824905bf9c7922b6fc87a38b74366 
.reloc 65536 2228 0 0.00 d41d8cd98f00b204e9800998ecf8427e 
.rsrc 69632 378360 378368 4.42 dc75e95cd49ce06a635cad0b18dab6d7 
? Runtime DLLs 
c:\docume~1\<USER>~1\locals~1\temp\glc1.tmp (successful) 
c:\docume~1\<USER>~1\locals~1\temp\glk2.tmp (successful) 
riched32.dll (successful) 
secur32.dll (successful) 
shell32.dll (successful) 
ole32.dll (successful) 
setupapi.dll (successful) 
rpcrt4.dll (successful) 
clbcatq.dll (successful) 
comctl32.dll (successful) 
ntshrui.dll (successful) 
linkinfo.dll (successful) 
userenv.dll (successful) 
netapi32 (successful) 
Contract 
? PE imports 
[+] advapi32.dll() 
LookupPrivilegeValueA 

我想解析運行時DLLS部分中的文本。任何解決方案,當它找到字符串運行時DLLS時,它會開始附加到stringbuilder,它會追加到下一個?我是PE進口的一排?或者他們會選擇其他解決方案進行解析?

回答

0

您可以逐行讀取文本文件中的行,並開始追加線找到字符串「運行的DLL」,直到找到終點線後的StringBuilder:

String file = "your_file"; 
StringBuilder result = new StringBuilder(); 
boolean flag = false; 
try(BufferedReader br = new BufferedReader(new FileReader(file))) { 
    for(String line; (line = br.readLine()) != null;) { 
     if (line.trim().startsWith("? ")) { //lines starting at "? " 
      flag = !flag; 
      continue; 
     } 

     if (flag) { 
      //here lines can be parsed to successful or not 
      result.append(line + "\n"); 
     } 
    } 
} 
+0

但也有許多文本框,而不是在每一個遵循PE進口後DLLS ...爲此需要我找到解決方案..感謝 – YouYyn

+0

我更新了我的代碼片段:它找到所有字符串都以「?」開頭,並且在「?」對中包含stringbuilder內容。 – Filomat

+0

它會很好,它會開始追加我想要的價值並在接下來停止?在連續..如何做到這一點? – YouYyn

相關問題