U E D R , A S I H C RSS

��호/시스템프로그래�과어셈블리어

API Hooking� 통해 Application �하� 차��서 프로그램� �유 �재로 다룰 수 있다는 것� 배웠다.

몇몇 게임(카트���, 워�, 대항해시대 등등)� 프로그래머들� Application 층만� 다룰줄 아는 무�한 프로그래머�는 것� 알았다. (특히, 워�� 프로그래머는 프로그래머�기 보다 코�� 가�고 배운 것만 쓸 줄 아는 무�한 바보�다. 그 프로그래머는 개발�로서� 수명� 매우 짧� 것�다. 3년� 못가 짤리거나 혹� 워���는 게임� 사�질걸?) - (� 게임들� 코드를 숨기지 못하게 하는 방법� 모르는 모양�다. �런�으로 게임들� 건들여 패치를 만들 수 있다. KartRider는 요즘�와서 debug를 불가능하게 해�고 실행 파�� packing 한 모양�다. � 그래� 많� 코드들� 따�가지 않고 ntdll.ZwTerminateProcess� BreakPoint를 걸어 앞 함수를 건들�면 그만�지만.)

System Programming� 통해 Application층 프로그래�� 본질� 깨닫기 시작했으며, 가장 중요한 것� Assembly란 것� 다시 한번 깨달았다.

Assembly를 �유�재로 다루지 못하는 프로그래머는 그 수명� 매우 짧다. 아니�고? 100� 80~90%는 그럴걸? 나머지 10~20%� 프로그래머� 디버그 능력� 현저히 떨어질 것�다. 디버그 능력� 좋다고 해� Assembly를 �유�재로 다루는 프로그래머를 결코 능가 할 수 없지.

프로그래머�면 Code� 본질� 알아야한다. 그것� �루는 것� Assembly�다. �것� 수행하지 않� 프로그래머는 프로그래머가 아니� Coder�다. Assembly로 특정 함수를 따�다니며 실제로 �히는 방법� MSDN�서 나와있는 것� 그대로 베�는 것보다 현명할지 모른다. 프로그래�� 배우는것� 아니� �접 Code를 짜보는 것�다. MSDN� 보는 것과 debug로 따� 가보는 것� 그 차�가 �다.

프로그래ë°�ì�„ 처ì�Œ 접하는 사람으로서는 Assembly어는 무리가 있ì�„ì§€ë�„ 모르나, 약간ì�˜ ì§€ì‹�ì�„ ê°–ì˜ ì‚¬ëžŒì�€ Assembly어를 ê¼­ 배워야한다. Assembly어는 ê²°ì½” 사ë�¼ì§ˆ 수 없는 언어ì�´ë‹¤. ì�´ê²ƒì�€ 매우 중요하며, ì�´ 때문ì—� 대학ì—�서ë�„ ì •ê·œ 과정ì†�ì—� í�¬í•¨ë�˜ì–´ 사ë�¼ì§€ì§€ 않는 것ì�´ë‹¤.
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:30:32
Processing time 0.0081 sec