首页
社区
课程
招聘
[旧帖] PE文件中代码节怎么编写 0.00雪花
发表于: 2012-4-9 19:50 3596

[旧帖] PE文件中代码节怎么编写 0.00雪花

2012-4-9 19:50
3596
拿helloworld程序来说,在自己编写pe文件时,尽可能的缩小文件大小,代码节的跳转地址怎么得到啊,  E8 2A000000   CALL <JMP.&user32.MessageBoxA>         
      68 40100000   PUSH 1040                              
      68 00304000   PUSH hello-2_.00403000                  
      68 31304000   PUSH hello-2_.00403031         
       6A 00         PUSH 0                                   
       E8 14000000   CALL <JMP.&user32.MessageBoxA>
       6A 00         PUSH 0
       E8 01000000   CALL <JMP.&kernel32.ExitProcess>
       CC            INT3

这里面的14000000和01000000、31304000等怎么计算得到的

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 297
活跃值: (235)
能力值: ( LV4,RANK:55 )
在线值:
发帖
回帖
粉丝
2
常量字符串在数据段,将字符写到.data段然后记下地址转换为va就是前两个push的地址。函数地址是firstthunk?我也记不清了,手机党不方便查
2012-4-9 21:05
0
雪    币: 11
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
就是弄不明白地址之间的转换,谢谢了
2012-4-9 21:31
0
雪    币: 622
活跃值: (294)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
4
XXXXXXXX E8 2A000000   CALL <JMP.&user32.MessageBoxA>
YYYYYYYYY JMP.&user32.MessageBoxA
XXXXXXXX+0000002A+5=YYYYYYYY

此句代码的地址+跳转距离+此句代码的字节数=跳转到的代码的地址
2012-4-9 21:51
0
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
哎,看看PE文件头的格式吧,主要是导入导出函数
2012-4-23 04:48
0
游客
登录 | 注册 方可回帖
返回
//