逆向編程難嗎
A. 以後想學C和匯編,做免殺和逆向這些,是不是需要很強大的數學底子啊
我個人是從13年的7月份開始接觸逆向的,目前菜鳥水平,剛剛算是入門。就我個人經驗來看,做逆向對數學沒啥大要求。
這句話的前提是你搞破解用爆破,不要去碰加密演算法。
加密演算法么,既然叫演算法,肯定跟數學扯不清。想從匯編角度寫出一個演算法的逆演算法,我還沒這個水平。起碼聽起來挺高端不是。
多少人用著易語言,學學OD,CE,匯編都半生不熟就開始搞了,磕磕碰碰以後不一樣風生水起。
做到後面還是正兒八經的用C來的實在。當然不是慫恿lz無基礎就上手。野路子肯定是有代價的。只是想說明一點:搞逆向,就是個熟練工種,什麼基礎都沒有的人都能玩轉。
免殺不太清楚,逆向的話,上手甚至對匯編的要求都不會太高。你不去逆向加密演算法啥的,一些簡單的數據逆向對匯編的要求不算高。當然,熟練一些以後還是有必要專門學習下匯編的。主要是熟悉各種指令,並不用達到用匯編寫出完整程序的水平。大部分的編碼還是C來做的。
學的話,先學C,那個人性化點,匯編說難學吧,也不算,就是比較機械化。指令搞來搞去,慢慢就熟悉了,急不來。
lz要知道一點是,你搞的是逆向工程,這是個非常規的活,雖然涉及匯編,涉及編程,但是跟傳統編程側重點完全不同。正常編程,你在意的是如何寫出漂亮且高效的代碼,如何對復雜的業務邏輯進行合理的封裝,如何組織繼承結構。
搞逆向,你注重的是如何通過合理的逆向思維,用類似「如果我寫這個功能,我會怎麼實現····」之類的想法去看待整個程序。如何通過CE,OD切入匯編代碼中的關鍵點。甚至是對於不同編譯器對一些代碼會進行哪些優化,優化後的代碼呈現一種什麼形態,這種。
基於上面這個逆向思維,就要求你又一定的編碼能力。只有能夠深入敵後,正確抓住編碼者思維的破解者才會真正的省時省力。
學習的話,推薦個網站 魚C工作室。
http://bbs.fishc.com/
一個分享和學習氛圍都不錯的網站。上面有免費的課程,C和匯編的都有。主講小甲魚對於匯編,C都有很深的功力起碼帶新手入門綽綽有餘。風格很詼諧,你會喜歡的。裡面還有很多其他的教程,有興趣都可以看看。
書的話,正常介紹C和匯編的書,lz可以自己找,但是我不推薦看這些。如果你喜歡小甲魚的視頻,我想那個就夠讓你對C和匯編入門了。
破解逆向方面的書,是值得花最多的時間去看的。
推薦看雪的那本《加密與解密》,搞逆向必讀。再者就是《C++反匯編與逆向技術揭秘》。這兩本都是我有在看的,但是都沒有徹底讀完。感覺很有必要一讀。
再者,推薦幾個逆向資源站點:
看雪 吾愛破解 廣海社區
前兩個是國內逆向破解主要的兩個論壇。第三個是專搞游戲輔助的,技術相對沒前面那兩個牛,畢竟專注方向不同。
逆向只是很多人沒想到有去搞,或者是沒興趣,或者是沒機會,或者認為沒搞頭。它會比搞正向工程難一些是肯定的,還要面對各種殼,保護驅動。後面這種人為設置的障礙才是提高逆向門檻的主要因素。但除去保護技術,逆向本身不會太難,畢竟都是軟體技術,總會有學會的時候。搞逆向的時間成本比較高。因為大部分學編程的人可能都懂點C,java,去公司培訓培訓,2個周湊合能幹活。
可是沒幾個人在大學正兒八經學過匯編,有學也是王爽的16位匯編,真正玩的轉的恐怕也沒幾個。還有OD和CE,IDA這些,不是專門搞這個的估計都沒聽過,這些軟體也是要專門花謝時間來學的。如果再算上保護,殼,麻煩多了去了。真正有專研精神,肯吃苦的才能學透。
lz加油吧,堅持下去,就會體會到搞逆向的樂趣。
B. 大家好,我想學習軟體逆向工程,請問哪裡有好的培訓機構呀謝謝了
我推薦你考察十五派(15PB)。好課程值得每一位對逆向有興趣的摯友去體驗。通過考察你定能發現十五派的與眾不同及用心之處。
不過,任何組織、機構與個人都需要面臨的一種無奈,那就是詆毀。同樣的,十五派未能倖免……
摘錄十五派2017年年報《砥礪》中一段:
今年詆毀十五派的說辭更加激烈,也更加沒水平了。大概總結起來有如下幾條,我在這里真的沒動力對此做任何解釋了,如果讓我回復那就是「我呸~!」,大家自行甄別吧(有些人屬於是被蠱惑後讓別人當槍使了,因此也沒必要完全對號入座,最起碼我的那個「我呸!」唾的不一定是就發表這些言論的當事人):
十五派課程內容簡直完美,但是完美的課程目錄誰都會列,太完美,只能證明他這就是用這個騙人的,實際根本教不了這么多!另外,底層安全既落後還難學!前端安全多好!
十五派的老師能力不行,特別是創始人,履歷嚴重不符合實際,迴避部分關鍵信息!
十五派的教材是抄其他機構的!
任老師、薛老師、高老師這些主要講師都已經不講課了!
十五派的就業一團糟,畢業的學生很多找不到工作,能找到工作的一般也就找四、五千的工資!
…………
看到這些詆毀,真是感到既氣憤又可笑,心裏面各種情感最終匯聚成一個詞——無奈。
但是無論其他人怎麼做,十五派都不會這樣去詆毀其他人,詆毀終究是個傷人品、損陰德的事,而且隨著時間的推移,很多事早晚都會真相大白。
對於這些詆毀,十五派的看法是,善惡終有報,天道好輪回!感謝這些詆毀讓我們更加團結一致,感謝這些詆毀的人讓每一名十五派的畢業生都看到你醜陋的那一面!十五派平均佔比25%以上的試用期萬元薪水畢業生以及100%的就業率是對以上所有詆毀的有力回擊!
《砥礪》文章詳情請點擊:網頁鏈接
C. 如何快速讀懂反匯編的匯編代碼
簡單的逆向工程其實不難,IDA加Hex-Rays插件,可以直接把匯編還原成C代碼。雖然還原出來的代碼比較怪,但是已經比直接看匯編代碼強多了。
靜態反匯編工具: IDA Pro
動態反匯編工具: ollydbg/x64dbg
Windows內核調試工具: windbg
D. 逆向編程很差,如何快速進步
我也算是學逆向很久的老菜鳥了,當初很是羨慕那些大神級別的操作,總是幻想自己什麼時候能到那種地步,眼高手低好高騖遠……
但是說到快速進步,也不是沒有辦法,就是夯實入門知識點。
正所謂萬事開頭難,不能盲目的去學,更不能分崩離析的去學。
1、知識點方面
逆向設計到的知識點很雜,但是需要精通的沒多少,如果你把時間放在無關緊要的知識點上就無疑會浪費太多的時間,有的知識點需要完全掌握,有的知識點只需要了解即可。
2、老師方面
另外就是老師的原因了,一個好的老師需要具備兩點要素。
一是經驗得豐富,這樣可以節省你很多探索學習的時間。
二是想像力豐富,說到想像力真的是很重要,一個思維的轉換,一個角度的挪移,都會在啥時間解決一些棘手的問題。
3、學習方式方面
一、看書。這個方式推薦有閱讀習慣的人,缺點是內容枯燥,沒有互動,產生的問題只能自己去領悟。
二、網上學習。相對比看書這種方式優點是 圖文並茂,但受老師的影響較大,好的老師會讓你精進很多,技術不到位的老師,會讓你越看越不耐煩。不知所雲!
三、實地培訓,實地培訓就跟你上學的時候差不多了啦,一切按照計劃走,有問題可以隨時跟老師溝通,就是要有足夠的時間完成學業,大概三到六個月吧。
PS:切忌,一定要學好入門的知識點,不然到了以後會越來越茫然!!!入門是最重要的!!!!
希望對你有所幫助!