代码节空白区添加代码(手动)(含C练习代码)【基础函数的实现的源代码在这里面】

   日期:2024-12-26    作者:arbao 移动:http://ljhr2012.riyuangf.com/mobile/quote/43962.html
 
 
 

答案是:是计算拉伸后在4GB中的地址

代码节空白区添加代码(手动)(含C练习代码)【基础函数的实现的源代码在这里面】

ImageBase+161ABD
问题现在161ABD是文件中对齐后的地址,要转换为再内存中对齐的地址,这就要回顾一下前面的拉伸规则了。
现在要计算出dwRVA,就是代码在内存中的地址,这样才能算出在内存中Call需要跳转的地址:

dwRva代码的RVA地址=VirtualOffset代码地址到内存节的偏移 +pSectionHeader->VirtualAddress节的内存RVA地址;
VirtualOffset代码地址到内存节的偏移=foa代码在文件中的地址 - pSectionHeader->PointerToRawData节在文件中的地址 ;

现在有两个地址要计算,一个是E8 一个E9
VirtualOffset代码地址到内存节的偏移= E8地址 00161AB8-0x400=16 16B8‬

VirtualOffset代码地址到内存节的偏移= E9地址 00161AB8+5-0x400=16 16BD‬

E8 dwRva代码的RVA地址=1616B8‬+0x1000=1626B8‬
E9 dwRva代码的RVA地址=1616BD+0x1000=1626BD

先弹出 对话框

 

 

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号