首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
付费问答
发新帖
0
0
[旧帖]
[求助]如何区分系统代码和用户代码?
0.00雪花
发表于: 2008-10-6 12:35
3398
[旧帖]
[求助]如何区分系统代码和用户代码?
0.00雪花
soulmachin
2008-10-6 12:35
3398
比如用纯SDK编写的Win32程序,要识别出用户写的代码,只要找到WinMain即可,因为WinMain里是手工写的代码。
但是一个用MFC编写的EXE程序,貌似不好区分自动生成的代码和用户自己的代码,因为对于编译器而言,它才不管MFC框架生成的代码,和用户手工写的代码同等对待,一起编译。我反汇编分析了下,发现MFC的代码和用户的代码是互相夹杂着的,用户写的代码是分散的,并不是用规律的集中在一块儿(像SDK那样,都在WinMain里有多好^_^)。
这样,从理论上,不就是说,MFC的EXE程序是不可能找到用户代码的起始位置的,因为用户代码是分散的,和MFC混在一起。
是这样吗?
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
收藏
・
0
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
5
)
jlqianxy
雪 币:
228
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
6
回帖
25
粉丝
0
关注
私信
jlqianxy
2
楼
不明白你的意思,不过论坛里所说的系统代码或者叫系统领空多数是指程序调用系统API产生的
2008-10-6 21:41
0
soulmachin
雪 币:
132
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
5
回帖
8
粉丝
0
关注
私信
soulmachin
3
楼
就是说,如何区分MFC自动生成的,和手工写的
2008-10-7 09:54
0
惟刀百辟
雪 币:
200
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
2
回帖
37
粉丝
0
关注
私信
惟刀百辟
4
楼
不是你自己写的,就是MFC自动生成的咯
多看点MFC的书。自然知道应该在哪里添加自己的代码,也就会区分了
孙鑫的《VC++深入详解》比较适合新手。
侯捷的深入浅出MFC是进阶必读
2008-10-7 17:05
0
newhpzzw
雪 币:
200
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
0
回帖
1
粉丝
0
关注
私信
newhpzzw
5
楼
MFC的编程方式是先生成一个框架,然后让用户在框架内部填补自己的代码。
如果需要完全自己填写代码,也是参考MFC默认生成代码的模式来书写的。
所以,MFC默认生成的代码和用户自己的代码一般情况下都是相互渗合的,但MFC一般只是生成了代码段中的公共部分。
推荐找本《windows程序设计》并结合孙鑫的《VC++深入详解》看看,最后试着找个简单程序模仿编写一次,这样应该能大体上弄明白系统代码和用户代码的区分方式。
2008-10-8 11:09
0
随风之幻
雪 币:
202
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
1
回帖
23
粉丝
0
关注
私信
随风之幻
6
楼
加油下。。定下
2008-10-8 12:49
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
soulmachin
5
发帖
8
回帖
10
RANK
关注
私信
他的文章
[IDA插件]IDA如何批处理?
4077
[求助]如何区分系统代码和用户代码?
3399
[讨论]如果获取main()函数的地址?
5543
[讨论]编译器识别
2904
[求助]IDA Pro 5.2不能打开notepad.upx.exe
4759
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部