mm475 发表于 2014-10-21 23:11

打开破解思路之我见

本帖最后由 mm475 于 2014-10-21 23:13 编辑

打开逆向分析思路之我见
按钮事件:程序通过按钮触发一系列事情经过就叫着按钮事件,那么这个按钮就叫着事件按钮
1、有注册错误/正确提示bp MessageBoxA
bp rtcMsgBox
用户输入信息 ||||| 软件判断是否正确 ( je/jne/jz/jnz...) ||||| Y--------------N ||||| 正确提示 ||||| 错误提示如果事先找不到按钮事件可以通过下消息断点,返回后回嗍即可找到按钮事件起始位置 *********************************************************************
2、无任何提示 bp GetDlgItem用户输入信息||||| 信息保存(reg/ini/dll...)Y--------------N||||| 无提示 ||||| 无提示或者||||| 提示信息保存,需要重启 $$$$$$下次启动的时候来判断 Y/N$$$$$$ 可以通过 bp GetDlgItem 获取按钮事件代码 *********************************************************************
3、未注册一启动或者关闭就跳出个注册框或者提示框 bp RegOpenKey(A)
bp CreateFileA
bp GetPrivateProfileStringA 软件启动的时候,是怎么知道自动打开注册框或者提示框的呢?那么他在启动的时候一定是读取到某个东西来判断的是什么东西?reg/ini/dll/其他 至于保存到什么文件,可以使用以下方法 1、查找字符串,看是否有可疑文件名或者注册表键名 2、猜。。下断点观察。3、按钮事件跟踪********************************************************************4、未注册一启动或者关闭就打开网页链接 bp ShellExecuteA 类似的组合Cmp/test/其他判断Je/jne/jne/jz XXXXXXXX00409D4E   68 48B54300PUSH 0043B548    ASCII http://www.*.com"00409D53   68 40B54300PUSH 0043B540    ASCII "open"00409D58   50 PUSH EAX00409D59   FF1528134300CALLDWORDPTRDS:[<&SHELL32.ShellExecuteA>]SHELL32.ShellExecuteA
软件启动---判断是否注册---是否 Open 断下后回嗍代码即可找到关键点,常用的方法,转存跟踪法 ********************************************************************* 5、未注册就功能使用限制 判断是否注册---某种功能是否让你使用---如果不能够用,一定会有提示的,或 是错误提示或是弹出注册框等那么从提示入手即可找到解除限制的关键不完美逆向:解除功能限制*********************************************************************6、未注册就日期限制bp GetLocalTime 获取本地时间bp GetSystemTime 获取系统时间bp GetFileTime 获取文件时间一般下这几个断点比较难分析关键捷径:查找字符串--找可疑文件--一般以 DLL 多见 只要不让它读取到这个 DLL 即可解除限制 *********************************************************************7、Demo(演示试用版)--功能残缺这个和上面的功能限制不一样哦功能限制是软件本身就有这个功能,对程序而言,相对应的功能代码也存在 Demo 即是没这个功能,空架子一个而已一句话:逆向也无用! ********************************************************************* 8、网络验证 无法登陆有错误提示者:下消息断点回嗍代码,找按钮事件,从来来过,从按钮 事件开始跟踪,找网络验证 CALL(所需要登陆的地址在这个 CALL 里面),接下 来就是分析返回值或者改登陆地址为本地(127.0.0.1), 再后面就需要改某些跳转了无法登陆自动退出者:下 bp ExitProcess 断下(一般可以断下)回嗍代码,找按钮事件,从来来过,从按钮事件开始跟踪,找网络验证 CALL(所需要登陆的地址在这个 CALL 里面),接下来就是分析返回值或者改登陆地址为本地(127.0.0.1), 再后面就需要改某些跳转了 ********************************************************************* 9、狗加密 一般狗加密软件,一启动就会检测所需要的狗文件,若没有狗文件,提示错误 这里我们有两个入手点1、 “一启动就会检测所需要的狗文件” ,下 bp CreateFileA 等断点,断下后,回嗍2、 “若没有狗文件,提示错误” ,下bp MessageBoxA断下后,回嗍*********************************************************************总结: 从上面的介绍说明可以看出,有这么一个共同点---按钮事件 可以这么说,按钮事件是我们的思路之门按钮事件可以这样得来: 1、 2、 通过下相应断点,回嗍代码 通过FZ工具快捷的得到(VBExplorer、DEDE) 按钮事件 断得下来,断得正确自己制作内存注册机


Shark恒 发表于 2014-10-21 23:18

转的一手好帖!学习了!

Yang 发表于 2014-10-21 23:25

领悟到了。真是好东西

crazy清风 发表于 2014-10-21 23:42

今天在网上刚看到过

pnccm 发表于 2014-10-21 23:54

以前看到的都是发断点函数。函数又多,也不知道是个什么功能。楼主这种直接写明函数和在什么情况下用哪个,真的很不错。顶一个{:5_116:}谢谢分享

歪歪 发表于 2014-10-22 01:43

不错,收藏了!

bigeorry 发表于 2014-10-22 10:16

谢谢楼主发这么好的东西。学习了!

轮回 发表于 2014-10-27 02:57




这。。。这。。。这不是我发出去的么!

mm475 发表于 2014-10-27 14:11

轮回 发表于 2014-10-27 02:57
这。。。这。。。这不是我发出去的么!

这是3800cc在2003年黑鹰基地教程里的文稿

他乡过路客 发表于 2014-10-28 19:59

总结的挺好!
页: [1] 2 3
查看完整版本: 打开逆向分析思路之我见