-
-
[旧帖]
[原创]我的第一次破解
0.00雪花
-
发表于:
2010-12-13 23:57
1286
-
学win32汇编有段时间了,一直想破解款软件试试手。刚好今天有空完成了对WinRAR软件去弹出窗口的破解,特记录下来做为纪念。(哥很菜,高手别笑啊)
WinRAR是大家都熟悉的一款软件,想必大家在使用它时会遇到郁闷的一件事,就是每次解压时都会弹出个窗口如下。今天我就教大家如何去除这个万恶的弹出窗口。
准备工作:所需软件 resource hacker(用于窗口id查找) ,IDA Pro (静态分析软件),OllyDbg(动态分析软件)
步骤1 查找弹出窗口ID
用resource hacker 加载WinRAR的可执行文件,在左边树的"对话框"查找我们要去除的窗口如下图
看见了吧,弹出窗口的id是"REMINDER"。
步骤2 查找弹出“REMINDER”窗口的代码(winrar没有加壳,所以省了脱壳步骤)
弹出窗口的api函数原型如下:
int DialogBoxParam(
HINSTRNCE hInstance,
LPCTSTR lpTemplateName,
HWND hWndParent,
DLGPROC lpDialogFunc ,
LPARAM dwInitParam
)
看见了吧,函数的第2个参数"lpTemplateName"就是窗口id,所以只要我们找到第二个参数是"REMINDER"的DialogBoxParam函数调用的地址就完成任务了。使用IDA加载WinRAR并把IDA View-A窗口切换到代码模式按热键ATL+T弹出字符查找窗口并入如下图填选
点击ok结果如下
我们知道在汇编中的api函数的调用参数传递是要用到push入栈指令的,所以上面4条结果中只有前2条是做为参数传递的,剩下二条根本不考虑,现在只要确定前2条指令谁是传给DialogBoxParam函数的。谁就是我们要找的。依次双击这二条指令,进入反汇编代码分析.第一条是我们要找的。如下图
看见了吧,地址004411fc到00441219是我们要去除的汇编指令。
步骤3 去除地址004411fc到00441219的汇编指令
使用OllyDbg加载WinRAR,转到004411fc处,双击弹出修改指令窗口,填写汇编指令"jmp 441219 "如下
然后选中4411fc这条指令,单击右键在弹出菜单中选 copy to executable->selection
之后会弹出个窗口,单击鼠标右键,选择save file,并指定保存路径
步骤4 用步骤3生成的可执行文件替换WinRAR.exe文件(这个就不用我讲了吧)
到此,整个破解过程完成了。现在试试winrar再也没有烦人的弹出窗口了哈!!!!!
[课程]FART 脱壳王!加量不加价!FART作者讲授!