初學者怎樣看懂代碼 有必要學習匯編語言嗎?
有必要學習匯編語言嗎?謝謝邀請,現(xiàn)在從事匯編語言的崗位相對比較少,如果是從就業(yè)的角度考慮不建議直接去學習匯編,但是從建立知識體系的角度還是值得去學習。學習匯編語言的幾個好處:1.能更好的理解計算機體系
有必要學習匯編語言嗎?
謝謝邀請,
現(xiàn)在從事匯編語言的崗位相對比較少,如果是從就業(yè)的角度考慮不建議直接去學習匯編,但是從建立知識體系的角度還是值得去學習。
學習匯編語言的幾個好處:
1.能更好的理解計算機體系結(jié)構(gòu)
2.在某些領域能夠極大的提升性能
3.方便從底層分析問題所在,特別是在解決某些程序崩潰
希望能幫到你
編程語言越來越高級,匯編到底有什么用?
反匯編程序。匯編語言絕對有用。如果能讀懂匯編語言的話,那程序反匯編之后,你也讀不懂。
我曾經(jīng)自學過匯編語言,而學習匯編語言的目標很簡單,就是反匯編動態(tài)跟蹤游戲,然后找到游戲的所謂的call。然后用其他的高級語言程序編寫外掛。可以完成游戲中的一些動作,這種外掛被稱為內(nèi)存掛,效率要遠遠高于像按鍵精靈一樣的游戲外掛。
如果您玩游戲的話又想自己寫外掛的話,這一個是必須學習的,不然的話你沒法做一個好的游戲輔助。
上面這種游戲,屬于不是脫機的外掛,如果您想寫脫機外掛的話,那肯定還需要閱讀游戲反匯編之后的匯編語言代碼。
在這些代碼里面尋找游戲發(fā)包收包加密的一些程序段,如果能完成這一步的學習制作分析,那就可以寫脫機外掛了。其實脫機外掛比較簡單,他不需要打開游戲,也不需要完成游戲的,防作弊系統(tǒng)。只是不停的收包發(fā)包就可以了,但是這個極其麻煩,分析起來。比如說心跳包,比如說地址的格式。人物信息的分布。等等。
就和你分析這些吧,反正我覺得匯編語言,在當時的我來講,最大的作用就是玩游戲.。最后再補充一下,匯編語言,學好了之后,您可以對一些底層的代碼進行分析,包括硬件的一些編程的代碼,匯編代碼也涉及到數(shù)據(jù)安全等等,還可以完成破解軟件,破解硬件加密狗脫殼加殼虛擬機等一系列的工作。
這樣我還能推薦一個論壇,當然現(xiàn)在不知道還有沒有,那就是看雪論壇。
祝您學習有進步。
匯編語言新手問題基址寄存器和變址寄存器分別是干什么的?
基址寄存器:寄存器BX稱為基地址寄存器(Base Register),它可作為存儲器指針來使用。 變址寄存器:32位CPU有2個32位通用寄存器ESI和EDI。其低16位對應先前CPU中的SI和DI,對低16位數(shù)據(jù)的存取,不影響高16位的數(shù)據(jù)。 寄存器ESI、EDI、SI和DI稱為變址寄存器(Index Register),它們主要用于存放存儲單元在段內(nèi)的偏移量,用它們可實現(xiàn)多種存儲器操作數(shù)的尋址方式,為以不同的地址形式訪問存儲單元提供方便。 變址寄存器不可分割成8位寄存器。作為通用寄存器,也可存儲算術邏輯運算的操作數(shù)和運算結(jié)果。 它們可作一般的存儲器指針使用。在字符串操作指令的執(zhí)行過程中,對它們有特定的要求,而且還具有特殊的功能。