大家好,我的整蛊专家要升级到1.0遇到了技术难题,希望大家帮我解决
整蛊专家为免费软件,到时候给大家地址下载问题1:客户端的程序涉及到很多API,都需要DLL的支持,但如果把这些文件都给目标,肯定不行,问题是如何吧这些DLL都都捆绑再一起?就是发送的时候只要着一个文件。问题2:1.0我使用了一个ini文件保存服务器IP,发送的时候用了两个文件(client.exe  client.ini)现在我想把两个文件合并,就是想让用户自己改IP,但这个IP要放到client.exe文件中,如何解决?问题3:如何结束瑞星的进程,然后再打开瑞星?结束进程我会,不知道结束瑞星的那几个进程?然后再开那个?(目标不会发现动了手脚)安解决问题的数量给分,回帖的一律给1分为基础分

解决方案 »

  1.   

    前几个问题都是二进制读写文件的问题,并不难。你可以用Winrar把需要升级的dll文件压缩成可执行的EXE压缩包,就可以传到客户端然后在执行解压了。后面的仅仅是把ini文件写到exe后面,用二进制读写就可以了。后面的结束进程有点麻烦,因为瑞星有些进程是服务,你可以调用net stop来停止,用net start来开启,至于服务名只能在程序中预先设定了,不知道服务名的话,自己装一个瑞星看多了什么服务就知道啦。
      

  2.   

    lc_mtt(柠檬) 
    详细说一下你的解决方案!
    我很着急
      

  3.   

    1.文件压缩。如柠檬所述
    2.服务器为什么不用个域名?
    3.瑞星应该做了防范被别的进程kill的东西,这个得好好研究下。
      

  4.   

    自己升级自己的软件有点麻烦,因为你的程序在运行中,Down下来的Dll不能覆盖原来的,这样要采取一些特殊的方法吧,例如写个批处理来执行等。
      

  5.   

    //问题1:客户端的程序涉及到很多API,都需要DLL的支持,但如果把这些文件都给目标,肯定不行,问题是如何吧这些DLL都都捆绑再一起?就是发送的时候只要着一个文件。可以直接用多个文件拼接在一起,安装的时候再分割 或者打包压缩成一个文件再解压//问题2:1.0我使用了一个ini文件保存服务器IP,发送的时候用了两个文件(client.exe  client.ini)现在我想把两个文件合并,就是想让用户自己改IP,但这个IP要放到client.exe文件中,如何解决?可以在程序中检测该文件是否存在,如果不存在则创建一个默认的INI文件//问题3:如何结束瑞星的进程,然后再打开瑞星?结束进程我会,不知道结束瑞星的那几个进程?然后再开那个?(目标不会发现动了手脚)估计你办不到,否则病毒同样可以这样做 瑞星就没法混下去了
      

  6.   

    自己写个类似与捆绑软件的代码. 将你的DLL和你的EXEQ全绑在一起  
    部分代码 ....Public Function FileSave(arrayFileName() As String, strSaveFile As String)     Dim Char() As Byte
        Dim i
        Open strSaveFile For Binary As #2
        For i = 0 To UBound(arrayFileName) - 1 '
        DoEvents
             Open arrayFileName(i) For Binary As #1
               ReDim Char(FileLen(arrayFileName(i)))
            Get 1, , Char
            Close #1
            Put #2, , Char        
            ReDim Char(0)
        Next
     Close #2
    End Function 
    将你DLL文件和EXE文件的字节数等一下配置信息写到生成的EXE文件的尾部 在新生成的EXE文件启动时读取信息 并把他们分离出来 运行 他们  
    这是我程序的一个函数  :)
    希望能给你点启发
      

  7.   

    问题1:
    第一步客户端打开升级程序,取得服务端ini文件升级情况,参照本地客户端版本,来下载索要的目录第二步把你的升级文件按版本分目录存放 包含ini,dll,等文件,参照客户端使用相对路径,
         用rar 压缩。第三步 把比较后的目录下载rar ,并在本地端解压缩建立备份目录,全部下载后 对照覆盖所有文件
        若下载未成功,删除备份目录
    问题3:把所有有Rav文件名称的进程都清除,即可,然后再注册表找出客户端瑞星所在目录位置 启动rav.exe问题2:问的不明白什么意思
      

  8.   

    楼主可以采用调用资源文件的方式打包在文件里,用的时候释放出来。
    至于INI文件信息嘛,可以把它藏在系统文件中的一个图片文件中,即安全,又隐敝。
    至于杀进程,可以采用ntsd -c q -p PID  pid是进程号,除了System、SMSS.EXE和CSRSS.EXE三个文件,其它进程全部可以杀。
    启动进程嘛,你只需要把那些启动程序再重新启动一下就可以啦。不知道是什么文件的话就到注册表里面去找找嘛~
    至于升级,可以用写二进制的方式写就行了~楼主做完了记得发份到邮箱中参考:[email protected]
      

  9.   

    对了,忘记了说一句,如果不是源文件不要发过来,EXE文件一般不收,没时间看~
      

  10.   

    对了,关于解压缩,unrar C:\Program Files\WinRAR>unrar/?UNRAR 3.40 免费软件      版权 (C) 1993-2004 Alexander Roshal所有用法:     unrar <命令> -<开关 1> -<开关 N> <压缩文件> <文件...>
                   <@列表文件...> <解压路径\><命令>
      e             解压压缩文件到当前目录
      l[t,b]        列出压缩文件[技术信息,简洁]
      p             打印文件到标准输出设备
      t             测试压缩文件
      v[t,b]        详细列出压缩文件[技术信息,简洁]
      x             用绝对路径解压文件<开关>
      -             停止扫描
      ac            压缩或解压后清除文件属性
      ad            添加压缩文件名到目标路径
      ap<格式>      添加路径到压缩文件中
      av-           禁用用户身份校验
      c-            禁用注释显示
      cfg-          禁用读取配置
      cl            名称转换为小写
      cu            名称转换为大写
      dh            打开共享文件
      ep            从名称中排除路径
      ep3           扩展路径为包含盘符的完全路径
      f             刷新文件
      idp           禁用百分比显示
      ierr          发送所有消息到标准错误设备
      inul          禁用所有消息
      ioff          完成一个操作后关闭 PC 电源
      kb            保留损坏的已解压文件
      o+            覆盖已存在文件
      o-            不覆盖已存在文件
      oc            设置 NTFS 压缩属性
      ow            保存或恢复文件所有者和组
      p[密码]       设置密码
      p-            不询问密码
      r             递归子目录
      ta<日期>      添加日期 <日期> 后修改的文件,日期格式 YYYYMMDDHHMMSS
      tb<日期>      添加日期 <日期> 前修改的文件,日期格式 YYYYMMDDHHMMSS
      tn<时间>      添加 <时间> 以后的文件
      to<时间>      添加 <时间> 以前的文件
      ts<m,c,a>[N]  保存或恢复文件时间(修改,创建,访问)
      u             更新文件
      v             列出所有卷
      ver[n]        文件版本控制
      vp            每卷之前暂停
      x<文件>       排除指定的文件
      x@            从标准输入设备读取要排除的文件名
      x@<列表>      排除指定列表文件中的文件
      y             假设对全部询问都回答是