VB逆向
大家或許有所察覺了,隨著我們課程的不斷深入學習,我們感覺自身逆向的“內功”也在不斷的增進!
我們從爆破入手,到現在逐步大家進入程序的內部,認識不同編譯器開發的程序,探索不同的加密邏輯。
?
前邊,我們的例子中既有VC++開發的程序,也有Delphi開發的程序,今天我們給大家分析一個VB程序的加密和解密思路。
為了讓大家更好地了解逆向,我們需要掌握不同編譯器編譯出來的程序的特點,然后才能有針對性的進行逆向。
?
其中,在逆向一個程序前,先搞清楚這個程序是由什么編譯器和神馬語言寫出來的,是灰常必要的。
高手只需要從代碼間的細小差別就可以看出端倪,而菜鳥們也有便捷的工具可以一步到位告訴你這個程序是由什么編譯器編譯的:PEiD.exe
?
我們看到了,這個程序是一個VB程序。
Virtual BASIC是由早期DOS時代的BASIC語言發展而來的可視化編程語言。
?
VB是由事件驅動的編程語言:
就是在可視化編程環境下我們可以繪制一些窗體,按鈕,編輯框等控件,然后為這些控件所可能引發的事件如按鈕被單擊或者被雙擊編寫對應的處理代碼。
?
不過作為類似的語言,小甲魚建議大家可以學下Delphi或者C#。
所有的VB程序幾乎都是依賴于一個外部的動態鏈接庫。這個動態鏈接庫的名字是:MSVBVM60.dll(可能有多個版本,但名字都差不多~)
然而正是因為VB中所有的API函數都在DLL中去實現,所以導致我們在跟蹤程序的執行代碼時灰常頻繁地在DLL領空和程序領空跳來跳去跳來跳去跳來跳去跳來跳去跳來跳去跳來跳去 。。。。。。
?
API函數的作用有很多,例如作為中介讓我們的程序和指定設備進行溝通。
?
VB破解的關鍵
?
針對變量:
__vbaVarTstEq
__vbaVarTstNe
__vbaVarCompEq
__vbaVarCompLe
__vbaVarCompLt
__vbaVarCompGe
__vbaVarCompGt
__vbaVarCompNe
?
針對字符串:
__vbaStrCmp
__vbaStrComp
__vbaStrCompVar
__vbaStrLike
__vbaStrTextComp
__vbaStrTextLike
轉載于:https://www.cnblogs.com/milantgh/p/3870254.html
總結
- 上一篇: DF学数据结构系列——B树(B-树和B+
- 下一篇: 龙眼为什么叫龙眼 揭秘龙眼的命名由来?