请选择 进入手机版 | 继续访问电脑版

随心逆向破解论坛-逆向分析工程师的归宿!反汇编|逆向调试|破解

 找回密码
 立即注册

扫一扫,访问微社区

随心逆向破解论坛虚拟机14.0 随心逆向破解论坛虚拟机14.0 随心逆向破解论坛虚拟机14.0 随心逆向破解论坛虚拟机14.0 随心逆向破解论坛虚拟机14.0
随心逆向破解论坛虚拟机10.0中文 随心逆向破解论坛虚拟机10.0中文 随心逆向破解论坛虚拟机10.0中文 随心逆向破解论坛虚拟机10.0中文 随心逆向破解论坛虚拟机10.0中文
随心逆向破解论坛虚拟机12.7.5中文 随心逆向破解论坛虚拟机12.7.5中文 随心逆向破解论坛虚拟机12.7.5中文 随心逆向破解论坛虚拟机12.7.5中文 随心逆向破解论坛虚拟机12.7.5中文
随心论坛辅助制作工具集 随心论坛辅助制作工具集 随心论坛辅助制作工具集 随心论坛辅助制作工具集 随心论坛辅助制作工具集
随心解论坛工具集1.8 随心解论坛工具集1.8 随心解论坛工具集1.8 随心解论坛工具集1.8 随心解论坛工具集1.8
随心破解教程第一期(零基础入门)试看 随心破解教程第一期(零基础入门)试看 随心破解教程第一期(零基础入门)试看 随心破解教程第一期(零基础入门)试看 随心破解教程第一期(零基础入门)试看
查看: 203|回复: 3
收起左侧

[原创逆向图文] 各种语言事件破解方法

[复制链接]
发表于 2018-8-25 06:54:16 | 显示全部楼层 |阅读模式

C类语言破解
1、bp MessageBoxA(W)(断对话框)—Ctrl+N
2、Point-H法
3、bp GetDlgItem/GetWindowTextA(W)/GetWindowTextLengthA(W) (断输入框)
4、字符串法—插件/搜索所有参考文本

Delphi/BC++语言破解
1、DEDE结合PE Explorer找按妞事件
2、Point-H法
3、bp GetDlgItem/GetWindowTextA(W)/GetWindowTextLengthA(W) (断输入框)
4、bp MessageBoxA(W)(断对话框)—Ctrl+N
5、字符串法—插件/搜索所有参考文本
6、如果程序界面标题有[未注册/注册/VIP版/标准版/钻石版] 之类字样,可以通过DEDE查找FormCreate/FormShow,找到关键标志位
VB语言破解
1、VBExplorer查找按钮事件
2、有提示框则  bp rtcMsgBox(断对话框)
3、通过bp __vbaStrCmp/__vbaStrComp/__vbaVarTstEq
4、万能断点法(816C24法)
5、字符串法—插件/搜索所有参考文本

易语言破解
1、借助E-Code Explorer查找按钮事件
2、下消息断点,查看堆栈再返回
3、eCode法–断按钮事件
4、字符串法—插件/搜索所有参考文本
  按钮事件固定模式:
  0040EC78     837D F4 00      cmp dword ptr ss:[ebp-C],0         ;关键判断
  0040EC7C     0F84 3B000000   je dcse.0040ECBD                    ;关键跳
  0040EC82     68 04000080     push 80000004
  0040EC87     6A 00           push 0
  0040EC89     68 EC904000     push dcse.004090EC
  0040EC8E     68 01030080     push 80000301
  0040EC93     6A 00           push 0
  00 40EC95     68 00000000     push 0
  0040EC9A     68 04000080     push 80000004
  0040EC9F     6A 00           push 0
  0040ECA1     68 F1904000     push dcse.004090F1
  0040ECA6     68 03000000     push 3
  0040ECAB     BB 00030000     mov ebx,300
  0040ECB0     E8 92000000     call dcse.0040ED47
  0040ECB5     83C4 28         add esp,28
  0040ECB8     E9 36000000     jmp dcse.0040ECF3
  0040ECBD     68 04000080     push 80000004
  0040ECC2     6A 00           push 0
  0040ECC4     68 CC904000     push dcse.004090CC
  0040ECC9     68 01030080     push 80000301
  0040ECCE     6A 00           push 0
  0040ECD0     68 00000000     push 0
  0040ECD5     68 04000080     push 80000004
  0040ECDA     6A 00           push 0
  0040ECDC     68 02914000     push dcse.00409102
  0040ECE1     68 03000000     push 3
  0040ECE6     BB 00030000     mov ebx,300
  0040ECEB     E8 57000000     call dcse.0040ED47
  0040ECF0     83C4 28         add esp,28
  0040ECF3     8BE5            mov esp,ebp
  0040ECF5     5D              pop ebp
  0040ECF6     C3              retn

按钮事件
1、有注册错误/正确提示
   bp MessageBoxA
   bp rtcMsgBox
如果事先找不到按钮事件,可以通过下消息断点,返回后回溯即可找到按钮事件起始位置
2、无任何提示
   bp GetDlgItem
可以通过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 XXXXXXXX
软件启动—>判断是否注册—>是否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、通过辅Z工具快捷的得到(VBExplorer、DEDE)

重启验证
80%-90%的软件基本都是重启验证类型
1、注册表类型
       Bpx RegOpenKeyA(W)
       Bpx RegOpenKeyExA(W)
2、ini文件类型(*.reg/*.ini)
       Bpx GetPrivateProfileStringA
3、其他文件类型(*.dat/*.lic…)
       Bpx CreateFileA(W)
       Bpx ReadFile
4、DLL文件操作类型
如果没有什么有效的拦截函数,不妨试一下Bpx CreateFileA(W).余下的就是通过你的经验去判断了(例如:35课)
注意:建议使用Bpx断点,这样,比较快捷、准确。尚若Bpx失效,再尝试bp
方便断点设置的有以下3个断点插件,APIBreak中国版(不带Point-H),APIBreak英文版(带Point-H)、+BP-Olly

去nag框的方法
1、若是Delphi&BCB程序,可以通过FormCreate法查找到FormCreate,再单步跟踪,找到窗口的调用CALL,一般它的具体形式是call dword ptr ds:[edx+E8]
2、OD载入程序后,单步跟踪,找到窗口的调用CALL
注意看第37课

两种经典方法
1、Point-H法
此法类似下断点bp GetWindowText(A/W),但是,在某些Point-H断不下来的情况下,bp GetWindowText(A/W)却可以断下来。Point-H能够断下来的,bp GetWindowTextA基本上都可以顺利断下
2、转存跟踪法
到底是byte/word/Dword断点,一般情况下是byte,其他特殊情况大家临场判断

一些常规断点
  拦截窗口:
      bp CreateWindow 创建窗口
      bp CreateWindowEx(A/W) 创建窗口
      bp ShowWindow 显示窗口
      bp UpdateWindow 更新窗口
      bp GetWindowText(A/W) 获取窗口文本
  拦截消息框:
      bp MessageBox(A/W) 创建消息框
      bp MessageBoxExA 创建消息框
      bp MessageBoxIndirect(A/W) 创建定制消息框
  拦截警告声:
      bp MessageBeep 发出系统警告声(如果没有声卡就直接驱动系统喇叭发声)
  拦截对话框:
      bp DialogBox 创建模态对话框
      bp DialogBoxParam(A/W) 创建模态对话框
      bp DialogBoxIndirect 创建模态对话框
      bp DialogBoxIndirectParam(A/W) 创建模态对话框
      bp CreateDialog 创建非模态对话框
      bp CreateDialogParam(A) 创建非模态对话框
      bp CreateDialogIndirect 创建非模态对话框
      bp CreateDialogIndirectParam(A/W) 创建非模态对话框
      bp GetDlgItemText(A) 获取对话框文本
      bp GetDlgItemInt 获取对话框整数值
  拦截剪贴板:  
      bp GetClipboardData 获取剪贴板数据
  拦截注册表:
      bp RegOpenKey(A/W) 打开子健
      bp RegOpenKeyEx(A/W) 打开子健
      bp RegQueryValue(A/W) 查找子健
      bp RegSetValue(A/W) 设置子健
      bp RegSetValueEx(A/W) 设置子健
  功能限制拦截断点:
      bp EnableMenuItem 禁止或允许菜单项
      bp EnableWindow 禁止或允许窗口
  拦截时间:
      bp GetLocalTime 获取本地时间
      bp GetSystemTime 获取系统时间
      bp GetFileTime 获取文件时间
      bp GetTickCount 获得自系统成功启动以来所经历的毫秒数
      bp GetCurrentTime 获取当前时间(16位)
      bp SetTimer 创建定时器
      bp TimerProc 定时器超时回调函数
  拦截文件:
      bp CreateFileA 创建或打开文件 (32位)
      bp OpenFile 打开文件       (32位)
      bp ReadFile 读文件         (32位)
      bp WriteFile 写文件         (32位)
      bp GetPrivateProfileStringA    (ini文件)
  拦截驱动器:  
      bp GetDriveTypeA 获取磁盘驱动器类型
      bp GetLogicalDrives 获取逻辑驱动器符号
      bp GetLogicalDriveStringsA 获取当前所有逻辑驱动器的根驱动器路径
★★VB程序专用断点★★
      bp __vbaStrCmp 比较字符串是否相等
      bp __vbaStrComp 比较字符串是否相等
      bp __vbaVarTstNe 比较变量是否不相等
      bp __vbaVarTstEq 比较变量是否相等
      bp __vbaStrCopy 复制字符串
      bp __vbaStrMove 移动字符串
      bp MultiByteToWideChar ANSI字符串转换成Unicode字符串
      bp WideCharToMultiByte Unicode字符串转换成ANSI字符串

灰色按钮
有两种情况:通过代码和控件属性
VB语言:
代码:ctrl+b查找 816C24,在JMP下断,然后F2运行程序,把 push ebp 改为 retn,或者把这些代码全NOP掉
控件属性:VBExplorer 辅Z工具改属性
Delphi/BC++语言:
代码:通过DEDE找FormCreate,记下地址,改 retn
控件属性:相关辅Z工具改属性
易语言
代码:bp EnableWindow,断下后返回,把 push ebp 改为 retn
控件属性:用十六进制工具查找 BOB4C5A5 ,把它后面的 07 改 05


发表于 2019-1-4 19:31:28 | 显示全部楼层
回复

使用道具 举报

发表于 2019-1-8 21:35:40 | 显示全部楼层
回复

使用道具 举报

发表于 2019-1-25 20:56:31 | 显示全部楼层

白色是不是一种颜色,任诵读大悲咒何颜色,混合在一起不会出错,而且非常明亮和美丽。然而,白色西装或三种方式让你的时尚和个性,男精英魅力加童趣士深蓝色呢子大衣着装方案!者最时尚和美丽Allwhite的混合。不仅塑造了女性的职场技巧和魅力,它有许三大绝招让你时尚又清凉,男子用标准的深蓝色呢子大衣小编给你支两招!多的高雅品位。
白色西装套装有一对高跟鞋,尖精细,这些陌生人不要关闭气场无法抗拒。高跟鞋,黑色或裸色选择简单的款式更适合哦。此外,在白色西装套装搭配白色底漆同样哦。
删除高跟鞋,Allwhite白色西装套装与种类繁多的平底鞋也是一个很好的选择,和运动鞋搭配带有青春活力;  平底凉鞋和休闲典雅的感觉混合。
一个典型的黑色和白制服倔强的孩子的“服从”!因为这将不仅有利于发展色也是如何大衣搭配不规则时尚简约美观的一字肩最常大悲咒注音见的组合,不要最搭的白色,通常在这一天它只能装扮深入人心穿孔!去错了,基本上与大品牌的感觉刺特别是清爽迷人的妆容入前,最搭有白色的色调!如何智取大牌感。
在白色冬季装扮灵感促使薄达到显著更高的性能点,矮个子保留一些女性的时尚服装!西装与一些附加的彩色点饰,营造瞬间闪亮,以高也有不少小窍门也可以帮助美白效的白光体验吸引眼球也是一个不错的选择。












心经解释
心经故事感应
大悲咒功德
大悲咒原文注音版
心经故事
大悲咒意思是什么
诵读金刚经全文
读诵大悲咒仪轨
心经解释全文
大悲咒正确诵读
般若波罗蜜多心经解释
在线抄写般若心经
注音版心经
金刚经全文
天天念大悲咒感应
回复

使用道具 举报

 懒得打字嘛,点击右侧快捷回复【左侧自定义内容】   【右侧自定义内容】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条


展开

QQ|Archiver|手机版|小黑屋|随心逆向破解论坛-逆向分析工程师的归宿!反汇编|逆向调试|破解

GMT+8, 2019-4-19 15:24 , Processed in 0.372515 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表