没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
7页
逆向的第一步是什么?这要问你学习C语言的第一步是什么,很自然的,逆向的第一步当然也是大名鼎鼎“HelloWorld!”了。但是也不要因此就误认为这一节会很简单,如果你是第一次接触逆向的话,那么这一节还是有些难度的。 好的,让我们先写一个世界上最出名的程序: int _tmain(int argc, _TCHAR* argv[]) { printf("Hello World!\r\n"); return 0; }
资源推荐
资源详情
资源评论
逆向的第一步是什么?这要问你学习 语言的第一步是什么,很自然的,逆向的第一步当
然也是大名鼎鼎“了。但是也不要因此就误认为这一节会很简单,如果你是第
一次接触逆向的话,那么这一节还是有些难度的。
好的,让我们先写一个世界上最出名的程序:
!""!#
$%#
&
不错!很好的开始!然后用 '()%%* 以 +,$ 方式编译下,再用 -.+, 打开看看:
%%/00%1*23456%7%%/0018%
%%/00%1+3456%7%%/0)%
%%/00%*)34593457:4(';%+7<2
%%/00%*134593457:=>?>@A)7B5662
%%/00%*3456%7%%/00//%
%%/00%;03456%7%%/0AA0%
%%/00%;C34593457:4(';%+7DEEFGGH2
%%/00%;834593457:4(';%+7I2
%%/00%%34593457:=>?>@A)7B$JK2
%%/00%L34593457:4(';%+7M2
看看我们的程序停在了什么鬼地方,如果各位初学读者试图从这里就开始分析的话那真
的很恐怖,相信 A% 分钟内你的自信心将被打击到零……
我们都知道其实编译器在编译我们的程序前会做很多准备工作,而这些准备工作由于涉
及的东西较多且每个由此编译器生成的程序都一样,因此我们不必深究,只需快速且准确
的找到 函数即可。
但是这对于初学逆向的朋友来说也是最难的,下面我就教各位读者怎样突破这个障碍。
想要找到 函数,那么我们就要从 语言本身讲起,在刚刚开始学习 语言的时候
我们就被不幸的告知,我们的程序中必须要包含一个名字叫做 的函数,不管你多讨厌
它都必须如此,后来便成了习惯……
后来查查 ;; 标准,发现“J与“都是被接受的,
然后又查查 4(+?,可以清晰看到一句话“JN$O6<JNP
JO$6,也就是告诉了我们 函数其实是有 A 个参数的,其后面的例
子更是证明了这句话确实是微软写上去的:
JJ
嗯,他们又在标准上较劲了,但是考虑到我们大部分程序都是用 6 编译的(而且
8 的 QQ的参数也是如此),因此我们还是做墙头草,随大流吧……
资源评论
- fanyi66662013-09-10还不错,就是有点乱。没有条理性。
dongbaoxiong
- 粉丝: 9
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功