首页
社区
课程
招聘
[求助]C++ 2 Delphi
发表于: 2009-6-27 05:43 4968

[求助]C++ 2 Delphi

2009-6-27 05:43
4968
Please Translate C++ 2 Delphi

Thanks All Programers

[CODE][int Generate_Reloction_Map(BYTE* Reloc_Seg, DWORD Func_RVA, int Func_Size, DWORD* Reloc_Map)
{
        BYTE* Reloc_Ptr = Reloc_Seg;
        int _rel_Cnt = 0;
        while (*(DWORD*)Reloc_Ptr)
        {
                DWORD Reloc_RVA = ((DWORD*)Reloc_Ptr)[0];
                DWORD Block_Size = ((DWORD*)Reloc_Ptr)[1];               
                for (int i = 0; i < (Block_Size - 8) / 2; i++)
                {

                        if ((Reloc_RVA + (((WORD*)(Reloc_Ptr + 8))[i] & 0xFFF) >= Func_RVA) &&
                                (Reloc_RVA + (((WORD*)(Reloc_Ptr + 8))[i] & 0xFFF) < Func_RVA + Func_Size))
                        {
                                if (Reloc_Map)
                                        Reloc_Map[_rel_Cnt] = Reloc_RVA + (((WORD*)(Reloc_Ptr + 8))[i] & 0xFFF);
                                _rel_Cnt++;
                        }
                }
                Reloc_Ptr += Block_Size;
        }
        return _rel_Cnt;
}/CODE]

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 168
活跃值: (233)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
2
没有人帮你,今天难得我有时间,就帮你弄一下 。
如果发现有问题请联系我。

function Generate_Reloction_Map(Reloc_Seg:PByte;
                                      Func_RVA:DWORD;
                                      Func_Size:Integer;
                                      Reloc_Map:PDWORD):Integer ;
type
  TDwordArry = array of DWORD ;

  TWordArry = array of Word ;

var
  Reloc_Prt : PByte ;
  _rel_Cnt : Integer ;

  Reloc_RVA : DWORD ;
  Block_Size : DWORD ;

  int_Index : Integer ;

  dword_andFFF : DWORD ;

begin
  Result := 0 ;

  Reloc_Prt := Reloc_Seg ;
  _rel_Cnt := 0 ;

  while (PDWORD(Reloc_Prt)^ > 0) do
  begin
    Reloc_RVA := TDwordArry(PDWORD(Reloc_Prt))[0] ;
    Block_Size := TDwordArry(PDWORD(Reloc_Prt))[1] ;

    for int_Index:=0 to (Block_Size-8) div 2 do
    begin
      dword_andFFF := Reloc_RVA + TWordArry(PWORD(DWORD(Reloc_Prt)+8))[int_Index] and $FFF ;

      if (dword_andFFF >= Func_RVA) and
       (dword_andFFF < Func_RVA+DWORD(Func_Size)) then
      begin

        if Reloc_Map <> nil then
        begin
          TDwordArry(Reloc_Map)[_rel_Cnt] := Reloc_RVA + dword_andFFF ;
        end;

        _rel_Cnt := _rel_Cnt + 1 ;

      end;

    end;

    DWORD(Reloc_Prt) := DWORD(Reloc_Prt) + Block_Size ;

  end;


end;
2009-6-27 12:05
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
来看神仙出手。哈哈。
2009-6-27 12:10
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
TRQ
4
2搂猪头三
简直神仙出手厉害厉害.
2009-6-27 12:50
0
雪    币: 63
活跃值: (17)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
5
来顶猪头
2009-6-27 13:02
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
伟大的猪头!
技术高超的令人嫉妒!
声誉好的令人发指!
2009-6-27 13:07
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我是来膜拜的~~
2009-6-27 13:10
0
雪    币: 371
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hyp
8
大家都说牛人厉害,今天我发现猪人也厉害~
2009-6-27 14:10
0
雪    币: 15
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
猪头三  Thanks For Help Me
2009-6-28 05:50
0
游客
登录 | 注册 方可回帖
返回
//