OD爆破
一、機械碼,又稱機器碼.? ultraedit打開,編輯exe文件時你會看到? 許許多多的由0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F組成的數碼,這些數碼 就是機器碼.? 修改程序時必須通過修改機器碼來修改exe文件.
二、需要熟練掌握的全部匯編知識(只有這么多)? 不大容易理解,可先強行背住,混個臉兒熟,以后慢慢的就理解了?
cmp a,b 比較a與b?
mov a,b 把b的值送給a?
ret 返回主程序? nop 無作用,英文“no operation”的簡寫,意思是“do nothing”(機器碼90)***機器碼的含義參看上面? (解釋:ultraedit打開編輯exe文件時你看到90,等同于匯編語句nop)?
call 調用子程序? je 或jz 若相等則跳(機器碼74 或0F84)?
jne或jnz 若不相等則跳(機器碼75或0F85)?
jmp 無條件跳(機器碼EB)?
jb 若小于則跳
ja 若大于則跳?
jg 若大于則跳?
jge 若大于等于則跳?
jl 若小于則跳?
jle 若小于等于則跳
pop 出棧
push 壓棧? 三、常見修改(機器碼)?
74=>75 74=>90 74=>EB?
75=>74 75=>90 75=>EB?
jnz->nop? 75->90(相應的機器碼修改)
jnz -> jmp? 75 -> EB(相應的機器碼修改)? jnz -> jz? 75->74 (正常) 0F 85 -> 0F 84(特殊情況下,有時,相應的機器碼修改)
四、兩種不同情況的不同修改方法?
1.修改為jmp? je(jne,jz,jnz) =>jmp相應的機器碼EB (出錯信息向上找到的第一個跳轉)jmp的作用是絕對跳,無條件跳,從而跳過下面的出錯信息? xxxxxxxxxxxx 出錯信息,例如:注冊碼不對,sorry,未注冊版不能...,"Function Not Avaible in Demo" 或 "Command Not Avaible" 或 "Can't save in Shareware/Demo"等 (我們希望把它跳過,不讓它出現) xxxxxxxxxxxx 正確路線所在
2.修改為nop? je(jne,jz,jnz) =>nop相應的機器碼90 (正確信息向上找到的第一個跳轉) nop的作用是抹掉這個跳轉,使這個跳轉無效,失去作用,從而使程序順利來到緊跟其后的正確信息處 xxxxxxxxxxxx 正確信息,例如:注冊成功,謝謝您的支持等(我們希望它不被跳過,讓它出現,程序一定要順利來到這里)? xxxxxxxxxxxx 出錯信息(我們希望不要跳到這里,不讓它出現)? 五、爆破無敵口訣 背會此口訣,天下無敵,以后慢慢琢磨,仔細體會,收益多多。如此好的口訣,不要錯過? 一條(跳)就死,九筒(90)就胡 ??(對應上面的2.修改為nop)?
一條(跳)就胡,一餅(EB)伺候 ??(對應上面的1.修改為jmp)?
妻死(74)便妻無(75) ?
爸死(84)便爸無(85)
二、需要熟練掌握的全部匯編知識(只有這么多)? 不大容易理解,可先強行背住,混個臉兒熟,以后慢慢的就理解了?
cmp a,b 比較a與b?
mov a,b 把b的值送給a?
ret 返回主程序? nop 無作用,英文“no operation”的簡寫,意思是“do nothing”(機器碼90)***機器碼的含義參看上面? (解釋:ultraedit打開編輯exe文件時你看到90,等同于匯編語句nop)?
call 調用子程序? je 或jz 若相等則跳(機器碼74 或0F84)?
jne或jnz 若不相等則跳(機器碼75或0F85)?
jmp 無條件跳(機器碼EB)?
jb 若小于則跳
ja 若大于則跳?
jg 若大于則跳?
jge 若大于等于則跳?
jl 若小于則跳?
jle 若小于等于則跳
pop 出棧
push 壓棧? 三、常見修改(機器碼)?
74=>75 74=>90 74=>EB?
75=>74 75=>90 75=>EB?
jnz->nop? 75->90(相應的機器碼修改)
jnz -> jmp? 75 -> EB(相應的機器碼修改)? jnz -> jz? 75->74 (正常) 0F 85 -> 0F 84(特殊情況下,有時,相應的機器碼修改)
四、兩種不同情況的不同修改方法?
1.修改為jmp? je(jne,jz,jnz) =>jmp相應的機器碼EB (出錯信息向上找到的第一個跳轉)jmp的作用是絕對跳,無條件跳,從而跳過下面的出錯信息? xxxxxxxxxxxx 出錯信息,例如:注冊碼不對,sorry,未注冊版不能...,"Function Not Avaible in Demo" 或 "Command Not Avaible" 或 "Can't save in Shareware/Demo"等 (我們希望把它跳過,不讓它出現) xxxxxxxxxxxx 正確路線所在
2.修改為nop? je(jne,jz,jnz) =>nop相應的機器碼90 (正確信息向上找到的第一個跳轉) nop的作用是抹掉這個跳轉,使這個跳轉無效,失去作用,從而使程序順利來到緊跟其后的正確信息處 xxxxxxxxxxxx 正確信息,例如:注冊成功,謝謝您的支持等(我們希望它不被跳過,讓它出現,程序一定要順利來到這里)? xxxxxxxxxxxx 出錯信息(我們希望不要跳到這里,不讓它出現)? 五、爆破無敵口訣 背會此口訣,天下無敵,以后慢慢琢磨,仔細體會,收益多多。如此好的口訣,不要錯過? 一條(跳)就死,九筒(90)就胡 ??(對應上面的2.修改為nop)?
一條(跳)就胡,一餅(EB)伺候 ??(對應上面的1.修改為jmp)?
妻死(74)便妻無(75) ?
爸死(84)便爸無(85)
轉載于:https://www.cnblogs.com/nxiao/articles/6354387.html
總結
- 上一篇: 【微信小程序】简洁好用的icon(94/
- 下一篇: Boxx:一个旨在提高 Python 代