破解常用断点大全
<P>断点大全<BR>密码常用中断<BR>Hmemcpy (win9x专用)<BR>GetDlgItemTextA <BR>GetDlgItemInt<BR>vb:<BR>getvolumeinformationa </P><P>vbastrcomp (trw)<BR>Bpx __vbaStrComp (记得是两个 '_')<BR>MSVBVM60!_vbastrcomp|sofice<BR>MSVBVM50! | </P>
<P>VBAI4STR </P>
<P>Ctrl+D <BR>bpx msvbvm60!__vbastrcomp do "d *(esp+0c)"(softice) <BR>按几次F5出册码出来了。 <BR>bpx regqueryvalueexa do “d esp->8”(trw) </P>
<P>vbaVarTstEq 判断是否注册的函数<BR>(0042932F 66898580FEFFFF mov word ptr , ax<BR>改为0042932F 66898580FEFFFF mov word ptr , bx)</P>
<P>时间常用中断<BR>GetSystemTime<BR>GetLocalTime<BR>GetTickCount<BR>vb:<BR>rtcGetPresentDate //取得当前日期 </P>
<P>杀窗常用中断<BR>Lockmytask (win9x专用)<BR>DestroyWindow<BR>mouse_event (鼠标中断)<BR>postquitmessage (Cracking足彩xp,很有用^_^)<BR>vb:<BR>_rtcMsgBox </P>
<P>ini文件内容常用中断<BR>GetPrivateProfileStringA<BR>GetPrivateProfileProfileInt </P>
<P>key文件:<BR>getprivateprofileint<BR>ReadFile<BR>CreateFileA </P>
<P>注册表常用中断<BR>RegQueryvalueA<BR>RegQueryvalueExA </P>
<P>狗加密中断<BR>BPIO -h 278 R<BR>BPIO -h 378 R </P>
<P>其它常用函数断点<BR>CreateFileA (读狗驱动程序), <BR>DeviceIOControl, <BR>FreeEnvironmentStringsA (对付HASP非常有效). <BR>Prestochangoselector (16-bit HASP's), '7242' 查找字符串 (对付圣天诺).具体含义参考下面的范例。 </P>
<P>光盘破解中断<BR>16:<BR>getvolumeinformation<BR>getdrivetype<BR>int 2fh (dos)<BR>32:<BR>GetDriveTypeA <BR>GetFullPathNameA<BR>GetWindowsDirectoryA </P>
<P>读磁盘中断<BR>GETLASTERROR 返回扩充出错代码 </P>
<P>限制中断<BR>EnableMenuItem 允许、禁止或变灰指定的菜单条目 <BR>EnableWindow 允许或禁止鼠标和键盘控制指定窗口和条目(禁止时菜单变灰) </P>
<P>不知道软盘中断是什么了?还有其它特殊中断,不知道其他朋友可否说一下了?<BR>如:Lockmytask and mouse_event,这些就不是api32函数?<BR>win9x 与 win2k进行破解,以上中断有部分已经不能用了?<BR>不知道在win2k上,以上常用中断函数是什么了?<BR>也就是问密码、时间、窗口、ini、key、注册表、加密狗、光盘、软盘、限制等!<BR>了解常用的中断,对破解分析可以做到事半功倍!<BR>请大家说一下!还有如何破解了某个软件时,一重启就打回原形?<BR>不知道下什么中断了?可以分为三种情况:<BR>1.比较可能在注册表中<BR>2.比较在特殊文件(*.key *.ini *.dat等)<BR>3.比较在程序中,没有任何错误提示或者反译也找不到明显字符(这个就是我想问的) </P>
<P>还有一个是最难的,就是去掉水印!<BR>也可以三种情况:<BR>A.水印是位图文件(bitblt,creatBITMAP等位图函数)<BR>B.水印是明显字符(反译分析)<BR>C.水印不是明显字符(如:This a demo!它只是显示在另一个制作文件上,可是*.htm *.exe等)<BR>C.才是最难搞,也是很多人想知道的!包括我在内。不知道高手们有何提示了? </P>
<P>广告条:<BR>可以分两种情况:<BR>A.从创建窗口进手,可以用到movewindow或者其它窗口函数!<BR>B.从位图进手,也可以用到bitblt或者其它位图函数!<BR>最后可以借助一些现有工具(如:api27,vwindset,freespy之类的工具) </P>
<P>葡萄虽无树,藤生棚中秧。<BR>人处凡尘中,岂不惹尘埃? </P>
<P>小球 <BR>那要看是在哪作的标记,通常是在注册表中留下信息! <BR>在softice中就要用bpx regqueryvalueexa do "d esp->8"来中断看看,<BR>在trw中要用bpx regqueryvalueexa do "d*(esp+8)"来中断看看。<BR>还有的是在本目录下留下注册信息,常见的有.dat .ini .dll等等,<BR>我是用bpx readfile来中断的,还有的是在windows目录下留下注册信息。<BR>你可以借助专用的工具帮助你查看,入filemon等! </P>
<P>vb: </P>
<P>1、__vbaVarTstNe //比较两个变量是否不相等 <BR>2、rtcR8ValFromBstr //把字符串转换成浮点数 <BR>3、rtcMsgBox 显示一信息对话框 <BR>4、rtcBeep //让扬声器叫唤 <BR>5、rtcGetPresentDate //取得当前日期 </P>
<P>针对字串: <BR>__vbaStrComp <BR>__vbaStrCmp <BR>__vbaStrCompVar <BR>__vbaStrLike <BR>__vbaStrTextComp <BR>__vbaStrTextLike <BR>针对变量: <BR>__vbaVarCompEq <BR>__vbaVarCompLe <BR>__vbaVarCompLt <BR>__vbaVarCompGe <BR>__vbaVarCompGt <BR>__vbaVarCompNe </P>
<P>VB的指针:<BR>THROW </P>
<P>VB DLL还调用了oleauto32.dll中的部分函数。oleauto32.dll是个通用的proxy/stub DLL,其每个函数的原型在<oleauto.h>中定义,并在MSDN中有详细描述。这也有助于理解VB DLL中的函数的作用。 </P>
<P>举例: </P>
<P>LEA EAX, <BR>PUSH EAX <BR>CALL </P>
<P>执行call之前敲dd eax+8,得到的值为3; <BR>执行完call之后,eax = 3 <BR>从而可知__vbaI4Var的作用是将一个VARIANT转换为I4(即一个长整数)。 </P>
<P>__vbaVarTstNe似乎是用来进行自校验的,正常情况下返回值为0。 <BR>已知适用的软件有:网络三国智能机器人、音乐贺卡厂。当这两个软件被脱壳后都回出错,网络三国智能机器人会产生非法*作,而音乐贺卡厂会告诉你是非法拷贝,通过修改__vbaVarTstNe的返回值都可让它们正常运行。 <BR>所以当您遇到一个VB软件,脱壳后无法正常运行,而又找不出其它问题时,可试试拦截这个函数,说不定会有用哦。8-) </P>
<P>API不太知道,也许可以通过BIOS在98平台上读写扇区,不过在2000/NT下可以通过内黑ATAPI,HAL写扇区 <BR>machoman<BR>bpx WRITE_PORT_BUFFER_USHORT <BR>NT/2000下这个断点,当edx=1f0h,时,可以看见EDI地址内数据为扇区位置数据,必须先 在winice.dat 中装入hal.sys 详细内容看ATAPI手册 </P>
<P>补充篇:<BR>关于对VB程序和时间限制程序的断点<BR>CrackerABC<BR>先给出修改能正确反编译VB程序的W32DASM的地址: <BR>====================== <BR>offsets 0x16B6C-0x16B6D </P>
<P>修改机器码为: 98 F4 <BR>====================== </P>
<P>VB程序的跟踪断点: </P>
<P>============ <BR>MultiByteToWideChar, <BR>rtcR8ValFromBstr, <BR>WideCharToMultiByte, <BR>__vbaStrCmp <BR>__vbaStrComp <BR>__vbaStrCopy <BR>__vbaStrMove <BR>__vbaVarTstNe <BR>rtcBeep <BR>rtcGetPresentDate (时间API) <BR>rtcMsgBox <BR>========= </P>
<P>时间限制断点: </P>
<P>================ <BR>CompareFileTime <BR>GetLocalTime <BR>GetSystemTime <BR>GetTimeZoneInformation <BR>msvcrt.diffTime() <BR>msvcrt.Time() <BR>================ </P>
<P>一般处理</P>
<P>bpx hmemcpy<BR>bpx MessageBox<BR>bpx MessageBoxExA<BR>bpx MessageBeep<BR>bpx SendMessage </P>
<P>bpx GetDlgItemText<BR>bpx GetDlgItemInt<BR>bpx GetWindowText<BR>bpx GetWindowWord<BR>bpx GetWindowInt<BR>bpx DialogBoxParamA<BR>bpx CreateWindow<BR>bpx CreateWindowEx<BR>bpx ShowWindow<BR>bpx UpdateWindow </P>
<P>bmsg xxxx wm_move<BR>bmsg xxxx wm_gettext<BR>bmsg xxxx wm_command<BR>bmsg xxxx wm_activate </P>
<P>时间相关 <BR>bpint 21 if ah==2A (DOS)<BR>bpx GetLocalTime<BR>bpx GetFileTime<BR>bpx GetSystemtime </P>
<P>CD-ROM 或 磁盘相关 <BR>bpint 13 if ah==2 (DOS)<BR>bpint 13 if ah==3 (DOS)<BR>bpint 13 if ah==4 (DOS)<BR>bpx GetFileAttributesA<BR>bpx GetFileSize<BR>bpx GetDriveType<BR>bpx GetLastError<BR>bpx ReadFile<BR>bpio -h (Your CD-ROM Port Address) R </P>
<P>软件狗相关 <BR>bpio -h 278 R<BR>bpio -h 378 R </P>
<P>键盘输入相关 <BR>bpint 16 if ah==0 (DOS)<BR>bpint 21 if ah==0xA (DOS) </P>
<P>文件访问相关 <BR>bpint 21 if ah==3dh (DOS)<BR>bpint 31 if ah==3fh (DOS)<BR>bpint 21 if ah==3dh (DOS)<BR>bpx ReadFile<BR>bpx WriteFile<BR>bpx CreateFile<BR>bpx SetFilePointer<BR>bpx GetSystemDirectory </P>
<P>INI 初始化文件相关 <BR>bpx GetPrivateProfileString<BR>bpx GetPrivateProfileInt<BR>bpx WritePrivateProfileString<BR>bpx WritePrivateProfileInt </P>
<P>注册表相关 <BR>bpx RegCreateKey<BR>bpx RegDeleteKey<BR>bpx RegQueryvalue<BR>bpx RegCloseKey<BR>bpx RegOpenKey </P>
<P>注册标志相关 <BR>bpx cs:eip if EAX==0 </P>
<P>内存标准相关 <BR>bpmb cs:eip rw if 0x30:0x45AA==0 </P>
<P>显示相关 <BR>bpx 0x30:0x45AA do "d 0x30:0x44BB"<BR>bpx CS:0x66CC do "? EAX"</P> 呵呵,真是太感谢了。。 好乱哦!没有整理后再发 格式不行啊 没整理吗?
页:
[1]