####破解入門####
常見的修改方法有兩種,我給你舉例說明:
示例 1------注冊代碼:
00451239 CALL 00405E02 (關鍵CALL,用來判斷使用者輸入的注冊碼是否正确)
0045123D JZ 004572E6 (!!!<--此為關鍵跳轉,如果使用者輸入的注冊碼正确,就跳向成功處,即004572E6處)
0045XXXX YYYYYYYYYY
XXXXXXXX YYYYYYYYYY
XXXXXXXX YYYYYYYYYY
XXXXXXXX 執行到此處,就提示使用者注冊失敗
...提示使用者注冊碼不正确等相關資訊
...
004572E6 ... <--(注冊成功處!!!)
...提示使用者注冊成功等相關資訊
##示例 1破解方法##
1,隻要把那個關鍵跳轉JZ給改為JNZ(如果使用者輸入的注冊碼錯誤,就注冊成功,輸入正确則注冊失敗)。
2,當然你也可以将JNZ修改為Jmp,這樣的話,你輸入的注冊碼無論正确與否。都可以注冊成功。
示例2 ------注冊代碼:
00451239 CALL 00405E02 (關鍵CALL,用來判斷使用者輸入的注冊碼是否正确)
0045123D JNZ 004572E6 (!!!<--此為關鍵跳轉,如果使用者輸入的注冊碼不正确,就跳向失敗處,即004572E6處)
0045XXXX YYYYYYYYYY
XXXXXXXX YYYYYYYYYY
XXXXXXXX YYYYYYYYYY
XXXXXXXX 執行到此處,就提示使用者注冊成功
...提示使用者注冊成功等相關資訊
...
004572E6 ... <--(注冊失敗處!!!)
...提示使用者注冊碼不正确等相關資訊
##示例 2破解方法##
1,這種情況的修改,除了把JNZ改為JZ外,
2,還可以将其改為Nop,Nop這個指令沒有任何意義,将該條指令修改為Nop後,便可随意輸入注冊碼來進行注冊了。
####破解入門 ------ 修改代碼####
以下這幾個是爆破時要用到的,其它的如果感興趣,可自行檢視相關資料:
JZ=74;JNZ=75;JMP=EB;Nop=90
爆破的時候,隻要對以上機器碼進行相應的修改就行了,比如第一種情況的時候,可以将74修改為EB,即将JZ修改為JMP。而第二種情況,責需将75修改為90,即将JNZ修改為Nop。
###注意###

請問如何讓這裡的jnz強跳,去不改變檔案大小
答:
如果是 short 類條件轉移指令的話,直接将機器碼 75 改為 jmp short 的指令機器碼 EB 就是了;
如果是 near 的,即機器碼為 0F 85 這樣的,可以補個 nop 指令碼,即将其修改為 90 E9 即可。
####破解入門 -----軟體####
IDA軟體,網上有的是教程,不多說了。
IDA可以修改 86 64 的DLL。是以推薦用這個。至于用,OD,UE這個看個人喜好。OD隻能打開86的DLL。
如何修改資料
在Hex View視窗下,[S1]輕按兩下要修改的地方[S2]使用[F2]捷方式修改目前位元組[S3]再按下[F2]快捷方式應用修改。
參考:
http://www.52pojie.cn/thread-348567-1-1.html
http://www.cnblogs.com/xinyuyuanm/archive/2013/05/26/3100543.html
http://blog.sina.com.cn/s/blog_45e2b66c0101bsfb.html
http://blog.csdn.net/lee353086/article/details/46423737