Java 在其他文本字段中查找文本
我有一个关于用Java解析文本的问题Java 在其他文本字段中查找文本,java,parsing,text,Java,Parsing,Text,我有一个关于用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 d41d8cd9
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
名称虚拟地址虚拟大小原始大小熵MD5
代码4096 37732 37888 6.56 2c410dfc3efd04d9b69c35c70921424e
数据45056 588 1024 2.74 d5ea23d4ecf110fd2591314cbaa84278
BSS 49152 3720 0 0.00 d41d8cd98f00b204e9800998ecf8427e
.idata 53248 2384 2560 4.43 bb5485bf968b970e5ea81292af2acdba
.tls 57344 8 0.00 d41d8cd98f00b204e9800998ecf8427e
.rdata 61440 24 512 0.20 9ba824905bf9c7922b6fc87a38b74366
.reloc 65536 2228 0 0.00 d41d8cd98f00b204e9800998ecf8427e
.rsrc 69632 378360 378368 4.42 dc75e95cd49ce06a635cad0b18dab6d7
?运行时DLL
c:\docume~1\~1\locals~1\temp\glc1.tmp(成功)
c:\docume~1\~1\locals~1\temp\glk2.tmp(成功)
riched32.dll(成功)
secur32.dll(成功)
shell32.dll(成功)
ole32.dll(成功)
setupapi.dll(成功)
rpcrt4.dll(成功)
clbcatq.dll(成功)
comctl32.dll(成功)
ntshrui.dll(成功)
linkinfo.dll(成功)
userenv.dll(成功)
netapi32(成功)
合同
? PE进口
[+]advapi32.dll()
LookupPrivilegeValueA
我想解析文本,这在运行时DLL一节中。是否有任何解决方案在找到字符串运行时DLL时开始追加到stringbuilder,并在找到下一个DLL时追加?哪一行是PE导入?或者他们会为此解析选择其他解决方案吗?您可以逐行读取文本文件,并在找到字符串“Runtime 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");
}
}
}
但是有很多文本字段,并不是在DLL之后的每个后续PE导入中…为了这个需要,我找到了解决方案..thanksI更新了我的代码段:它找到所有从“?”开始的字符串,并将其包含到stringbuilder内容中的一对“?”。这将非常好,它将开始附加到我想要的值上,然后在下一个值上停止?一行..如何做到这一点?最好为这个字符串设置一个模式,比如从问号开始的字符串。你想指出“开始”和“结束”字符串的列表吗?如果这是最好的解决方案..好的..如何?