日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OD逆向调试程序的笔记

發布時間:2024/4/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OD逆向调试程序的笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


1-讀取文本框內容常用的函數(這里的“A”表示ASCII,“W”表示寬字符UNICODE,下同)

? -GetDlgItemTextA()<這個函數是最常用到的>

? -GetWindowTextA()

? -DialogBoxParamA()

? -GetDlgItem()

? -GetDlgItemInt()

? -GetWindowLong()

2-在逆向程序的算法邏輯時,add,mov,sub,sbb,test,cmp……等這些指令出現的地方,這些指令往往用來進行某些驗證等,也是程序設計時的關鍵手法,在這些指令上面動手腳通常都可以找到突破口,逆向時要做好注釋,防止走迷宮。


3-Killtimer()函數是一個記時API函數,例如某些商業軟件的試用時間就與KillTimer()有關。


4-當在破解軟件的時候如果某些條件下達成了一些狀態,也就是突破了某些限制的時候,往往程序自身會根據開發時的規劃重新設置當前自身狀態,比如重新繪制窗口("ResetToolbars","Settings")。


5-在編寫匯編程序時要注意十六進制數不能以字母開頭,如果原始數是以字母開頭,要在前面加上0,否則在編譯的時候就不能被識別出 來,如果不是以字母開頭則不作改變,并以H/h結尾表示該數是十六進制數。同理,打補丁修改成的時候,單獨的十六進制數如果是字母,就需要在前面加個0。


6-對話框從類型上分為兩類:modal(模態對話框)和非模態(modeless)對話框。他們之間的區別在于是否允許用戶在不同窗口間進行切換,模態對話框不允許,而非模態對話框允。

創建模態對話框是由調用DiaLogBoxParam()函數實現,而創建非模態對話框是調用CreateDiaLogParam()函數實現的。


7-RegOpenKeyEx()函數的作用是打開一個注冊表的鍵值(注冊表是widows提供的一個數據庫,讓普通的程序軟件把自己的版本信息,完成進度,環境變量,是否注冊等信息寫到里面),打開之后如果函數返回值為0,說明成功的打開了一個鍵值,這個操作類似C語言的main函數返回0表示正常。


8-RegQueryValueEx()函數通常與RegOpenKeyEx()函數搭配使用,它的作用是在RegOpenKeyEx()打開的鍵值中找到一個鍵名,并把這個鍵名的值傳出來,存放到數據緩沖區里。比如二者搭配起來就可以檢測程序在注冊表里是否被注冊。


轉載于:https://blog.51cto.com/11960307/1869875

總結

以上是生活随笔為你收集整理的OD逆向调试程序的笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。