外掛製作--------過NP技術漸漸

qjzh874發表於2009-02-10

 

想想你要對付的是什麼。你自己連NP都繞不過,至少目前是這樣,而做那個外掛的人,能繞過NP,能做自解壓或者以你的描述來說,能做到PEID查不出的殼,等等,以他的技術做出來的東西,我覺得以你目前的水平沒那麼容易就搞定的。雖然歷史上也有過小米加步槍打贏飛機大炮的例子。當然我不懷疑你的熱情,但還要再努力才能開始你這個大工程,還要去學習和實踐很多東西之後才行。

按你上面提供這些不是很詳細的情況來說,也許我來研究這個可能比你要容易得多,不過我也不敢保證我一定能破解得了,並且我現在確實沒時間研究這種東西,工作太忙了,而且現在我的機子上都好久沒裝MXD了。但如果你在研究的過程遇到什麼需要技術上的幫助的,我還是很樂意幫你。

給你一點建議:
一,搞清楚人家是用什麼程式語言寫的。
二,用EXESCOPE看看DLL裡面有哪些EXPORT函式
三,有可能的話,把所有你感興趣的程式反彙編一下,並努力讀懂它們,這樣很有幫助

=============================================================================

具體對於NP來說,我從來都沒有覺得它是破解不了的,理論上來說世界上不管什麼程式,只要CPU能執行的,理論上就不可能是不可破解的,任何程式要讓CPU能正確執行就要讓CPU讀懂,要讓CPU讀懂理論上就能讓反彙編工具把它變成彙編程式碼,這樣理論上就完全可以讀懂它每一句都在做什麼,理論上就能破解。但問題是,一方面,有時一個簡單的小軟體反彙編出來就幾十萬行,就算你不求理解地讀一遍可能都要花你好幾個月的時間,更何況要完全讀懂每一句,要花費的時間就更長。而且反彙編的技術和對付反彙編的技術,其實就和病毒和防毒軟體一樣都在發展,開發軟體的人總在想新的方法來干擾當前市面上的反彙編工具,讓它不能正確反彙編,於是反彙編工具不得不又再改進,然後對抗反彙編的技術又再改進,,,而動態跟蹤和反動態跟蹤的技術也一樣,都在不斷的改進以戰勝對方,所以有時利用現有的技術和工具並要對一個手段高明的程式進行反彙編和解讀確實就困難重重

===============================================================================

一,花三至五年熟悉組合語言和反彙編及動態跟蹤工具的使用,並且拿些簡單的軟體來做破解,二,花三五個月分析NP的反彙編(如果能反彙編出來的話),三,再花三五個月動態跟蹤NP,不過之前還要先想辦法怎樣躲過NP的反動態跟蹤。四,然後有個初步的方案,再花幾個月去測試你的方案是否成功,如果不成功,再轉到第一步。
以上是說一般人的情況,當然也許上面說的你早就已經做過了,或者別人要花幾年的時間去研究的東西你只要一個鐘頭就能弄懂弄熟,那麼也許你只要花幾分鐘就能搞定。

======================================================================

我們平時說的彙編和反彙編,是互相有關係但性質不同的兩件事。

彙編一般是指一種語言,叫ASSEMBLE,簡稱ASM,早期在程式語言不發達的時候,程式設計師要直接寫機器碼指令,一般都是二進位制數字,這樣不容易記憶,也不容易讀懂,而且在不同CPU型別的電腦上要移植也很困難,因為機器碼指令都是以CPU為基礎的,不同的CPU,執行同一操作的機器碼指令可能是不同的。所以後來發展成用匯編語言助記符,例如MOV,ADD,CMP,JMP,JZ,JNZ等來標記那些機器碼指令,也可以用這些助記符來編寫程式,然後再由編譯程式把這些助記符根據具體的CPU型別編譯為真正的機器碼指令。可以說,彙編助記符和真正CPU能接受的機器碼是完全等價的,同一助記符理論上一定等於某一條機器碼指令,反過來說同一條機器碼指令也一定等同於一條助記符。所以這也是為什麼要分析程式的人要能看懂彙編的道理,因為一個程式只要CPU能執行,理論上就能把它轉換成等價的彙編助記符,而我們能看懂彙編了,就能根據這些助記符而知道程式在哪一步做了什麼。而這個把機器碼轉換為彙編助記符的過程就是反彙編。

所以,彙編是一種程式語言,並且以現在的情況來說,直接用匯編寫程式的人比較少了,但它在對程式的分析上仍然有很大的用途,因為只要是CPU能讀懂和執行的我們都能把它轉換成彙編助記符讓人類能讀懂。

而反彙編是一個過程,是把機器碼轉換成彙編助記符的過程。

所以說它們是互相有關聯但又性質不同的兩個東西,一個是語言,一個是一種過程。

相關文章