吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 6029|回复: 24

[经验资料] 列明學逆向之10P的經驗

  [复制链接]
列明 发表于 2016-10-14 15:23 | 显示全部楼层 |阅读模式


列明學逆向之10P的經驗
本人新手,剛學逆向不久,現將近期所獲分享於諸位,其間必有錯漏,望海涵一二,請批評指正!
用OD調試軟件時,想必諸位定見過這10P:Pack,BP,PUSH,POP,ESP,EIP,Plus,OEP,JMP,NOP。
1.Pack
我稱其為包裹,意思就是Pack,即:軟件編成後,作者利用工具將軟件放入包裹當中封裝起來再行發佈,可理解為包裝,這樣做有很多好處:其一可以減小軟件所佔用存儲空間,一般情況下,包裹封裝(加殻)後的軟件要比原本小,而在用戶層面實際運行軟件則無任何不同。其二可以防止逆向反編譯,或者提高逆向反編譯的難度,以保護軟件數據不被非法篡改,不難想象,裝在籃子裏的鷄蛋要比空手拿着安全得多。
我沒有用查殻工具查殻的習慣,原因是脫殻可能引發一些不必要的冗餘過程的執行,比如眾所周知的暗樁,這是我聽@Shark恆在百集逆向教程裏面說的。
如何區分是否有殻呢,我的辦法是用OD開啓軟件,待進入到軟件主體(或者說是進入真正的OEP後),隨意修改一條指令,然後右鍵複製到執行文件,若能成功,則無殻或者有殻也不影響,否則,有殻。
此後9P均于OD中言。

2.BP
BP即為斷點(BreakPoint),可以說,斷點貫穿逆向反編譯調試的始終,沒有斷點,就沒有調試,任何人,都不能離開斷點而調試逆向成功(注:單步跟蹤,執行到返回,執行到用戶什麽的,其實也是利用了斷點而實現的快捷功能)。
斷點有硬件斷點、內存讀寫斷點、用戶自定義執行斷點(這個應當是不準確的,就是在反匯編窗口中雙擊指令行變紅的那類斷點)。
一般情況下,可以利用編程語言的各種(按鈕、窗體、讀寫文件、消息提示框等)事件的特徵值設置(下)斷點,從而調試程序,比如易語言的FF25,FF55FC5F5E等,C語言的sub eax,0a等。

3.PUSH
Push即為推,壓入的意思,就是將數據或者存儲數據的空間放入棧(一個口,單向進單向出的儲存容器)中,以備後用。
常見的有pushad等。
其中比較重要的一點是:push 0x10001  是易语言的窗体

4.POP
有壓入,就必須有釋出,那麽,有Push,就必須有Pop,Pop即為將棧中的數據釋出,釋放存儲空間。
一般情況下,(一個call(調用)內部)POP後會跟着RETN(return,返回),在部分情況下,根據我們的分析,必要情況下,如果要在段首就返回,那麽retn前的幾個POP就需要同retn一起替換上去。

5.ESP
ESP是什麽,我不知道,我只知道它是寄存器裏面的一行,用來存儲臨時數據。
昨晚,或者準確的說是在今天凌晨,我剛剛學了ESP定律,很幸運,恰好手邊有一個非常適合ESP定律脫殻的軟件,就用ESP定律隨手脫殻了,說實話,要是知道且會用ESP定律,那麽對於適合用ESP定律脫殻的軟件,脫殻就是幾秒鐘的事情!這個絶對不是我虛言,知道的人都知道,這是實話!
那麽,什麽是ESP定律呢?我記得有一個帖子裏面解釋得非常清晰明了詳細,這裏就不多說了,諸位有興趣可去搜搜看。

6.EIP
EIP即為OD中目前所運行到的匯編指令地址。
有時我們按minus(減號鍵,即:-,作用是將高亮指示返回到前一個指令)返回一個遠跳前所在位置去分析指令和數據後,欲回到當前運行到的指令,我們除了按下plus鍵,我們還可以嘗試另一種方法:雙擊寄存器中EIP所指示的地址。

7.Plus
Plus即為我們常說的加號鍵,即:+。
與之前所說的減號鍵作用相反,常將此鍵與減號鍵配合使用,用來在一個遠(長)跳(轉)之間來回觀察分析,一般情況下,減號鍵用來返回跳轉來源,加號鍵用來轉到跳轉去向。

8.OEP
OEP即為程序的入口點,對於無包裹(Pack)的軟件,OD調試之前,加載後的最開始的那一行指令即為OEP;而對於有包裹的軟件來說,真正的OEP在後續的指令當中隱藏着,需要用一些方法找出來,才能去包裹,當然,不去包裹也是可以調試的。
用ESP定律可以輕易找到一些有包裹的軟件的OEP,當然,並不是所有的軟件都適用ESP定律去包裹,只有一部分適用,而具體是哪些適用,我們應當仔細分析。

9.JMP
JMP(jump)即為跳轉,這個是強跳,無條件跳轉,而我這裏說的jmp,可不僅僅是指jmp.
在OD中,以j開頭的指令,或兩位如je,jz等,或三位如jnz,jge等,或四位,這些都與跳轉有關,他們都是有條件跳轉,在符合什麽條件下才跳轉,什麽條件下不會跳轉。
比如某jxx,軟件運行起來,OD跟蹤,在輸入錯誤的賬戶與密鑰後,它並不執行跳轉,而是繼續向下直行到提示錯誤的消息框那部分指令,那麽,我們就可以將這類jxx直接修改為jmp就好。

10.NOP
NOP(no operation)即為無指令之意,就是不執行任何指令,也沒有任何指令的意思,不嚴謹的說,可以理解為註釋掉,屏蔽的意思。
我們一般可以將jxx、call、任意指令替換為NOP。
如果jxx會跳轉到我們不希望執行的指令處,而緊隨jxx後的指令正是我們所想要執行的指令,那麽這時,我們就可以將jxx替換為nop,即nop掉。
如果call確認是調用暗樁或者錯誤提示等我們不想實現的功能,那麽,就可以nop掉。
如果有一段指令或者某一句指令我們不想它執行,而且確認不會對後續步驟指令有什麽影響,那麽,也可以將其nop掉。




小子不才,才疏學淺,淺薄之見,見笑於諸,諸位高德,德高於人,人人為我,我為人人,人人評論,論壇才成,成人之美,美于心靈,靈機一動,動手評分,分佈在多,多了也可。
個人淺見,可能錯漏,破神請路過,新手就看看,看完再評論,互惠你我與論壇,評分不評分,全憑一顆心,覺得有收穫,就去評一分,覺得有道理,就去評兩分,覺得瞎扯淡,不評也沒事,評分不扣B,放心去評分,不評白不評,評了再來評!

                            4734-09-14-申時由列明發佈

评分

参与人数 23HB +28 THX +15 收起 理由
lies + 1
sjtkxy + 1 + 1
花盗睡鼠 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
虚心学习 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
24567 + 1
迈克零零 + 1
zxjzzh + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
禽大师 + 1
一路走来不容易 + 2
消逝的过去 + 1
冷亦飞 + 1
liugu0hai + 1 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
jaunic + 2
hetao8003200 + 2
1019045978 + 1
名字取不对 + 1 [快捷评语] - 2017,让我们17学破解!
mxx852 + 1 + 1 分享精神,是最值得尊敬的!
zhao1509841 + 1 吃水不忘打井人,给个评分懂感恩!
万能的群主 + 1 评分=感恩!简单却充满爱!感谢您的作品!
飞行太保 + 1 + 1 分享精神,是最值得尊敬的!
lingjin3 + 1 吃水不忘打井人,给个评分懂感恩!
wswwj + 3 + 1 分享精神,是最值得尊敬的!
Shark恒 + 10 + 1 建议在1楼,加油!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Shark恒 发表于 2016-10-14 16:18 | 显示全部楼层

虽然这个总结中有些错误或误区。
但楼主作为一个新手,可以总结出这些知识和技巧已经很不错了。
你会随着知识的不断吸收与理解,找出自己的错误并纠正你现在对它的认识,每个人在学习的途中都有这个过程,这就叫学习。
我看好你,加油!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
余空丶 发表于 2016-10-14 17:10 | 显示全部楼层

我想你的字体是不是要换一下!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
lxwen 发表于 2016-10-14 17:34 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| 列明 发表于 2016-10-14 19:11 | 显示全部楼层

Shark恒 发表于 2016-10-14 16:18
虽然这个总结中有些错误或误区。
但楼主作为一个新手,可以总结出这些知识和技巧已经很不错了。
你会随着 ...

好激動~,謝謝站長的支持與鼓勵,其實我對裏面的很多東西知曉的都很淺,那些錯誤,如果壇友不指出來的話,只能等我以後慢慢長進才能改正了
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
布吉岛 发表于 2016-10-15 20:26 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
wswwj 发表于 2016-10-15 21:25 | 显示全部楼层

总结很不错! 加油! 一起努力。
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
lingjin3 发表于 2016-10-16 09:50 | 显示全部楼层

不懂啊,同样手样,还很多不了解呢
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| 列明 发表于 2016-10-16 13:21 | 显示全部楼层

lxwen 发表于 2016-10-14 17:34
这个什么字体啊能不能分享一下  挺漂亮的字体

全文楷體,字號不同,繁體漢字,也就這些了
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
byh3025 发表于 2016-10-17 09:44 | 显示全部楼层

总结很有用! 加油! 向你学习。
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表