首页
社区
课程
招聘
想入门者请近.[转载]what programming language should I learn?
发表于: 2004-8-15 21:40 7004

想入门者请近.[转载]what programming language should I learn?

2004-8-15 21:40
7004

原文:(来自Reverse-Engineering-Community)

If youre wanting to learn cracking, you must understand fundamental concepts of programming, and machine architecture, and possess a good working knowledge of the operating system youre working with. If you dont have all three, chances are youre not really going to progress much. If you have some programming experience, then this generally helps, depending on the language. But many newbies decide they want to instantly become crackers without any programming experience. Do yourself a favour, and learn how to program first  

I am often asked by people, what is the best programming language to learn ? The answer to this is never clear cut, as it depends on what your ultimate aims are. A good knowledge of Assembly language is a great help in reversing, but many people are able to crack well without necessarily being able to program in assembly. As long as you can fully understand the flow and effects of the instructions, this is often enough.

Additionally, you might want to consider learning a higher level language such as C. The web is infested with programming tutorials, do a web search. Also, Borland (http://www.borland.com) produce a free C compiler (http://www.borland.com/bcppbuilder/freecompiler/). LCC is another alternative which I use personally. Knowing C will allow you to quickly produce keygens, patches and any other tools you need to complete a crack, although a good assembly coder is able to produce these in about the same time scale.
Knowing a language like C will also aid you in studying disassembly. Various compilers produce different object code, and you can often tell what compiler was used, just by studying the generated opcodes. Although this is less of an issue as you can use IDA flirt recognition to identify the compiler too.

High level languages such as Visual Basic are not really much of a benefit to your cracking adventures. Although you can produce equivalent tools in VB, if youre writing a complex keygen, and its not quite write, you lose the ability somehwat to study the disassembly to see where exactly its going wrong.

So to summarise, if youre not technically minded, learn C, otherwise immerse yourself in assembly language. But then if youre not technically minded, why are you even wanting to become a cracker ?

译文:
   如果你想学习crack,你必须懂得编程的基本原理,体系结构,并且掌握你所用的操作系统的工作原理。如果你不具有以上三点,你不可能进行得很深入。如果你具有一些编程的经验,是非常有帮助的。但是一些新手并没有编程的经验,却想迅速成为crackers。还是首先学习编程吧。。。
    别人经常问到我,该学什么编程语言。这个回答并不固定,它取决于你最终的目标。良好的汇编知识对于reversing是非常有帮助的,但是一些人可以不会汇编编程而进行crack。只要你完全理解程序流程和指令的意义,就足够了。
    此外,你应该考虑学习一门高级语言,比如:C。有许多编程指南的站点,可以搜索一下。Borland(http://www.borland.com) 开发了一个自由的C编译器(http://www.borland.com/bcppbuilder/freecompiler/),LCC也是我经常用到的另一个编译器。掌握C可以让你很快的写出注册机、打补丁而了解其它你需要的工具就可以完成crack了,尽管一名优秀的汇编程序员在相同的时间内可以完成这些工作。
    了解C语言也可以帮助你学校汇编语言。不同的编译器产生不同的目标代码,你可以通过对产生的操作码的学习,而知道用的是哪种编译器。尽管你也可以通过IDA来确定。
    高级语言,比如VB,对于你的crack之旅并没有太多的益处,尽管可以用VB写出相同的工具,但对于一个复杂的注册机,用VB并不好写,你失去了学习反汇编的能力,而学习反汇编可以让你看到发生了错误的准确位置。
    综上所述,如果你没有技术头脑,学习C,否则,学习汇编语言,但是,如果没有技术头脑,为什么要成为一个cracker呢?

(翻译的可能有点生硬,请指教).


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 7
支持
分享
最新回复 (12)
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不错
2004-8-16 10:59
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
3
8错
老外还要考虑"免费的C编译器",不知道是处于技术考虑还是处于商业考虑
2004-8-16 11:39
0
雪    币: 241
活跃值: (145)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
国内是不是存在不少用D版开发正版软件的公司?
2004-8-16 19:12
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
学delphi 对crack 用处大么?
2004-8-16 19:27
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
言之有理!!!
2004-8-18 21:05
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
说的有道理,让我们这些菜鸟茅塞顿开!
2004-8-19 10:41
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
8
最初由 kuangtudazuo 发布
国内是不是存在不少用D版开发正版软件的公司?


老大现在什么国外么?好久不回来了吧?
2004-8-19 12:21
0
雪    币: 241
活跃值: (145)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
呵呵。百合折我是kuangtu.
2004-8-20 19:48
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
10
寒,翻译器就是翻译器,不能比。

如果你想要学会崩裂, 你必须了解编程的根本概念, 和机器建筑学, 和拥有你工作与操作系统的好运作的知识。如果你没有所有三, 机会是你真正地不进步。如果你有一些编程的经验, 那么这一般帮助, 根据语言。但许多新手决定他们想要立即成为薄脆饼干没有任一编程的经验。做自己厚待, 和学会怎么首先编程

我由人, 什么经常问是最佳的编程语言学会? 对这的答复从未是清楚的裁减, 因为它依靠是什么你的最后目标。汇编语言好知识是伟大的帮助在背面, 但许多人民能必要崩裂很好没有能编程在汇编里。只要你能充分地了解指示的流程和作用, 这是足够经常。

另外, 你也许想要考虑学习一种更加高级的语言譬如C. The 网被骚扰编程的讲解, 做网查寻。并且, Borland (http://www.borland.com) 产物一个自由C 编译器(http://www.borland.com/bcppbuilder/freecompiler/) 。LCC 是我亲自使用的其它选择。知道C 将允许你迅速生产keygens 、补丁和你需要完成裂缝的所有其它工具, 虽然一位好汇编编码人能生产这些在大致同样的时间表。知道一种语言象C 并且将帮助你在学习拆卸。各种各样的编译器导致另外目标代码, 并且你能经常告诉什么编译器被使用了, 由学习引起的opcodes 。虽然这是无足轻重问题如同你能使用IDA 挥动认识辨认编译器也是。

高级语言譬如Visual.basic 真正地不是好处对你裂化的冒险。虽然你能生产等效工具在VB, 如果你写着一复杂keygen, 和它不相当写, 你丢失能力somehwat 学习拆卸看何处确切地它变错误。

如此总结, 如果你技术上不被介意, 学会C, 否则沉浸于用汇编语言。但另一方面如果你技术上不被介意, 为什么你是甚而想要成为薄脆饼干?


以后破解都叫崩裂,大家都叫薄脆饼干:D
2004-8-20 20:01
0
雪    币: 519
活跃值: (1223)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
11
我已经花了一天时间崩裂一个软件,还没崩裂成功:D :D
2004-8-20 23:06
0
雪    币: 261
活跃值: (230)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
12
崩裂一个软件~~呵呵
我觉得 爆破软件 说成 崩裂软件 更能体现我在破解时的乐趣:p
昨天刚崩裂一个StyleXP~~可我发现再这样好象就没前途了(通宵的一点感悟):p
2004-8-21 14:34
0
雪    币: 229
活跃值: (115)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
13
我花了三天崩裂一个软件,一点头绪都没有!
哈,C还是有自己特色的,西哦喜欢◎◎◎◎
2004-8-21 14:49
0
游客
登录 | 注册 方可回帖
返回
//