[转]Anskya说的

那你认为1年就可以掌握语言吗r> 每年几百万人在使用C++,1000多个天才组成的 C++标准化组织修订的标准
是你1年时间学会的吗r>
编程的6大境界,编程就是修心

1.熟悉一门语言和开发工具,也就是,学习拳脚功夫
最好使用,C,C++,Object Pascal[Delphi]等.别从Java,ASP等起步…
编程思想的训练…
时间:1年左右

2.掌握一门语言,了解一些简单的算法和数据结构,熟练使用一种开发工具…
VC++,Delphi,啥ASM以呀。平时我也是用tasm32做练习的
编程思想的训练…(任何语言都一样。我说的非虚拟机语言和脚本语言,还是动态语言)
熟悉一下什么是C/C++标准.其实Pascal 也有自己的标准..不过现在的Pascal最好的开发工具就是
Delphi了~基本上算是Borland(现在应该说是CodeGear 修订的)
,,,这些是修炼内功的书籍
你可以先尝试一下数据结构,和,的学习
这段时间,以前再高中的时候就开始学习这些了,做一些ACM等。算法才是程序的灵魂
基本上内功的修炼需要一直学习…内功越强越好呀

时间:2年左右
基本拳脚会了,试试兵器吧,拳脚是基本功,兵器可以让你看上去更强悍一点。
内功才是真正的功夫。

3.对操作系统和开发平台的深入了解…(内功修炼别忘记)

所有程序开发都是基于一定的开发平台的,我们平时就是再Windows下开发的,
你了解Windows吗I的使用,Native API,等r> 数据库的开发等.数据库开发等,你是做数据库开发的,你知道SQL-Server吗甲骨文吗r> 三层数据库和两层数据库的区别吗层开发
你学到的数据结构知识~如何应用在开发上br>
学习时间:2年左右
知道兵器如何用了,但是有剑气吗御剑。。。以气御剑!

4.开发平台,以及语言的深入了解。(这个阶段最难,有的人一辈子都无法突破这个阶段
许多高级软件工程师,也就死在这个阶段,很难突破。也是通“天”之路!)
进入这个阶段你就不在乎Delphi,VC,BCB,ASM,C,C++还是Pascal了
基本上没有语言的障碍了
开始了解编译器的原理,高级语言是如何生成低级语言的
比如说同样是
c=a+b;
C和C++下是
__asm
{
mov eax, [a]
add eax,
mov [c],eax
}

Delphi下是
asm
mov eax,[a]
add eax,
mov [c],eax
end;

API调用
C/C++:MessageBox(0, NULL, NULL, 0);
Delphi:MessageBox(0, nil, nil, 0);
编译後的结果都是
push 0
push 0
push 0
push 0
call MessageBox

这个时候你就会发现你用的编译器其实有些问题
比如说同样是C++编译器
VC会编译成
xor eax, eax
push eax
push eax
push eax
push eax
call MessageBox
BCB和Delphi是
push 0
push 0
push 0
push 0
call MessageBox

如何产生最佳化优化编码,才是个问题,不知道这里有么有人用过Watcom C/C++
几乎DOS 90%的游戏开发都是使用这款编译器
几乎人类可以想到的最极限的优化方案这里都有

然后你就会理解其实,asm并不快,至少你写出来的asm不是最好的。有一些家伙
自认为自己用masm32写几句invoke 就了不起,认为自己会asm,高人一等了
其实他们写出来的代码最没效率了。
学过编译原理的人都知道,编译器流程…词法分析,语法分析,中间代码的编译,中间代码的优化
,语法结构优化,变量的优化,程序结构的优化,下面是:循环,嵌套等等优化。。最后机器码的转换,机器码的优化.
编译器做的工作就是大量的优化…而编译器是机器可以同时跟踪几百,甚至几千个变量,全部采用最佳化编码的形式进行排列数据和循环优化。。。
人类毕竟是人类无法同时对那么多变量进行优化和结构分析。。。
编译器技术发展到今天已经将近半个世纪了,几百万人和大量的天才对她的发展做出了多少研究和贡献,难道是你们几个小菜鸟写几句asm就可以比的了的r> asm为什么快可以使用寄存器,你可以保证你的所有代码优化都再编译器里面实现吗r> 呵呵~~语言和编译器的本质就再这里,为什么asm编译器比高级语言编译器开发起来比较简单r> 是因为。。。他不需要多少优化。。。

开发平台的深入了解。
如何进行底层转换的。语言编译是理解了,底层是如何设计的工作的r> 驱动是如何进行工作的么本身要有HOOK功能自己实现HOOKr> 底层驱动的开发,如何设计一个Rootkit核级后门!他们是如何和系统结合再一起的做到相对的天衣无缝

学习时间:
这个难说,有的人一辈子也不理解第四层概念。,就会用VB写点垃圾。。。学Web语言的人。就会创建对象,调用,连释放都没有(虽然高级脚本语言都会有。垃圾回收,但是也经不起你这么折腾)
不释放也有不释放的好处(知道Pool吗对象池,线程池,内存池,连接池。。。一种不错的技术。大量的对象的管理技术)。。什么语言对你来说都是个工具而已
拿来就可以用的,因为你知道,底层是如何实现的,高级语言只是做了你思想的转化而已
高级语言变成低级语言而已~但是不管怎么变化,中心不变。。。

资质很高而且愿意付出努力的人可以自我突破的,没有太多资质的有个愿意为你付出的高手带带你,你在自己努力的话可以突破

武学到了这里:其实就是易经洗髓阶段了,因为下面你要做的就已经不是拳脚功夫了

编译器设计呢设计一个支持OOP的编译器P思想是什么器如何设计r>
到达这个阶段的人已经不是语言和开发工具的熟悉了,更重要的是一种思想。。。
office,还是虚拟机等他都可以自己设计,只要有时间,有空间,有足够的资源,他都可以全部自己完成。。。如何优化框架和编码都是第四阶段要学习的。。。
金字塔状!

学习时间:以个人努力和资质而定。。。
武学到了这个阶段,什么是武功招数武功看一遍就会了。。。
而且使用出来比你更具威力!返璞归真

6.天人合一的境界,突破平台局限
为什么不自己开发一个OSnux和windows有什么区别r> 为什么linux老是俗话哦windows被动动型OSr> linux哪里主动了nux就比windows高级多少r> 不过是个OS而已有什么了不起的。。。
linux开源了嘛nus这个家伙其实没开源。那个核心代码写的乱七八糟的。
你看得懂吗说是相对运行的还凑活。不然为什么老是蓝屏(windows 2k开始就已经很少蓝屏了。。至少Ring3你很难把它弄蓝屏~BSOD)

学习时间:未知。学习无限高。。。有人到达,但是没人突破

X:
说一些废话。
1.有的人说,你牛,你用01写代码给我看看,那才叫牛
其实01写代码没什么,就好像你不愿意正常走路,非要自己倒立或者再地上滚一样!
牛人之所以牛是因为思想牛,而不是全部用01编码牛人为什么去开发高级编译器和高级语言是不想把时间浪费在01上面吗r> 再说了汇编语言的转换都是有针对的机器码。而机器码是十六进制的
比如说nop..机器码就是0x90
多看看Intel手册吧。。。

2.你牛吗r> 我不牛,不然我也不会再这里了。。。

 

——————————-

FireWallByPass

FWB               将一个DLL注入目标进程,绕过防火墙
FWB+             映射API注入目标进程,绕过防火墙
FWB++           不使用DLL,注入代码到一个进程,绕过防火墙
FWBP+           注射到默认浏览器,MSN或者其他第三方可信程序,绕过防火墙
FWB#             脱钩user级别API挂钩,并使用FWB++绕过防火墙
FWB+++(FWB#+) 脱钩user级别API挂钩,再脱钩内核模式API挂钩,然后使用FWB++绕过放过防火墙

搜了不少资料呢~~~好像实际上没有标准的说法
这些是我总结的。。
另外还有全局API HOOKING 注入和局部API HOOKING注入
修改自身PEB结构绕防火墙。
忽忽,比较全了吧r>
欢迎达人纠正

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2015年9月18日
下一篇 2015年9月18日

相关推荐