吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3965|回复: 22
收起左侧

[C&C++ 转载] 移动导出表(c++源码)

  [复制链接]
aswcy815174418 发表于 2021-4-24 22:00
本帖最后由 aswcy815174418 于 2021-4-25 00:31 编辑

参考移动导出表,移动重定位和导入表,不是照葫芦画瓢?
移动导出表的难点就是修正,我讲一下我自己的思路:
1、先获取原导出表首地址到AddressOfFunctions的首地址的差值,记为
offset = FOA(AddressOfFunctions) - FOA(导出表首地址)
2、现在到了各个功能函数的地址,新导出表的AddressOfFunctions等于新增节的RVA+offset,
AddressOfFunctions = 新节表RVA + offset
offset += NumberOfFunctions * 4;
3、现在到了各个函数名的地址,只需AddressOfNames等于新增节的RVA+offset,
AddressOfNames = 新增节的RVA+offset
offset += NumberOfNames * 4;
4、现在到了序号的地方,只需要让AddressOfNameOrdinals等于新增节的RVA+offset就行
AddressOfFunctions = 新节表RVA + offset
offset += NumberOfNames * 2(很多人在这里容易搞错)
5、现在到了DLL名字的地方,直接让新导出表的Name等于新节表RVA + offset
Name = 新节表RVA + offset
offset += strlen(dll名字)
6、现在到了函数名地方,只需要修复各个函数名对应的函数地址,得用到for循环,我直接copy代码吧

[C++] 纯文本查看 复制代码
        for (int i = 0; i < exportList->NumberOfNames; i++){
                DWORD* addrOfName1 = (DWORD*)(RVATranformFOA(nt, sectionArr, exportList->AddressOfNames) + (UINT)dos + i*4);
                char* addrOfName2 = (char*)(RVATranformFOA(nt, sectionArr, *addrOfName1) + (UINT)dos);
                *addrOfName1 = newSection->VirtualAddress + offset;
                offset += strlen(addrOfName2) + 1;
        }


源码链接:https://wwe.lanzouj.com/is74Qogkgxe


免费评分

参与人数 7吾爱币 +5 热心值 +6 收起 理由
小熊真麻烦 + 1 我很赞同!
爱你小吉君 + 1 鼓励转贴优秀软件安全工具和文档!
NYG_yu + 1 + 1 热心回复!
Fuung + 1 + 1 谢谢@Thanks!
ZhiYing520 + 1 + 1 我很赞同!
lyl610abc + 1 + 1 我很赞同!
sam喵喵 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| aswcy815174418 发表于 2021-4-25 00:33
lyl610abc 发表于 2021-4-24 23:05
这方面的内容我打算放在加密壳那个系列里,因为加密需要移动表,敬请期待(我会鸽挺久的,太多坑要填了){: ...

这代码,写了三天,也有参考了你的代码,修正就修了一两天,废物是我
 楼主| aswcy815174418 发表于 2021-4-25 00:30
lyl610abc 发表于 2021-4-24 23:05
这方面的内容我打算放在加密壳那个系列里,因为加密需要移动表,敬请期待(我会鸽挺久的,太多坑要填了){: ...

尴尬了,我现在撤了吧,把你给占了
lyl610abc 发表于 2021-4-24 23:05
这方面的内容我打算放在加密壳那个系列里,因为加密需要移动表,敬请期待(我会鸽挺久的,太多坑要填了)
guangzisam 发表于 2021-4-24 23:11
我先运行一下试试
bosixuelang 发表于 2021-4-24 23:13
功能很实用,尝试一下,感谢楼主!
wax126 发表于 2021-4-25 05:38
厉害了&#128077;
coolsnake 发表于 2021-4-25 07:42
厉害了,大佬
没有你的日子 发表于 2021-4-25 08:38
厉害了  66666
加奈绘 发表于 2021-4-25 08:46
学会了,谢谢大佬
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 23:56

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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