飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 34024|回复: 6

【讨论】请问这个软件能不能更改调用文件路径

[复制链接]
  • TA的每日心情
    无聊
    2015-7-20 08:10
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2007-5-9 23:13:39 | 显示全部楼层 |阅读模式
    【精装友情通讯录】是一款很好用的通讯录软件,XP系统安装后会向 X:\WINDOWS\system32 下写入 mpdata.dat 和 sfdata.dat 两个文件,所有数据都是存储在这两个文件里。所以重装系统时,如果忘了把它备份出来,所有心血就会付之东流!请问能把这两个文件放到软件安装目录下,然后修改主程序,让程序运行时直接调用自身目录里的这两个文件哪?要如何修改?

    麻烦哪位高手修改一下。

    软件下载:http://www.fuzi.cn/down.asp?page=2&cat_id=&class_id=
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-12-1 11:04
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2007-5-9 23:53:50 | 显示全部楼层
    理论上是可以改动的!

    需要一些技巧+知识

    你参考一下“逆向”代码
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2015-7-20 08:10
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2007-5-9 23:58:19 | 显示全部楼层
    原帖由 飘云 于 2007-5-9 23:53 发表
    理论上是可以改动的!

    需要一些技巧+知识

    你参考一下“逆向”代码

    坛主给修改一下吧,还有怎么论坛还无法上传附件?
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-12-1 11:04
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2007-5-10 02:16:39 | 显示全部楼层
    思路,将GetSystemDirectoryA替换成GetCurrentDirectoryA!!! 一定注意函数原型哦!!

    步骤:

    1.先添加 一个 GetCurrentDirectoryA函数,★并记住调用地址,重要!★,,,用来取得当前目录 ~~我用lordPE添加的

    2.修改:
    1. 005317AE  push    80
    2. 005317B3  push    0053B2C8
    3. 005317B8  call    <jmp.&kernel32.GetSystemDirecto>
    4. 005317BD  mov     eax, esi
    5. 005317BF  mov     edx, 0053B2C8
    6. 005317C4  mov     ecx, 81
    7. 005317C9  call    00404C84
    8. 005317CE  lea     eax, dword ptr [ebp-8]
    9. 005317D1  mov     ecx, 00531C44                   ;  ASCII "\mpdata.dat"
    10. 005317D6  mov     edx, dword ptr [esi]
    复制代码


    改为如下:
    1. 005317AE  lea     eax, dword ptr [ebp-100]
    2. 005317B4  push    eax
    3. 005317B5  push    0FF
    4. 005317BA  call    dword ptr [<&KERNEL32.GetCurrentDirectoryA>]     ; kernel32.GetCurrentDirectoryA  //这里的地址每个机子可能不同哦!!
    5. 005317C0  mov     eax, esi
    6. 005317C2  lea     edx, dword ptr [ebp-100]
    7. 005317C8  mov     ecx, 81
    8. 005317CD  call    00404C84
    9. 005317D2  jmp     short 0053181A
    复制代码


    3.复制sfdata.dat、mpdata.dat、hdwl21.dll(注册文件)到软件目录
    4.保存程序
    5.Win2003 SP1 调试通过

    BTW:告诉懒人一个办法,直接改成D盘根目录吧,不要添加什么鸟函数,不过软件不能更改目录哦,hoho@!
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2015-7-20 08:10
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2007-5-10 20:47:46 | 显示全部楼层
    原帖由 飘云 于 2007-5-10 02:16 发表
    思路,将GetSystemDirectoryA替换成GetCurrentDirectoryA!!! 一定注意函数原型哦!!

    步骤:

    1.先添加 一个 GetCurrentDirectoryA函数,★并记住调用地址,重要!★,,,用来取得当前目录 ~~我用lord ...

    呵呵,坛主就是厉害,修改后软件是不是就可以放到任意目录使用了?现在论坛无法上传附件,麻烦老大发一个修改后的主程序到[email protected]好吗,谢谢!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-12-1 11:04
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2007-5-10 23:16:24 | 显示全部楼层
    自己照着改下啊~~
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2015-7-20 08:10
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2007-5-11 12:10:43 | 显示全部楼层
    谢谢坛主,以后要多向坛主学习。/:09 /:09 /:09
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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