tu0129 发表于 2013-7-25 00:58:57

编译好的EXE文件会释放一个INI文件,如何再把INI文件包含回去替换原来的INI文件

本帖最后由 tu0129 于 2013-7-25 01:04 编辑

各位好!
一个编译好的EXE文件内包含了一个INI文件,每次运行时这个INI文件会被释放出来,这个INI文件包含了EXE文件运行时所需要的密码,在EXE文件上可以修改密码,修改后的密码会写入到释放出来的INI文件内,请问如何才能让EXE 关闭后把已经修改过的INI文件再包含回去,替换掉EXE文件里面原来的INI文件?不然重新运行又会是原来的密码,请帮忙举个例子,谢谢!

nmgwddj 发表于 2013-7-25 04:08:07

这个理论上是可以实现,但是不可能有程序苯到这种程度这样来做。
注册表、数据库、加密配置文件、网络通讯等等都可以非常轻松的实现。

chenronting 发表于 2013-7-25 08:11:20

论坛上有一个把文件偏移进程序本身的东西, 不过更容易会让误杀,且在MSE杀软下, 是会非常的卡。

tu0129 发表于 2013-7-25 09:11:51

注册表、数据库、加密配置文件、网络通讯 ...
nmgwddj 发表于 2013-7-25 04:08 http://www.autoitx.com/images/common/back.gif


    我知道可以这样,可是换了电脑呢?如何让注册表 数据库 加密的配置文件 跟着程序走呢?
有没有思路啊,帮帮忙!

kk_lee69 发表于 2013-7-25 11:50:46

回复 1# tu0129

樓主的 目的是為了 密碼對吧

何不 把密碼寫入註冊表裡面如果存在就 讀取不存在 就寫入 內定的密碼

使用者改完後就把密碼存到註冊表的位置, 下此開啟 就讀取註冊表

那就好了...不是

kk_lee69 发表于 2013-7-25 11:53:26

我知道可以这样,可是换了电脑呢?如何让注册表 数据库 加密的配置文件 跟着程序走呢?
有没有思 ...
tu0129 发表于 2013-7-25 09:11 http://www.autoitx.com/images/common/back.gif


    想要跟著走 只好使用這個方法了
http://www.autoitx.com/forum.php?mod=viewthread&tid=16292&rpid=536825&fav=yes&ordertype=0&page=37#pid536825

zch11230 发表于 2013-7-26 22:27:43

本帖最后由 zch11230 于 2013-7-26 22:32 编辑

我想的是把密码写到EXE文件末端
这个是主程序
If FileExists (@ScriptName&".bak") Then FileDelete (@ScriptName&".bak")
$hwnd = FileOpen(@ScriptName, 16)
$file = FileRead($hwnd)
FileClose($hwnd)
$filelen = BinaryLen($file)
$pwdlen = Number(BinaryToString(BinaryMid($file, $filelen - 1)))
$password = BinaryToString(BinaryMid($file, $filelen - $pwdlen - 1, $pwdlen))
$filedata = BinaryMid($file, 1, $filelen - $pwdlen - 2)

Do
        $newpwd = InputBox("", "旧密码为:"&$password&@LF&"请输入新密码", "abc123")
Until @error = 0
RunWait(@ComSpec &" /c ren "&@ScriptName&" "&@ScriptName&".bak",@ScriptDir,@SW_HIDE)

$newpwdlen = StringLen($newpwd)
If $newpwdlen < 10 Then $newpwdlen = "0" & $newpwdlen
$open = FileOpen(@ScriptName, 2)
FileWrite($open, $filedata & Binary(String($newpwd)) & Binary(String($newpwdlen)))
FileClose($open)
编译完后需要给它赋一个初始密码$file=FileOpen("test.exe",16)
$fs=FileRead($file)
FileClose($file)

$file=FileOpen("test.exe",17)
FileWrite($file, Binary("zch03"))
FileClose($file)
MsgBox (0,"","Done!")

sanmoking 发表于 2013-7-30 10:34:00

楼主可以找一下我之前写的win7开启wifi热点的小程序,就是把ssid和密码写入程序自身。

破帽遮颜 发表于 2013-8-1 03:42:06

学习了~~~~~~~~~

sgzhou12345 发表于 2013-8-2 22:33:23

好像有点难度的
页: [1]
查看完整版本: 编译好的EXE文件会释放一个INI文件,如何再把INI文件包含回去替换原来的INI文件