软件汉化 OllyDBG 入门之四--破解常用断点设

http://ctfysj.blog.hexun.com.tw/53085851_d.html

bpx hmemcpy 破解萬能斷點,攔截內存拷貝動作bpx Lockmytask 當你用其它斷點都無效時可以試一下,這個斷點攔截按鍵的動作bmsg handle wm_gettext 攔截註冊碼(handle為對應窗口的句柄)bmsg handle wm_command 攔截OK按鈕(handle為對應窗口的句柄)攔截窗口:bpx CreateWindow 創建窗口bpx CreateWindowEx(A) 創建窗口bpx ShowWindow 顯示窗口bpx UpdateWindow 更新窗口bpx GetWindowText(A) 獲取窗口文本攔截消息框:bpx MessageBox(A) 創建消息框bpx MessageBoxExA 創建消息框bpx MessageBoxIndirect(A) 創建定制消息框攔截警告聲:bpx MessageBeep 發出系統警告聲(如果沒有聲卡就直接驅動系統喇叭發聲)攔截對話框:bpx DialogBox 創建模態對話框bpx DialogBoxParam(A) 創建模態對話框bpx DialogBoxIndirect 創建模態對話框bpx DialogBoxIndirectParam(A) 創建模態對話框bpx CreateDialog 創建非模態對話框bpx CreateDialogParam(A) 創建非模態對話框bpx CreateDialogIndirect 創建非模態對話框bpx CreateDialogIndirectParam(A) 創建非模態對話框bpx GetDlgItemText(A) 獲取對話框文本bpx GetDlgItemInt 獲取對話框整數值攔截剪貼板:bpx GetClipboardData 獲取剪貼板數據攔截註冊表:bpx RegOpenKey(A) 打開子健 ( 例:bpx RegOpenKey(A) if *(esp+8)=='****' ) bpx RegOpenKeyEx 打開子健 ( 例:bpx RegOpenKeyEx if *(esp+8)=='****' ) bpx RegQueryValue(A) 查找子健 ( 例:bpx RegQueryValue(A) if *(esp+8)=='****' ) bpx RegQueryValueEx 查找子健 ( 例:bpx RegQueryValueEx if *(esp+8)=='****' ) bpx RegSetValue(A) 設置子健 ( 例:bpx RegSetValue(A) if *(esp+8)=='****' ) bpx RegSetValueEx(A) 設置子健 ( 例:bpx RegSetValueEx(A) if *(esp+8)=='****' )“****”為指定子鍵名的前4個字符,如子鍵為“Regcode”,則“****”= “Regc”功能限制攔截斷點:bpx EnableMenuItem 禁止或允許菜單項bpx EnableWindow 禁止或允許窗口bmsg hMenu wm_command 攔截菜單按鍵事件,其中hMenu為菜單句柄bpx K32Thk1632Prolog 配合bmsg hMenu wm_command使用,可以通過這個斷點進入菜單處理程序應用示例:CALL [KERNEL32!K32Thk1632Prolog]CALL [......] <-- 由此跟蹤進入菜單處理程序CALL [KERNEL32!K32Thk1632Epilog]攔截時間:bpx GetLocalTime 獲取本地時間bpx GetSystemTime 獲取系統時間bpx GetFileTime 獲取文件時間bpx GetTickCount 獲得自系統成功啟動以來所經歷的毫秒數bpx GetCurrentTime 獲取當前時間(16位)bpx SetTimer 創建定時器bpx TimerProc 定時器超時回調函數攔截文件:bpx CreateFileA 創建或打開文件 (32位) bpx OpenFile 打開文件 (32位) bpx ReadFile 讀文件 (32位) bpx WriteFile 寫文件 (32位) bpx _lcreat 創建或打開文件 (16位) bpx _lopen 打開文件 (16位) bpx _lread 讀文件 (16位) bpx _lwrite 寫文件 (16位) bpx _hread 讀文件 (16位) bpx _hwrite 寫文件 (16位)攔截驅動器:bpx GetDrivetype(A) 獲取磁盤驅動器類型bpx GetLogicalDrives 獲取邏輯驅動器符號bpx GetLogicalDriveStringsA 獲取當前所有邏輯驅動器的根驅動器路徑攔截狗:bpio -h 378(或278、3BC) R 378、278、3BC是並行打印端口bpio -h 3F8(或2F8、3E8、2E8) R 3F8、2F8、3E8、2E8是串行端口VB程序專用斷點:bpx msvbvm50!__vbaStrCmp 比較字符串是否相等 bpx msvbvm50!__vbaStrComp 比較字符串是否相等 bpx msvbvm50!__vbaVarTstNe 比較變量是否不相等 bpx msvbvm50!__vbaVarTstEq 比較變量是否相等 bpx msvbvm50!__vbaStrCopy 復制字符串 bpx msvbvm50!__vbaStrMove 移動字符串 bpx MultiByteToWideChar ANSI字符串轉換成Unicode字符串 bpx WideCharToMultiByte Unicode字符串轉換成ANSI字符串上面的斷點對應VB5程序,如果是VB6程序則將msvbvm50改成msvbvm60即可VB程序的破解記住VB常用的一些函數:MultiByteToWideChar 將ANSI字符串轉換成UNICODE字符WideCHatToMultiByte  將UNICODE字符轉換成ANSI字符rtcT8ValFromBstr    把字符轉換成浮點數  vbaStrCmp        比較字符串(常用斷點)vbaStrComp       字符串比較(常用斷點)vbaStrCopy       復制字符串StrConv         轉換字符串vbaStrMove       移動字符串__vbaVarCat 連接字符串rtcMidCharVar 在字符串中取字符或者字符串!__vbaLenBstr 取字符串的長度vbaVarTstNe      變量比較vbaVarTstEq      變量比較rtcMsgBox       顯示對話框VarBstrCmp       比較字符串VarCyCmp        比較字符串   用OD載入脫殼後的程序,在命令行輸入:bpx hmemcpy,然後回車,會彈出程序運行調用的所有的函數,在每個函數上設置好斷點!說明:我破VB程序喜歡用這個斷點設置方法,通過一步步跟蹤,基本可以把握程序保護的思路,所以我破VB程序基本用這個斷點,當然你可以用其它的斷點,只要能找到關鍵,任何斷點都是有意義的。關於VB的程序,註冊沒有提示的二個辦法:第一(提示錯誤):用GetVBRes來替換裏面的提示串,一般是以‘111111’,‘222222’之類的替換因為:VB,用的字來存放提示還有加了點東東,我們用的工具一般是字節分析。換成‘22222’之類的就是字節了,用靜態分析,就有你該的串了。GetVBRes(網上很多,自己下吧)第二(沒有提示):用vbde這個工具(不知道,有沒有用過DEDE,是一樣思路),主要是找出破解的按鈕窗口的位置,來進行跟蹤。先給出修改能正確反編譯VB程序的W32DASM的地址:====================== offsets 0x16B6C-0x16B6D 修改機器碼為: 98 F4 ====================== VB程序的跟蹤斷點: MultiByteToWideChar, rtcR8ValFromBstr, WideCharToMultiByte, __vbaStrCmp __vbaStrComp __vbaStrCopy __vbaStrMove __vbaVarTstNe rtcBeep rtcGetPresentDate (時間API) rtcMsgBox ========= 時間限制斷點: CompareFileTime GetLocalTime GetSystemTime GetTimeZoneInformation msvcrt.diffTime() msvcrt.Time() ================VB斷點查找方法1.VB6.0編寫,OD載入程序調出註冊窗口,alt+e調出可執行模塊窗口找到X:\WINDOWS\system32\MSVBVM60.DLL雙擊,在ctrl+n調出窗口找到,名稱XXXXXXE區段=ENGINE 導出__vbaVarMove雙擊來到下面地址(可以直接在命令行 bp __vbaVarMove),回到程序註冊窗口點註冊被攔斷在剛才下斷的地址,斷後在ctrl+F9,F8回 2.OD載入程序,命令行下斷點:bp rtcMsgBox堆棧友好提示確定註冊失敗按鈕返回。接著向上找出點註冊按鈕執行的代碼第一句,可以嗎?當然行,根據我們知道程序員寫一個事件執行的代碼是如這種,各種語言都差不多。 3.OD載入程序,命令行下斷點:bp rtcMsgBox任意填入偽註冊碼 9999999999999999999,確定後中斷堆棧友好提示確定註冊失敗按鈕返回。W32Dasm反匯編程序,Shiht+F124.VB中的messagebox是一個消息框,匯編中用rtcMsgBox下斷點.用olldbg載入程序,Alt+e,在可執行文件模塊中找到Msvbvm60.dll,雙擊它,在代碼窗口點右鍵-搜索-當前模塊中的名稱中的rtcMsgBox函數,雙擊它,在6A362F29 55 PUSH EBP這一句雙擊下斷點,關掉多余的窗口,只留下cpu調試主窗口,F9運行程序,點?號按鈕,隨便輸入987654321後,回車後立即中斷,然後Ctrt+f9執行到返回地址,因為這是msvbvm60的領空,我們要回到程序領空.秘密記事本彈出message錯誤提示信息,點確定,向上看,再按F8就回到5.為Microsoft Visual Basic 6.0,先用SmartCheck找到程序比較註冊碼點6.用vb常用比較斷點 vbastrcmpvbastrcompvbavartsteq在od中設斷點找註冊碼7.用Od載入程序,運行,填入上面的註冊碼和順序號。在Od中下斷點,Alt+E,雙擊Msvbvm60運行庫,右鍵-搜索當前模塊中的名稱,找到Vbastrcmp,雙擊下斷點。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
程序名称:OllyDBG版 本:1.10汉 化 人:cao_cong联系方式:[email protected]汉化日期:2005.11.28汉化说明: 本来是想等 OllyDBG 2.0 出来再汉化的,可看到dyk158兄弟的修改版说明中对我原来汉化版本的汉化质量提了一点小小的意见,想想也是,我原来的汉化版是OllyDBG 1.10 的最终版本刚出来时汉化的,距今已经一年多了也没有更新过,当时只顾不出因汉化造成的Bug,汉化嘛确实不咋的。看到BoOMBoX/TSRh2004他们制作的美化界面,确实也觉得漂亮,最后决定再出个汉化版本。这个版本的汉化加测试、修改花了我整整两个星期的业余时间,其中的非标字符对照文本有4000多行,看一遍都半天。这个版本中的所有翻译我都重新过了几遍,绝大部分都重新翻译过,力求做到准确,希望能给大家一个比较完美的汉化版本。在制作过程中参考了TT小组翻译的OllyDBG帮助及dyk158修改、聆风听雨汉化的ODbyDYK修改版,主要是想让翻译更准确一点,能让新手把汉化版和TT小组汉化的帮助文档对照起来学习。在此对以上提到的各位表示衷心的感谢! 这个软件汉化起来确实是个苦差事,不光是要翻译的资源多,还有一个重要的方面就是稍不留神就会出现汉化引起的Bug。经常是用原版来调试汉化版找问题,象原来菜单上的“&Window”汉化后会出错,还是调试后才知道原来它内部加载菜单时还有个这个“&Window”,只有两个都汉化才不会出错。另外其它的许多问题都只好靠调试来解决。原来汉化时又没有把要注意的地方写下来,这次光测试就花了好几天。 这个汉化版本除因汉化必要而打补丁外,我不准备再对它打任何补丁。一是我怕打补丁影响 OllyDBG 的兼容性;二是已经有Fly和dyk158他们做了,我想我自己再做的话也不会比他们做的更好;三是我实在是感到太累了!如果大家要想要修改的版本的话,推荐使用freecat兄弟制作的AutoPath,我把这个插件放在 FixOD 目录下,我把freecat兄弟发布时所用的说明也放在同一目录下,大家可以根据说明来使用这个插件改造你的OllyDBG。 在这里我要感谢看雪论坛上的看雪老大和论坛上各位兄弟的支持,正是有了他们的测试和建议,经过多次修正后,才有了今天的这个最终版本,由衷的感谢看雪论坛上的各位兄弟!汉化第二版主要更新:1、界面采用 BoOMBoX/TSRh2004 制作的美化界面,主要为了好看一点。2、绝大部分句子都重新翻译过,力求做到准确。3、配置文件中除字体、语法高亮、颜色这几个部分保留为中文外,其它的都恢复为英文。保留字体、语法高亮、颜色这几个部分为中文的目的是因为我发现若先运行过英文版配置好后,汉化版中对应这几个部分的一些菜单也会取原英文版配置中的英文字串,而不是汉化过的字串。我觉得翻译后既能保持与英文版的兼容性,又能让英文版与中文版的界面等互不干扰。4、dyk158 建议我把配置文件中的字体、语法高亮、颜色这几个部分恢复为英文,我专门做了个恢复为英文配置的补丁(如果你以前运行过英文版进行了相应配置,则补丁后的汉化版本对应这几个部分的相应菜单将会显示英文,若你是用打过这个补丁的汉化版本生成配置文件,则相应菜单将会显示中文)放在英文配置补丁目录下,需要字体、语法高亮、颜色这部分也用英文配置的朋友可以把这个补丁放到我做的汉化版的安装目录,选择 Ollydbg.exe 补丁就可以了。这个补丁同样适用于原版界面的汉化版本。5、上一版中部分未汉化的内容这次除了不能汉化的外,基本上都已汉化。6、另有一个界面未作美化的汉化版放在原版界面目录,可以按自己的喜好选择使用哪一个。7、FixOD 目录下放的是用 freecat 的 AutoPath.dll 打过补丁的 OllyDBG,使用前请先备份好你原来的Ollydbg.exe文件,再把这个目录下的Ollydbg.exe、AutoPath.dll、AutoPath.ini复制到你的OllyDBG安装目录下就可以了。在上一版的基础上,插件做了如下更新:1、脚本插件 ODbgScript.dll (v1.23 汉化版)2、快捷命令插件 CmdBar.dll (v3.10.109c 汉化版,这个版本有支持运行 OllyScript 脚本的命令:OSC)3、标签插件 Labeler.dll (v1.33.108 汉化版)4、图表插件 OllyFlow.dll (v0.71 汉化版,我从IDA中提取了个wingraph32.exe放在插件目录下,用于配合这个插件)5、断点管理 olly_bp_man.dll (汉化版,在我机器上不能用,放在备用目录)6、字串参考修改版本 ustrrefadd.dll (汉化版)另外还添加了dyk158 汉化的两个插件:1、脱壳插件 OllyDump.dll (V3.00.110 dyk158 汉化版)2、脱壳插件 pedumper.dll (v3.03 dyk158 汉化版) 推荐大家试用一下这两个插件:ApiBreak 插件,用于在对话框、字串、注册表、时间、内存等 API 函数上断点,还可置万能断点,简单易用;GODUP 插件,包含 Map 载入器、资源查看器、进程查看器、IDA 签名载入程序及自带的一个记事本这五个工具。感觉它自带的记事本用来在调试时记一些东西比较方便。 如果你以前没用过OllyDBG的话,我要提醒你使用前先在菜单的 选项->界面->目录 中把插件和 UDD 的路径置好,以免影响使用! 此汉化版中的插件除了一个 PuntosMagicos.dll 插件没汉化外(我实在是弄不懂是哪国语言),其它的插件都已汉化。目录下的OLLYDBG.HLP帮助文件是由TT小组翻译的中文帮助,在此对TT小组的辛勤劳动表示感谢!(OLLYDBG_EN.HLP为原版英文帮助)声明: 1.本汉化软件包内的所有英文及其他语言的源程序的版权归原作者(公司)所有。 2.本人不对使用本汉化软件造成的任何情况的损失负责。 3.本汉化软件仅供学习研究之用。严禁用于商业用途。本人不对使用本汉化软件造成的任何法律纠纷负责。 4.如果你对本汉化软件有什么建议请联系我。 5.请在转载时保留此汉化版的完整性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值