|
|
bác nohat đúng là mò giỏi thật. Bái phục
|
|
|
Bác conmale cho em phàn nàn một cái nhỉ:
Em dùng tag code trong hva thấy thực sự khó chịu. Không ấn được phím tab để nhảy các khoảng trắng, các keyword thì không có màu, đọc thực sự rất khó chịu và khi post code lên thì rất mất thời gian, hoặc vào editor gõ code rồi mới copy & paste sang hoặc phải làm bằng tay, rất thủ công (thay vì gõ tab thì phải giữ space chẳng hạn). Liệu có chỉnh được không ạ?
|
|
|
"trình duyệt tốt nhất là console". Bạn dùng thử xem
|
|
|
Mình nói theo cách này nhé cho mọi người dễ hình dung:
File bat: Là một tập hợp lệnh Dos được gộp lại với nhau, và lưu trong file có đuôi .bat
Khi chạy file bat, thì những lệnh nào có trong file thì sẽ được thực thi.
Cái này rất hữu dụng khi bạn cần chạy một loạt lệnh liền một lúc, thay vì gõ từng lệnh một, thì chỉ cần chạy file bat là xong
Ví dụ nhé: mình có file test.bat như sau để mở file abc.txt trong thư mục C:\Work
Code:
sau đó chạy file. Ví dụ
Code:
Kết quả
Code:
C:\cd Work
C:\Work\type abc.txt
Các command dùng trong file bat chính là các lệnh Dos, không có gì cả. Tuy nhiên bạn có thể tra thêm các tham số dùng cho file bat trong phần help của Windows để biết thêm
|
|
|
Cứ từ tốn, chờ như lúc xem trên Youtube ấy, chả khác tí nào cả
Dùng tool từ đầu đến cuối nhưng là 1 ví dụ điển hình cho kiểu tấn công local qua lỗi File inclusion. Ai chưa rõ có thể tìm trong MilW0rm. Mình nhớ là trong đó có tài liệu nói rất rõ ràng về cách tấn công này, phân tích khá đầy đủ ==> nhưng không dạy cách hack theo kiểu step by step đâu
Hoặc vào topic của bác hackernohat trong tán ngẫu ấy (lớp học hacker thì phải), bài mới nhất của bác ấy đề cập rất rõ đến lỗi này.
Nếu muốn lấy ví dụ minh họa chi tiết hơn thì sang bên vniss mà tìm, các đồng chí bên ấy giỏi mấy cái này lắm
Tóm lược lại, thì cái video ấy như sau: (cho ai chưa hiểu cách thức nhé)
- Đầu tiên tìm thấy một site dùng PHP-Nuke cho phép include file.
- Sau đó, tác giả up lên server một con shell r57
- Thông qua r57, up lên một file Back-Connect.php và dùng cái Back-Connect này up lên server file nc.exe mở cổng (cái này mình xem lướt qua, không để ý lệnh của netcat lắm). (Sao nó không dùng luôn r57 để up lên nhỉ mà còn qua một đoạn trung gian thế)
- Dùng Putty connect vào site đó thông qua cái cổng đã mở, sửa lại file index ==> hoàn thành việc deface. (Đúng là hơi phản cảm thật)
Tool rất đơn giản: 2 con shell php, netcat, putty và cả cmd của Win nữa.
|
|
|
Ơ bác shuichi_akai cho em hỏi 2 cái nhé:
- Liệu có thể thay đổi được thanhs taskbar của XP giống hệt như của Mac không hay vẫn giữ nguyên như của XP?
- Down themes ở trang nào thế?
|
|
|
Thế ai có "Da MacOS hồn XP" không,
|
|
|
Vấn để là những cái ji đc coi là cơ bản vì có quá nhiều tài liệu nói nhưng ko tài liệu nào nói rõ ràng và chính xác đc là cái ji là cơ bản. Mong các bác pro giúp e đc ko ạ ?
==> chả có tài liệu nào nói làm hacker cả
|
|
|
cái này mình lấy trong quyển Grayhat Hacking ra, nói về pseudo-code:
Develop pseudo-code. The term pseudo means fake. Pseudo-code refers to the clear, concise description of logic or computer algorithms in plain English, without regard to syntax. In fact, there is no precise syntax for pseudo-code. That said, most programmers gravitate toward a format like their favorite programming language.
==> đại loại là một những lời hướng dẫn của mình để thực hiện một cái gì đó bằng tiếng nói ấy, chứ không phải là mã lệnh đâu:
VD: để nấu cơm: (cái này chắc quá kinh điển )
1. Đong gạo
2. Vo gạo
3. Cho gạo vào nồi
4. Cắm điện
5. Chờ cơm chín
6. Kết thúc
==> đại loại là như thế. Còn trong quyến sách đó thì nó có chú giải về pseudo - code như sau:
Pseudo-code
In this section, we will elaborate on the concept of pseudo-code. In order to better prepare you for upcoming sections, we will aim for a C language format. The reason for this is to quickly move from pseudo to real code.
Though we don't typically think of it in those terms, humans naturally act like programs during the course of their day. To illustrate this point, the process of getting ready for work generally goes like this:
1 Wake up
2 Use toilet
3 Shower
4 Fix hair
5 Brush teeth
6 Shave/apply make-up
7 Select clothes to wear
8 Get dressed
9 Eat breakfast
10 Watch news
11 Grab keys and wallet/purse
12 Head for the door
To a programmer, this process would follow an algorithm like this:
Wake up ( )
Visit the bathroom ( )
Get dressed ( )
Prepare to leave ( )
Leave ( )
At this point, using ( ) indicates the use of modules. The important thing to note is that each step follows a logical progression. It would make no sense, for example, to leave without first getting dressed.
If we were to make a computer program to model this process, we would further refine each of the preceding modules by creating smaller modules, some nested within each other:
Prepare to leave ( ){
Eat breakfast ( )
Until it is time to leave {
Watch news ( )
}
Grab keys and wallet ( )
}
The { and } symbols are used to mark the beginning and the end of a block of pseudocode. Don't worry about the symbols we've chosen here. They'll make more sense later. Further refined, Eat breakfast ( ) could look like this:
Eat breakfast ( ){
Choose a brand of cereal ( )
Prepare a bowl of cereal ( )
Grab a large spoon ( )
Eat the bowl of cereal ( )
...
And so on, and so on...
==> hy vọng là bạn hiểu???
Còn cái flowchart thì nó chính là sơ đồ khối, bạn có thể tìm kiếm bằng google là ra ngay thôi. Nói qua một ít, sơ đồ khối vẽ lại quá trình tính toán của máy bằng các hình vẽ được qui định sẵn như output là hình gì, input là hình gì, vòng lặp thì dùng hình gì, câu lệnh rẽ nhánh thì vẽ như thế nào. Sau đó, ráp vào theo cái pseudo - code thì ra sơ đồ khối
|
|
|
Đứa bạn mình mới mua cái máy tính (tầm 3 tuần). Hôm qua đang chơi game thì điện yếu, máy khởi động lại, nó chán, tắt luôn máy (máy không kịp vào Windows) . Hôm nay, khi nó bật lại máy thì màn hình không lên (vẫn có điện vào màn hình). Khi mình kiểm tra thì có những hiện tượng sau:
- Màn hình vẫn hoàn toàn ổn (đã dùng card TV để thử, đề phòng trường hợp màn hình có vấn đề)
- Mở thùng máy, quạt CPU vẫn chạt vù vù.
- Khi máy bật, không thấy đèn màu xanh (mình không rõ đèn này báo cái gì), chỉ thấy đèn HDD lóe đỏ lên một lúc, sau đó là không có hiện tượng gì.
- Không thấy có quá trình khởi động (mình cảm giác thế vì màn hình có cái gì đâu)
==> tóm lại mình không biết máy nó bị làm sao nữa. Định mang đi bảo hành, song vẫn cứ hỏi để xem lỗi là gì, biết đường mai nói chuyện với mấy bác kỹ thuật viên của công ty, xem có được bảo hành hay không.
PS: máy mua tại Trần Anh.
|
|
|
Ai dịch hộ em đoạn code trên cái.........Đọc hok hiểu j` cả
==> nói thật nhé: đi học lập trình đi, rồi hãy mơ viết virus nhé. Đưa source code lên, xong cho một câu không hiểu gì thì ...
|
|
|
Bài viết này được trích ra từ chương 7 của quyển sách "Gray Hat Hacking". Mình hy vọng bài viêt này giúp cho những ai chưa biết gì về lập trình có những khái niệm đầu tiên về cách giải một vấn đề trong lập trình máy tính.
Đây là một bài viết bằng tiếng Anh. Hy vọng bác nào có thời gian rỗi có thể dịch nó sang tiếng Việt giúp nhé (mọi người thông cảm vì mình dịch quá ẹ :mrgreen.
Programming, Survival Skills
Why study programming? Ethical hackers should study programming and learn as much about the subject as possible in order to find vulnerabilities in programs and get them fixed before unethical hackers take advantage of them. It is very much a foot race: if the vulnerability exists, who will find it first? The purpose of this article is to give you the survival skills and the ability to find holes in software before the black hats do.
It should be said at the outset that programming is not something you learn in an article, a chapter or in one book, for that matter. There are professional and hobbyist programmers who spend years perfecting their skills. However, there are a few core concepts that can be picked up rather quickly. We will not try to turn you into a programmer. Instead, we hope that by the end of this article you won't be afraid to look at source code and that you've learned a few skills to "hack" up some code if you need to.
Programming
The Problem-Solving Process
Experienced programmers develop their own process of tackling problems. They will consolidate or even skip steps, but most of them will admit that when they first learned, they followed a more structured approach. Programming usually revolves around a problem-solving process as follows:
1 Define the problem:The first step in the process is to clearly define the problem. This step can be as simple as brainstorming; however, there is usually a need to develop requirements of some sort. In other words, "What is the problem we are trying to solve?" The next question to ask is "What are the high-level functions that will allow us to solve that problem?"
2 Distill the problem down to byte-sized chunks: At this point, the high-level functions may be hard to wrap your mind around. In fact, they may be very abstract, so the next step is to break the high-level functions into smaller ones through an iterative process until they are easy to digest.
3 Develop pseudo-code:The term pseudo means fake. Pseudo-code refers to the clear, concise description of logic or computer algorithms in plain English, without regard to syntax. In fact, there is no precise syntax for pseudo-code. That said, most programmers gravitate toward a format like their favorite programming language.
4 Group like components into modulesThis is an important step. Recent programming programs rely on a concept called modularity. Simply put, modular means self-contained and reusable bits of code-after all, why reinvent the wheel if the module already exists? Over time, programmers develop their own software module library or learn to quickly find others and incorporate them into their own programs. Modules are loosely related to functions or procedures in most languages.
5 Translate to a programming languageAt this point, you should have pseudocode that resembles your favorite programming language. It's a simple process to add the nuances of your favorite language, such as its syntax and format. Then run your favorite compiler to turn the source code into machine language.
6 Debug errors.The term bug (as it relates to hardware) was first coined by Thomas Edison, but it was Navy Admiral Grace Hopper who made it famous
when she found a bug (actually a moth) while cleaning the Harvard Mark II calculator in 1945. Many credit her with coining the term debugging, which means to remove any errors in either computer hardware or software. For our purposes, there are two types of programming errors or software bugs that require debugging: syntax and runtime.
- Syntax errors Syntax errors are caught by the compiler during the compiling process, and are the easiest type of error to find and fix. The compiler usually provides enough information to allow the programmer to find the syntax error and fix it.
NOTE: Many black and gray hat hackers will modify the source code for their exploits and purposefully add syntax errors to keep script kiddies from compiling and running them. The source code could be crippled by removing needed syntax (for example, missing ; or {}).
7 Runtime errors. Runtime errors are harder to find and fix. They are not caught by the compiler and may or may not be found during program execution. Runtime errors (or bugs) are problems that will cause the program to act in a manner not intended by the programmer. There are too many types of bugs to cover in this chapter; however, we will focus on input validation errors. These errors occur when the user provides input in a manner not foreseen or handled properly by the programmer. The program may crash (at the least) or may allow the attacker to gain control of the program and the underlying operating system with administrator or root level access (in the worst case). The rest of this chapter will focus on this type of programming error.
8 Test the program. The purpose of testing is to find the runtime errors while confirming the functionality of the program. In other words, does the program perform as planned without any unforeseen consequences? It's the latter part of this question that's the hardest to answer. The problem centers around the fact that a programmer is often the last person to find all of the runtime errors. The programmer is typically too close to the program to think outside the box. It is usually best to separate the testing and programming functionalities and have separate people perform them.
9 Implement production: Unfortunately, for too many software products, production begins as soon as the program compiles without syntax errors and without adequate testing. There's often a rush to market and a ready acceptance that bugs will be found and handled later.
to be continued...
|
|
|
Hì, yên chí. Các lib cơ bản nhất của C đều có sẵn trong MinGW rồi. Không phải lo lắng chuyện copy đâu.
|
|
|
thế bạn có biết câu lệnh:
Code:
www.google.com /Enter
define: abc /Enter // Tra nghĩa từ :"abc"
|
|
|
foureyesboy wrote:
Theo em thì nên học toefl thì tốt hơn.Học toefl thì những skill:listening,speaking,reading,structure sẽ được hoàn thiện hơn,if chúng ta học nghiêm chỉnh thì tốt nghiệp 12 xong,học thêm chừng vài tháng là AV sẽ good thôi mà.
PS:đây là suy nghĩ của cá nhân em,con người ta đâu ai mà lúc nào cũng đúng hoàn toàn,nên có gì sai,xin các pác bõ qua cho em.thanks.
==> với vốn tiếng Anh em có được sau 12 năm học (chỉ học trên lớp, không nói đến đội chuyên Anh đâu nhé) + vài tháng học tiếng Anh mà em nghĩ mình sẽ tốt được kĩ năng nào: đọc, nghe, nói hay viết ??? kể cả em học ở những trung tâm "hàng khủng", đóng tiền đô thì khả năng tiếng Anh của em sẽ chỉ tốt được một thời gian thôi, sau đó sẽ tụt dốc không phanh nếu không chịu học. Học ngoại ngữ là cả một quá trình.
==> học TOEFL là luyện 4 kĩ năng: nói, nghe, đọc, viết còn cái "structure" là cái gì thế??? Học TOEFL được thì là rất tốt, nhưng để lấy được cái điểm đủ để đi học nước ngoài thì tốn kha khá thời gian đấy (như đứa bạn anh nó vừa đi Anh xong thì quá trình học của nó kinh hoàng lắm: 1 năm chỉ học nghe, nói, đọc, viết, sau đó là bỏ hết 1 năm nữa không học gì ngoài TOEFL ==> cày kinh hoàng luôn). Nhưng nếu không định đi du học thì không nên học TOEFL, có thể đầu tư học chứng chỉ khác như TOEIC chẳng hạn.
PS foureyesboy: không nên nói 2 câu tiếng Việt, dùng 2 từ tiếng Anh nhé. Nghe ngang tai lắm. Trước khi học tiếng Anh, hãy học tiếng Việt cho tốt đã.
|
|
|
nói như vậy không lẽ dân IT nhà ta giờ chỉ học tiếng anh hết thui sao nếu tập trung đến mức như vậy thì ít nhất cũng phải dành 1 lượng thời gian không hề nhỏ để học tiếng anh zay !
==> đúng, dành một lượng thời gian không hề nhỏ để học. Nhưng khi đã mong muốn đạt được mục đích gì đó, thì phải chấp nhận từ bỏ một vài thứ. Còn nếu không thì :?)
thời gian đâu mà chú tâm học CNTT đây ?
1 người thì chẳng thể có quá 24 giờ 1 ngày được .
theo tui việc học tiếng anh không thể cứ cắm đầu vào học mà được với dân IT thì theo tui vốn từ là 1 trong những yếu tố quan trọng hàng đầu.
nếu đã xác định học tiếng anh thật tốt thì theo tui là nên sắp xếp 1 khoảng thời gian hợp lý cho tiếng anh và còn lại là cho CNTT chứ nếu học theo kiểu đi ngủ mơ cũng nói tiếng anh chắc không quá 3 tháng sau phát điên luôn.
==> đồng ý duy nhất ở một quan điểm: mỗi con người chỉ có 24h/ngày để làm mọi thứ, điều quan trọng nhất ở đây là sắp xếp nó như thế nào. Còn việc học tin thế nào? Mình xin hỏi bạn, bạn dành thời gian cho học tin là thế nào (đọc báo, sách,... bằng ngôn ngữ gì, tiếng Anh hay tiếng Việt). Bạn cứ thử nghĩ xem, khi bạn đọc sách tiếng Anh, bạn suy nghĩ bằng ngôn ngữ gì (Anh hay Việt). Nếu là tiếng Việt, tức là bạn đọc bằng tiếng Anh, sau đó đầu bạn dịch mọi thứ sang Tiếng Việt ngay trong đầu==> sai lầm khi đọc, nó sẽ làm đầu óc nổ tung vì não phải làm quá nhiều thứ ==> gây căng thẳng ==> không bao thể đọc sách quá lâu. Còn nếu là tiếng Anh, tức là bạn đang suy nghĩ bằng tiếng Anh đó, chứ còn gì nữa. Còn việc mơ ngủ cũng nói tiếng Anh không có ý là học đến tẩu hoả nhập ma, mà có nghĩa là học tiếng Anh đến độ tiếng Anh cũng như tiếng Việt, nó quá thân quen với bạn! (cái này bác conmale dùng hình ảnh nói cho vui, nhưng mình thấy nó rất đúng, chả có gì sai cả). Và mình không hiểu, cắm đầu vào học tiếng Anh nghĩa là sao. Chả lẽ suốt ngày ngồi làm các test, rồi grammar, đọc bài sao? (mình cũng ghét cái thể loại học suốt ngày như thế). Ý của mình là hãy để tiếng Anh vào đầu mình một cách tự nhiên nhất, thế thôi.
Tiếng Anh trong lĩnh vực nào cũng thế, không thể coi trọng một kĩ năng nào hơn cái nào, tất cả đều cấn thiết. Việc nâng cao vốn từ trong IT phụ thuộc vào việc bạn đọc tài liệu tiếng Anh nhiều hay, ít.
cho dù học thế nào thì cũng nên sắp xếp cho mình 1 thời gian nghỉ ngơi hợp lý nếu không có khi được 1 thời gian học theo kiểu " như trâu như bò" thì " bệt luôn " tự nhiên sẽ sinh ra mệt mỏi -------------> chán nản-----------------> cuối cùng là bỏ dở .
==> trong thời gian nghỉ ngơi của mình, chắc ai cũng thỉnh thoảng thuê hoặc mua vài đĩa CD/DVD phim về xem hoặc nghe nhạc, sao không thử cách như của mình thay vì thuê vài cái đĩa phim chưởng giọng thì chọ chụe , hình thì xấu hoắc.
Hãy học tiếng Anh (hay bất kì ngôn ngữ nào cũng thế) một cách tự nhiên nhất, thoải mái nhất và đừng có ngắt quãng việc học, học một cách thường xuyên (không cần quá nhiều, chỉ cần học đến khi nào thấy chán thì chuyển sang học cái khác).
|
|
|
http://www.vnhacker.org/hvaonline/posts/list/2757.html
|
|
|
Seii TaiShogun wrote:
Mình có xem qua 3 code editor : N++ , EditPlus v2.21 , EmEditor v.6.00.2 .
Mình thấy 3 code editor này hỗ trợ khá nhiều programming language , nhưng có điều cả 3 code editor mình thấy đều ko có hỗ trợ kiểm tra lỗi lập trình .
Vậy khi trong quá trình code có lỗi , mình đâu biết đường mà sửa , vì mấy cái compile engineer đâu có hỗ trợ kiễm tra lỗi lập trình .
==> đã từng dịch thử chưa mà nói thể.
Yên chí là khi sử dụng các complier đó, thì nếu có lỗi, nó sẽ báo và báo chính xác ở dòng nào. Nếu mình nhớ không không nhầm khi dùng gcc để dịch có thể cả tuỳ chọn debugger nữa. Tuy nhiên sẽ gặp khó khăn ở việc sửa lỗi, vì phải chuyển cửa sổ liên tục |
|
|
|
www.mingw.org
hay google "C++ compiler"
|
|
|
H: Visual Basic có phải là một ngôn ngữ tốt để bắt đầu không?
Đ: Nếu bạn hỏi câu này thì chắc chắn bạn đang nghĩ đến chuyện muốn hack Microsoft Windows. Đây là một ý kiến tồi. Khi tôi so sánh việc học hack trên Windows giống như việc học khiêu vũ như toàn cơ thể bị bó bột, tôi không có ý đùa với so sánh này. Đừng bén mảng đến đó. Nó xấu xí và sẽ không bao giờ ngưng bị xấu xí.
Có một lý do cụ thể về trở ngại của Visual Basic; chủ yếu là nó không chuyển dụng (từ hệ điều hành này sang hệ điều hành khác) được. Dẫu có một bản thử nghiệm nguồn mở ứng dụng Visual Basic, các tiêu chuẩn có thể ứng dụ được từ ECMA không đủ bao trùm một nhúm giao diện lập trình -35- bé nhỏ. Trên Windows, hầu hết các thư viện được hỗ trợ thuộc dạng thương mại có bản quyền của một công ty nào đó cung cấp (như Microsoft); nếu bạn không cực kỳ cẩn thận với những tính năng bạn dùng - dù có cẩn thận hơn bất cứ newbie nào có khả năng cẩn thận - bạn sẽ bị dính chặt vào những hoạt nền chỉ có Microsoft hỗ trợ. Nếu bạn bắt đầu với Unix, có những ngôn ngữ và thư viện tốt hơn rất nhiều. Ví dụ như Python.
Cũng như các dạng Basics khác, Visual Basic là thứ ngôn ngữ được thiết kế một cách nghèo nàn chỉ dạy bạn những thói quen lập trình xấu. Đừng, đừng bắt tôi phải mô tả chi tiết; để giải thích chắc phải đầy một cuốn sách. Thay vì vậy, nên học loại ngôn ngữ được thiết kế đẹp hơn.
Một trong những thói quen xấu là trở nên phụ thuộc vào một nhóm duy nhất cung cấp thư viện, tiện ích và công cụ lập trình. Tổng quát mà nói, bất cứ ngôn ngữ nào không được hỗ trợ đầy đủ trên ít nhất Linux hoặc một dạng BSB khác, hoặc/và ít nhất ba hệ điều hành khác nhau thì đó là một ngôn ngữ quá tệ để học cách hack trên đó.
==> Một ý kiến quá tiêu cực. Chứng tỏ tác giả có ác cảm cực kì với Microsoft và Bill Gates. Điều này quá phi lý. Không phải tất cả mọi người đều có thể dùng được UNIX, Linux và dĩ nhiên Windows là một sự lựa chọn đúng đắn. Và khi nhắc đến Windows thì chắc chắn phaỉ nhắc đến Visual Basic (tác giả của ngôn ngữ Basic chính là Bill Bates). Một ý kiến có lẽ không nên xuất hiện trong một bài viết mang tính chỉ hướng như thế này (dĩ
PS conmale: Em đã thử đọc song song, cả bản dịch của bác và bản tiếng anh nguyên gốc và rút ra kết luận bản dịch của bác quá tuyệt. Không còn gì để chê trách.
Tuy nhiên, em không thể đọc hết toàn bộ bài viết này bởi nó nhắc quá nhiều đến Linux, Unix và mã nguồn mở cùng khá nhiều thử vô thiên lủng khác. Những gì tinh tuý nhất của bài viết này, chính là những gì nhắc đến vấn đề tư duy của hacker + tinh thần của một hacker chân chính. Và có lẽ những script kiddies không đủ kiên nhẫn để đọc bài viết này.
Trên echip, cũng đã có một bản lược dịch của bài viết này, có tiêu đề là "Hacker thật sự anh là ai". Có lẽ với những newbie, nên đọc bản dịch này vì nó sẽ nhắc đến những ý chính, thực sự hữu ích.
link: http://www.vnn.vn/cntt/2005/10/500386/
Sau khi google "chia xẻ" thấy có. Chứng tỏ vẫn được sử dụng. Em edit lại cái. (mình chưa nghe thấy bao giờ, chỉ toàn nghe chia sẻ thôi!)
|
|
|
Theo mình, học đồ hoạ thì tốt hơn. Tuy nhiên, nó đòi hỏi phải có khiếu thẩm mỹ một chút.
Nhưng việc theo đuổi ngành CNTT, đâu chỉ có 2 ngành trên. Bạn có thể học lập trình ở Aptech, hoặc NIIT.
Thân
|
|
|
vùng nhớ bị ghi đè ở đây là ý em muốn nói giá trị của biến đang chiếm hữu vùng nhớ đó có thể bị thay đổi, hay nói cách khác là 2 biến cùng trỏ một vùng nhớ.
==> chính xác.
Có nghĩa là phải cấp phát trước khi sử dụng ấy.
==> bạn hiểu rồi, còn gì nữa.
|
|
|
có thể trỏ vào vùng nhớ quan trọng của biến khác chứ, nghĩa là vùng nhớ của biến đó có thể bị ghi đè mà.
==> đồng ý là thế, nhưng không có nghĩa là vùng nhớ đó bị ghi đè. Bởi vì, vùng nhớ của con trỏ là nằm trên Heap, không phải Stack. Nó chỉ trỏ tới 1 vùng nhớ nào đó trên Stack. Vậy thì ý bạn ở đây, ghi đè nghĩa là sao? Chẳng lè Heap có thể nằm đè lên Stack.
ý mọi người là khi khai báo con trỏ, nhất thiết phải cấp phát bộ nhớ mà không được sử dụng luôn đúng không
==> không hiểu. Đã khai báo, đã cấp phát mà không sử dụng thì để làm mắm ah?
|
|
|
Không ngờ bác Mr.Khoai có quả phân tích chí lý thật. Bái phục. Thực ra, khi học lập trình, thì sẽ hình thành một lối tư duy (theo kinh nghiệm của em) bao gồm bước 1, 2, 3 và có thể thêm 4 theo "kiểu lập trình" ==> dẫn tới việc học lập trình các ngôn ngữ khác sẽ dễ hơn rất nhiều. ==> tuy nhiên, hãy cố gắng học thật tốt một ngôn ngữ lập trình để lấy làm cơ sở, đừng quá chú trọng vào việc học ngôn ngữ gì, hãy học cách giải quyết một bài toán như thế nào (hay còn gọi là thuật toán).
To bác Mr.Khoai: em tin bác nếu không học chuyên tin từ năm cấp 3, thì cũng phải có một kinh nghiệm học lập trình khá lâu rồi.
To Vickizw và lightingskyman: khuyên người ta học cái gì phải có nguyên do của nó chứ. Đừng chơi cụt như thế.
|
|
|
Tóm lại, câu hỏi của em là làm thế nào để trở thành một hacker đúng không. Câu này không cần trả lời, tự đọc trong diễn đàn là vỡ ra ngay!
|
|
|
Trong bộ nhớ của C có 2 vùng nhớ là Heap và Stack. Khi bạn khai báo một con trỏ (pointer) chẳng hạn thì vùng nhớ được cấp phát sẽ là vùng nhớ trên Heap. Trong khi đó, các biến khác khi khai báo sẽ được cấp phát bộ nhớ trên Stack. Khi sử dụng con trỏ trỏ vào một biến nào đó thì vùng nhớ của con trỏ trên Heap sẽ được trỏ tới vùng nhớ trên Stack. Chính vì vậy khi bạn không cung cấp vùng nhớ cho con trỏ (hay không cấp phát bộ nhớ cho nó) thì sẽ không có chuyện bộ nhớ trên Stack bị ghi đè. Tuy nhiên, việc khai báo con trỏ mà không cấp phát sẽ rất nguy hiểm, khiến cho chương trình đi lúc nào không hay.
Còn khi bạn đã cho nó trỏ tới một mảng char chẳng hạn, tức là bạn đã cấp phát cho con trỏ một vùng nhớ rồi, thì sẽ không có chuyện bị ghi đè dữ liệu lên vùng nhớ khác đâu.
|
|
|
Thứ nhất, bạn phải nói rõ bạn dùng main gì.
Thứ hai,
meovonchuot wrote:
Máy em RAM là 256 MB nhưng Card onboard chỉ có 8 MB thôi, em cài Win XP xong giờ chạy chậm như rùa bò, khổ quá
==>kêu máy chạy chậm, mà còn đòi share Ram làm card màn hình làm gì. 8MB là mức share Ram thấp nhất rồi.
|
|
|
bản 2, 3 thì search ra ngay. Bản 4 thì tìm được vài chương. Bản 5 thì bó tay, chỉ tìm được đúng cái review. Chịu.
|
|
|
|
|
|
|