找回密码
 加入
搜索
查看: 5388|回复: 31

[网络通信] 【已解决】关于在可执行文件中查找数据

[复制链接]
发表于 2019-9-17 18:52:52 | 显示全部楼层 |阅读模式
本帖最后由 chishingchan 于 2019-9-18 07:34 编辑

下面这段代码可以完成工作,但是效率很差!

我的构思:
先试查找 $Hex 的一个字节,找到一个字节就查找添加到两个字节,直到找到12个字节的位于文件中的地址。
请帮忙完善一下代码,谢谢!
Local $InstallDir, $File, $FileSize, $Read, $Position
Local $Hex = "0x534E415345524E554D008F0A"

$File = @ScriptDir & "\snapshot.exe"
If FileExists($File) Then
        $FileSize = FileGetSize($File)
        $ado_stream = ObjCreate("ADODB.Stream")
        $ado_stream.Type = 1
        $ado_stream.open
        $ado_stream.LoadFromFile($File)
        For $i =  0 To $FileSize - 1 Step 1
                $ado_stream.position = $i
                $Read = $ado_stream.Read((StringLen($Hex) - 2) / 2)
                If $Read = $Hex Then
                        $Position = $i
                        ExitLoop
                EndIf
        Next
        $ado_stream.Close
        MsgBox(0,"找到的地址及数据", $Position & @CRLF & $Hex)
EndIf

snapshot.exe

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2019-9-17 19:38:22 | 显示全部楼层
StringInstr 不行?
附件是损坏的

点评

附件没有损坏,我刚下载试了!  发表于 2019-9-17 19:49
 楼主| 发表于 2019-9-17 19:58:26 | 显示全部楼层
afan 发表于 2019-9-17 19:38
StringInstr 不行?
附件是损坏的

其实随便换个文件也是可以的,关键是想效率快点,有想法但是编写不出来。
发表于 2019-9-17 19:58:54 | 显示全部楼层
那就是我下的不好,只下了4遍
 楼主| 发表于 2019-9-17 20:22:28 | 显示全部楼层
afan 发表于 2019-9-17 19:58
那就是我下的不好,只下了4遍

会不会是系统的防毒软件在作怪?
发表于 2019-9-17 20:26:08 | 显示全部楼层
chishingchan 发表于 2019-9-17 20:22
会不会是系统的防毒软件在作怪?

从没遇到过~  你确定能下载解压?

点评

我使用 WinRAR 5.61 压缩的,请试试 WinRAR 5.61 或以上的版本解压。  发表于 2019-9-17 20:52
使用最新版WinRAR解压试试  发表于 2019-9-17 20:50
 楼主| 发表于 2019-9-17 20:29:20 | 显示全部楼层
afan 发表于 2019-9-17 19:58
那就是我下的不好,只下了4遍

我的那个示例是每1个位置就要读取12字节,所以感觉效率存在问题!
一般人所想到的是找到对应第1个字节后再看看第2个字节是否相同,如果所有12个字节都相同就得出地址并结束了。如果前某几个字节不同就进入下一个位置再检测。
发表于 2019-9-17 20:58:56 | 显示全部楼层
本帖最后由 afan 于 2019-9-17 21:01 编辑

不要用垃圾点评功能啦,没办法引用回复
没那么高版本的WinRAR,这东西完全没必要高版本……



一个文件直接传就是,压缩都不需要





之前问你 StringInstr 不行?

 楼主| 发表于 2019-9-17 21:41:50 | 显示全部楼层
afan 发表于 2019-9-17 20:58
不要用垃圾点评功能啦,没办法引用回复
没那么高版本的WinRAR,这东西完全没必要高版本……

看顶楼的图,非纯文本。
发表于 2019-9-17 21:44:37 | 显示全部楼层
chishingchan 发表于 2019-9-17 21:41
看顶楼的图,非纯文本。

二进制也是字符串。
费劲,不聊了
 楼主| 发表于 2019-9-17 21:44:43 | 显示全部楼层
afan 发表于 2019-9-17 20:58
不要用垃圾点评功能啦,没办法引用回复
没那么高版本的WinRAR,这东西完全没必要高版本……

WinRAR 5.61 官方中文注册版
https://www.lanzous.com/i681x9c
发表于 2019-9-17 21:45:39 | 显示全部楼层
chishingchan 发表于 2019-9-17 21:44
WinRAR 5.61 官方中文注册版
https://www.lanzous.com/i681x9c

不需要这东西,非要压缩我就不下了。
 楼主| 发表于 2019-9-17 21:52:17 | 显示全部楼层
本帖最后由 chishingchan 于 2019-9-17 21:55 编辑
afan 发表于 2019-9-17 21:45
不需要这东西,非要压缩我就不下了。

老大,已换了7z 的包,我下面再发一个给你。

这软件使用upx压缩后容量只有4百多K,我的IBMX40搜索到地址也花了15秒!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2019-9-17 21:57:51 | 显示全部楼层
afan 发表于 2019-9-17 21:45
不需要这东西,非要压缩我就不下了。

老大,顶楼的附件已换了
发表于 2019-9-17 22:28:31 | 显示全部楼层
偷懒的办法,既然已知在文件末尾,那就直接倒序循环呗,也是瞬间找到~
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-23 17:14 , Processed in 0.076909 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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