谦虚求学 发表于 2018-4-30 13:08:07

求共同能力帮我把这个问题解决 非常感谢 {:10_266:}时刻等待着好人

谦虚求学 发表于 2018-4-30 13:11:50

DWORD RvaToFoa(const LPVOID pFileBuffer,DWORD dwRva)
{
        PIMAGE_DOS_HEADER pDosHeader=NULL;
        PIMAGE_NT_HEADERS pNtHeader=NULL;
        PIMAGE_FILE_HEADER pPeHeader=NULL;
        PIMAGE_OPTIONAL_HEADER32 pOptionHeader=NULL;
        PIMAGE_SECTION_HEADER pSectionHeader=NULL;
        pDosHeader=(PIMAGE_DOS_HEADER)pFileBuffer;
        pNtHeader=(PIMAGE_NT_HEADERS)((DWORD)pFileBuffer+pDosHeader->e_lfanew);
        pPeHeader=(PIMAGE_FILE_HEADER)((DWORD)pNtHeader+4);
        pOptionHeader=(PIMAGE_OPTIONAL_HEADER32)((DWORD)pPeHeader+IMAGE_SIZEOF_FILE_HEADER);
        pSectionHeader=(PIMAGE_SECTION_HEADER)((DWORD)pOptionHeader+pPeHeader->SizeOfOptionalHeader);
        //DWORD dwSectionCount=pPeHeader->NumberOfSections;
        DWORD dwMemoruAil=pOptionHeader->SectionAlignment;
        DWORD dwDiffer=0;


        //循环节表       
       
        for(int i=0;i<pPeHeader->NumberOfSections;i++)
        {
                DWORD dwBlockCount=pSectionHeader.SizeOfRawData/dwMemoruAil;
               dwBlockCount+=pSectionHeader.SizeOfRawData%dwMemoruAil?1:0;
                DWORD dwSectionBeginRva=pSectionHeader.VirtualAddress;
                DWORD dwSectionEndRva=pSectionHeader.VirtualAddress+dwBlockCount*dwMemoruAil;
                if(dwRva>=dwSectionBeginRva&&dwRva<dwSectionEndRva)
                  {
                          dwDiffer=dwRva-dwSectionBeginRva;
                          return pSectionHeader.PointerToRawData+dwDiffer;
                  }
                else if(dwRva<dwSectionBeginRva)
                  {
                        return dwRva;
                  }



        }
        return 0;

}

谦虚求学 发表于 2018-4-30 13:12:29

DWORD FoaToRva(const LPVOID pFileBuffer,DWORD dwOffset)
{
        PIMAGE_DOS_HEADER pDosHeader=NULL;
        PIMAGE_NT_HEADERS pNtHeader=NULL;
        PIMAGE_FILE_HEADER pPeHeader=NULL;
        PIMAGE_OPTIONAL_HEADER32 pOptionHeader=NULL;
        PIMAGE_SECTION_HEADER pSectionHeader=NULL;
        pDosHeader=(PIMAGE_DOS_HEADER)pFileBuffer;
        pNtHeader=(PIMAGE_NT_HEADERS)((DWORD)pFileBuffer+pDosHeader->e_lfanew);
        pPeHeader=(PIMAGE_FILE_HEADER)((DWORD)pNtHeader+4);
        pOptionHeader=(PIMAGE_OPTIONAL_HEADER32)((DWORD)pPeHeader+IMAGE_SIZEOF_FILE_HEADER);
        pSectionHeader=(PIMAGE_SECTION_HEADER)((DWORD)pOptionHeader+pPeHeader->SizeOfOptionalHeader);
        DWORD dwSectionCount=pPeHeader->NumberOfSections;
        DWORD dwFileAil=pOptionHeader->FileAlignment;
        DWORD dwDiffer=0;
        DWORD dwImageBase=pOptionHeader->ImageBase;
        for(int i=0;i<dwSectionCount;i++)
        {
                DWORD dwBeginVA=pSectionHeader.PointerToRawData;
                DWORD dwEndVA=pSectionHeader.PointerToRawData+pSectionHeader.SizeOfRawData;
                if(dwOffset>=dwBeginVA&&dwOffset<dwEndVA)
                {
                        dwDiffer=dwOffset-dwBeginVA;
                        return dwImageBase+pSectionHeader.VirtualAddress+dwDiffer;
                }
                else if(dwOffset<dwBeginVA)
                {
                        return dwImageBase+dwOffset;
                }
        }
        return 0;

}

人造人 发表于 2018-4-30 18:35:34

没有main函数?代码不完整?

谦虚求学 发表于 2018-4-30 20:52:27

人造人 发表于 2018-4-30 18:35
没有main函数?代码不完整?

我第一个代码里 一定定义了 被注入程序路径(c:/1.exe),定义了注入的DLL名字 , DLL里的函数。 还需要main函数吗? 这个程序是定死的,要改 就改 定义的变量,如果兄弟愿意的话,帮忙把代码整理下,实现下,如果能成功,我的问题 就解决了 我真的想把这100鱼币甩了 ,解脱我的烦闹, 谢谢你求你 帮帮忙{:10_266:}

人造人 发表于 2018-4-30 23:49:35

谦虚求学 发表于 2018-4-30 20:52
我第一个代码里 一定定义了 被注入程序路径(c:/1.exe),定义了注入的DLL名字 , DLL里的函数。 还需要ma ...

那么你的main函数在哪?没有main函数,这些代码由谁调用?

谦虚求学 发表于 2018-5-1 20:26:24

人造人 发表于 2018-4-30 23:49
那么你的main函数在哪?没有main函数,这些代码由谁调用?

对不起 我错了我的main函数里只调用了 void ImportTableInjection() 函数 {:10_269:}   后面一个getchar()
return0;{:10_266:}

谦虚求学 发表于 2018-5-1 20:29:03

谦虚求学 发表于 2018-5-1 20:26
对不起 我错了我的main函数里只调用了 void ImportTableInjection() 函数    后面一个getcha ...

这个程序 生成是成功的 但是程序 不能启动

人造人 发表于 2018-5-2 13:55:26

谦虚求学 发表于 2018-5-1 20:29
这个程序 生成是成功的 但是程序 不能启动

那么,也就是说这些代码就是完整的了?
你的这些代码用到了哪些头文件?没有写吧,那么,我还需要一个一个的包含头文件,一次又一次的排错
我真正想要的是看看这个程序出现了什么问题,不是如何构建这个程序
把你的项目zip压缩,网盘共享

人造人 发表于 2018-5-2 14:04:52

我不想改了,把你的项目zip压缩,网盘共享


谦虚求学 发表于 2018-5-2 15:35:41

人造人 发表于 2018-5-2 14:04
我不想改了,把你的项目zip压缩,网盘共享

百度网盘 你下载了吗我上传

谦虚求学 发表于 2018-5-2 15:54:13

人造人 发表于 2018-5-2 14:04
我不想改了,把你的项目zip压缩,网盘共享

https://pan.baidu.com/s/109WCFwxDl8aWVu_fExijuA   密码t4nh       有效7天
   兄弟你要写个 DLL导出函数小程序 , 在写一个窗口消息小程序 ,把 DLL注入到 窗口小程序里, 这两个小程序 你自己写 ,我就不 上传了 ,
      

谦虚求学 发表于 2018-5-2 15:56:25

链接:https://pan.baidu.com/s/109WCFwxDl8aWVu_fExijuA 密码:t4nh

谦虚求学 发表于 2018-5-2 16:18:31

谦虚求学 发表于 2018-5-2 15:54
https://pan.baidu.com/s/109WCFwxDl8aWVu_fExijuA   密码t4nh       有效7天
   兄弟你要写个 DLL导 ...

就像LordePE注入后的结果   

人造人 发表于 2018-5-2 21:29:26

说好的有效期7天呢
^_^

人造人 发表于 2018-5-2 21:30:10

人造人 发表于 2018-5-2 21:29
说好的有效期7天呢
^_^

算了,qq吧
1440332527

^_^

谦虚求学 发表于 2018-5-3 19:09:08

人造人 发表于 2018-5-2 21:30
算了,qq吧
1440332527



你有微信吗 加我 15309283920

谦虚求学 发表于 2018-5-3 19:30:30

人造人 发表于 2018-5-2 21:30
算了,qq吧
1440332527



百度 驴日   的不让 发 代码   艹 {:10_266:}

人造人 发表于 2018-5-3 20:01:42

谦虚求学 发表于 2018-5-3 19:30
百度 驴日   的不让 发 代码   艹

要zip压缩

测试
链接:https://pan.baidu.com/s/1rQpPZ6lJ8BRuGVI-NlhpHg 密码:dhak

人造人 发表于 2018-5-3 20:02:18

人造人 发表于 2018-5-3 20:01
要zip压缩

测试


我不用微信,我的微信账号好久都没有登录了
页: 1 [2] 3 4
查看完整版本: pe结构里移动导入表问题