【讨论】请问这个软件能不能更改调用文件路径
【精装友情通讯录】是一款很好用的通讯录软件,XP系统安装后会向 X:\WINDOWS\system32 下写入 mpdata.dat 和 sfdata.dat 两个文件,所有数据都是存储在这两个文件里。所以重装系统时,如果忘了把它备份出来,所有心血就会付之东流!请问能把这两个文件放到软件安装目录下,然后修改主程序,让程序运行时直接调用自身目录里的这两个文件哪?要如何修改?麻烦哪位高手修改一下。
软件下载:http://www.fuzi.cn/down.asp?page=2&cat_id=&class_id= 理论上是可以改动的!
需要一些技巧+知识
你参考一下“逆向”代码 原帖由 飘云 于 2007-5-9 23:53 发表 https://www.chinapyg.com/images/common/back.gif
理论上是可以改动的!
需要一些技巧+知识
你参考一下“逆向”代码
坛主给修改一下吧,还有怎么论坛还无法上传附件? 思路,将GetSystemDirectoryA替换成GetCurrentDirectoryA!!! 一定注意函数原型哦!!
步骤:
1.先添加 一个 GetCurrentDirectoryA函数,★并记住调用地址,重要!★,,,用来取得当前目录 ~~我用lordPE添加的
2.修改:
005317AEpush 80
005317B3push 0053B2C8
005317B8call <jmp.&kernel32.GetSystemDirecto>
005317BDmov eax, esi
005317BFmov edx, 0053B2C8
005317C4mov ecx, 81
005317C9call 00404C84
005317CElea eax, dword ptr
005317D1mov ecx, 00531C44 ;ASCII "\mpdata.dat"
005317D6mov edx, dword ptr
改为如下:
005317AElea eax, dword ptr
005317B4push eax
005317B5push 0FF
005317BAcall dword ptr [<&KERNEL32.GetCurrentDirectoryA>] ; kernel32.GetCurrentDirectoryA//这里的地址每个机子可能不同哦!!
005317C0mov eax, esi
005317C2lea edx, dword ptr
005317C8mov ecx, 81
005317CDcall 00404C84
005317D2jmp short 0053181A
3.复制sfdata.dat、mpdata.dat、hdwl21.dll(注册文件)到软件目录
4.保存程序
5.Win2003 SP1 调试通过
BTW:告诉懒人一个办法,直接改成D盘根目录吧,不要添加什么鸟函数,不过软件不能更改目录哦,hoho@!https://www.chinapyg.com/temp/1.gif 原帖由 飘云 于 2007-5-10 02:16 发表 https://www.chinapyg.com/images/common/back.gif
思路,将GetSystemDirectoryA替换成GetCurrentDirectoryA!!! 一定注意函数原型哦!!
步骤:
1.先添加 一个 GetCurrentDirectoryA函数,★并记住调用地址,重要!★,,,用来取得当前目录 ~~我用lord ...
呵呵,坛主就是厉害,修改后软件是不是就可以放到任意目录使用了?现在论坛无法上传附件,麻烦老大发一个修改后的主程序到[email protected]好吗,谢谢! 自己照着改下啊~~ 谢谢坛主,以后要多向坛主学习。/:09 /:09 /:09
页:
[1]