无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2737|回复: 12
打印 上一主题 下一主题

[分享] 最为简单的补充pe依赖文件的基于findstr.exe的TXT文本比较方法适合给pe补充缺失文件

[复制链接]
跳转到指定楼层
1#
发表于 2023-12-29 10:17:05 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
最为简单的补充pe依赖文件的基于findstr.exe的TXT文本比较方法适合给pe补充缺失文件

pe基本就是文件和注册表的配合组合,尤其是system32里的dll文件。

有时候我们会发现别人制作的pe有自己没有的系统功能,一般都是自己的pe里system32里的缺少必要的依赖文件。这时候需要对比别人pe补充system32里的依赖文件。

经试验发现最为简单的补充pe依赖文件的基于findstr.exe的TXT文本比较方法如下:

假设你把自己pe里的system32下的文件名称列表(其中大部分是XXX.dll这种)是1.txt,然后你手上有别人pe里的system32下的文件名称列表2.txt

只要打开cmd窗口输入findstr /rv /g:1.TXT 2.TXT>buchong.txt

回车后就能产生自己pe的1.txt需要补充的依赖文件名称列表buchong.txt了。





对比列表找出要补充的pe依赖文件.zip

24.25 KB, 下载次数: 53, 下载积分: 无忧币 -2

对比列表找出要补充的pe依赖文件

评分

参与人数 1无忧币 +5 收起 理由
某些人 + 5 赞一个!

查看全部评分

2#
 楼主| 发表于 2023-12-29 10:17:18 | 只看该作者
本帖最后由 sairen139 于 2024-1-11 21:55 编辑

要在批处理中使用find或findstr命令查找文本文件里的汉字,必须将处理文件保存为ANSI编码

如果不想用到findstr等exe,直接利用批处理的数组法如下:


@echo off
setlocal enabledelayedexpansion


REM 读取1.txt和2.txt文件内容到数组
for /f "delims=" %%a in (1.txt) do (
    set "line=%%a"
    set "file1[!line!]=1"
)
for /f "delims=" %%b in (2.txt) do (
    set "line=%%b"
    if not defined file1[!line!] (
        echo !line!>>buchong.txt
    )
)

逐句分析解说以上的批处理bat如下:
这段批处理脚本的功能是将两个文件1.txt和2.txt的内容读取到数组中,然后检查2.txt中的每一行是否在1.txt中,如果不在则将其追加到buchong.txt文件中。
  • @echo off 是关闭命令回显,这样在运行脚本时不会显示每一行命令。
  • setlocal enabledelayedexpansion启用延迟变量扩展,这允许在代码块中使用 ! 来访问变量。
  • for /f "delims=" %%a in (1.txt) do 从1.txt文件中逐行读取内容,并将每一行内容存储在变量 line 中。
  • set "file1[!line!]=1" 将1.txt中的每一行内容作为数组 file1 的索引,并将其值设置为1。
  • for /f "delims=" %%b in (2.txt) do 从2.txt文件中逐行读取内容,并将每一行内容存储在变量 line 中。
  • if not defined file1[!line!] 检查 file1 数组中是否存在2.txt中的当前行,如果不存在,则执行下一步。
  • echo !line!>>buchong.txt 将2.txt中的当前行追加到buchong.txt文件中。



IMG_8615.png (631.67 KB, 下载次数: 69)

把txt换成a.txt和b.txt也一样。

把txt换成a.txt和b.txt也一样。

数组法对比列表找出要补充的pe依赖文件.bat.TXT

308 Bytes, 下载次数: 5, 下载积分: 无忧币 -2

数组法对比列表找出要补充的pe依赖文件.bat

回复

使用道具 举报

3#
发表于 2023-12-29 10:23:47 | 只看该作者
觉得有一点高深
回复

使用道具 举报

4#
发表于 2023-12-29 10:26:58 | 只看该作者


我的方法比较笨,用excel的vlookup来对比筛选
回复

使用道具 举报

5#
发表于 2023-12-29 10:30:55 | 只看该作者
原来是这样:
1.txt————自己pe里的system32下的文件名称列表
2.txt————别人pe里的system32下的文件名称列表
buchong.txt————需要补充的依赖文件名称列表
回复

使用道具 举报

6#
发表于 2023-12-29 10:36:36 | 只看该作者
楼上的可行,手动处理
回复

使用道具 举报

7#
发表于 2023-12-29 11:02:40 | 只看该作者
谢谢分享
回复

使用道具 举报

8#
发表于 2023-12-29 11:32:06 | 只看该作者
回复

使用道具 举报

9#
发表于 2023-12-29 12:55:48 | 只看该作者
直接用对比软件不就结了。

开源的有WinMerge
回复

使用道具 举报

10#
发表于 2023-12-29 15:43:36 | 只看该作者
补充了文件还有需要注册表的。
回复

使用道具 举报

11#
发表于 2023-12-29 16:22:46 | 只看该作者
比对法确实不错
回复

使用道具 举报

12#
发表于 2023-12-29 19:30:39 | 只看该作者
谢谢分享
回复

使用道具 举报

13#
发表于 2024-1-28 11:24:24 | 只看该作者
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-16 23:51

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表