|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2003-12-12, 03:09 AM | #1 |
榮譽會員
|
VB輸入限制的記憶體破解
破解的程序:Windows超級設定723。
前幾天在論壇上看了一篇破解文本框輸入限制的文章,得到些啟示,於是有了這篇破文。 執行程序,提示註冊,可輸入框竟不能輸入,嘗試用貼上法也行。註冊碼很容易找到,用__vbastrcomp比較, ollydbg跟蹤即可看到。可無論如何無法輸入。555!!! 跟蹤regform_load,發現不像是text1.enabled=false,因為如果那樣,輸入框沒有游標閃動,且不接受右鍵點 擊。反彙編找__vbaobjectset,看看前面是否有push 00(enabled=false)沒找到。用vbded反編譯也沒看出什麼 東西。看來是另做了手腳。 沒辦法,只好想辦法改記憶體來給它資料。以下用另一VB程序來模擬輸入。 00413013 LEA ECX,DWORD PTR SS:[EBP-38] --->文本框游標 00413016 PUSH ECX 00413017 PUSH EDI 00413018 MOV EAX,DWORD PTR DS:[EDI] 0041301A CALL DWORD PTR DS:[EAX+A0] --->讀文本框資料 00413020 TEST EAX,EAX 00413022 FCLEX 00413024 JGE SHORT EX611.00413038 00413026 PUSH 0A0 0041302B PUSH EX611.00411A48 00413030 PUSH EDI 00413031 PUSH EAX 00413032 CALL DWORD PTR DS:[<&MSVBVM60.__vbaHresu>; MSVBVM60.__vbaHresultCheckObj 00413038 MOV EDX,DWORD PTR SS:[EBP-38] --->得到輸入碼 0041303B LEA ECX,DWORD PTR SS:[EBP-34] 0041303E MOV DWORD PTR SS:[EBP-38],0 00413045 CALL ESI 00413047 LEA ECX,DWORD PTR SS:[EBP-48] 0041304A CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeO>; MSVBVM60.__vbaFreeObj 00413050 MOV EDX,DWORD PTR SS:[EBP-30] 00413053 MOV EAX,DWORD PTR SS:[EBP-34] 00413056 PUSH EDX --->輸入碼 00413057 PUSH EAX --->正確碼 00413058 PUSH 0 0041305A CALL DWORD PTR DS:[<&MSVBVM60.__vbaStrCo>; MSVBVM60.__vbaStrComp --->比較是否相等 在0041301A處跟入,裡面還有個call,再跟入,直到: ****CED2 PUSH DWORD PTR SS:[EBP+10] ****CED5 PUSH DWORD PTR SS:[EBP+C] --->輸入碼。在OllyDbg中轉存跟隨數值,如果輸入為空, 可能顯示ABEF0108等亂碼。將其改為正確註冊碼即可。注意不要用寬字串,輸完後以00結束(98中好像用0001結 束)。 ****CED8 CALL MSVBVM60.733BD01B (以上位址前四位可能不同,但後四位應該是一樣的。) 再次執行Windows超級設定723,出現註冊提示直接點擊確定,在****CED5處中斷。修改記憶體,收工。 本人水準不高,不能破解輸入限制,只能改記憶體。麻煩哪位高手看看怎麼破解,我等也好學習。 輸入註冊碼的控件是在form7中的第5個控件text1 作者沒有用text1.enabled=false來限制輸入; 而是用了text1.locked=true下套。 所以用ultraedit在Form7區域中定位至offset 33523H 注意這裡 offset 3353dH 2D FF --> text1.locked=true 改為 2D 00 --> text1.locked=false job done! BTW:看了這個軟體,才發現vbde對很多控件內容並沒有反編譯;但要編程實現這個,也真的很煩;懶人於我也就手工完成了。 |
送花文章: 3,
|