问题一:
 如何读写如下格式的配置文件
    Homepage http://www.163.com
    BBSURL  http://bbs.csdn.net
    NOTICE  http://notice.xxx.xxx
跟INI差不多。。就是把‘=’号换成了空格或者TAB符。问题二:
  请高手帮写一个HOOK 某服务器端的程序。。此服务端使用完成端口,可能也有多线程处理。 要求HOOK WSASend WSARecv 要求不要被杀软误报。。服务端程序没加壳。如能解决,感激涕零。。

解决方案 »

  1.   

    补充。。  winsock2里的函数都是静态装载的。
      

  2.   

    第一个问题
    一个应该是比较低效率的解决方法
    这个配置文件Assignfile到一个textfiel,然后用readln读整行,
    用pos确定空格(或其他可以用#NN表示的字符)在整行字符串中的位置
    再用相关字符串函数获取分割符两端的字符串,如copy等。
    第二个 不会
      

  3.   

    谢谢楼上。第一个问题,偶已经解决了procedure TOption.FormShow(Sender: TObject);var ScrW,ScrH,ScrC,Win,tmp:string;
    begin
    if Not FileExists(CfgPath) then
      begin
    showmessage('Can not found cfg file :'+#10#13+CfgPath) ;
    speedbutton1.Visible  :=false;
      end
    else begin
     speedbutton1.Visible  :=true;
     AssignFile(CfgText, CfgPath);
     reset(CfgText);
     while not Eof(CfgText) do
        begin
          readln(CfgText, tmp);
          tmp:=StringReplace(tmp,' ','',[rfReplaceAll]);
          tmp:=StringReplace(tmp,#9,'',[rfReplaceAll]);
          tmp:=UpperCase(tmp) ;
          if  pos('USCRREFRESHHZ',tmp  ) >0 then
           begin
          freshcbox.Text :=stringreplace(tmp,'USCRREFRESHHZ','',[rfReplaceAll]);
           end;      if pos('DWSCRWIDTH',tmp)>0 then
           begin
          ScrW := stringreplace(tmp,'DWSCRWIDTH','',[rfReplaceAll]);
           end;      if pos('DWSCRHEIGHT',tmp)>0 then
           begin
          ScrH := stringreplace(tmp,'DWSCRHEIGHT','',[rfReplaceAll]);
           end;      if pos('EMSCRFORMAT',tmp)>0 then
           begin
          ScrC := stringreplace(tmp,'EMSCRFORMAT','',[rfReplaceAll]);
           end;
          if pos('BSCRWINDOWED',tmp)>0 then
           begin
          Win := stringreplace(tmp,'BSCRWINDOWED','',[rfReplaceAll]);
           end;    end;
        CloseFile(CfgText);
        if ScrC = '0' then
          begin
          ScrC :='16';
          end
        else
          begin
          ScrC :='32';
          end;
        checkbox.Checked :=SameText(Win,'1');
        combobox.Text :=ScrW+'*'+ScrH+'*'+ScrC
        end;
        
     end ;
      

  4.   

    怎么结贴/??? 唉。。不结了。。就这么转吧希望大家帮助啊可以使用madcodehook不过给个详细点的例程啊。。我不会用那个MADCODEHOOK开发包。