一:查壳
PeID 0.94,查壳,ASProtect 2.1x SKE -> Alexey Solodovnikov,由于是ASProtect的壳,有时候PeID会报错壳,我们需要一个插件来查到她的真实壳,现在我用VerA 0.15来看,大家看我操作。
正确显示出来了,Version: ASProtect 1.33 build 03.07 Release [Extract]
二:脱壳
我们用脚本来脱,脚本是一有很名的大侠写的,Aspr2.XX_IATfixer_v2.2s.osc就是这个
大家看我操作,运行脚本,
脚本运行完了,到了程序的OEP了,脚本会自动在我们的外挂目录里生成一个脱了壳的文件
我们来查下壳再来运行她,看看可以运行不
不能运行,我们来REC修复一下,
在这里不要点自动搜索,
程序的OEP和范围大小脚本已经给我们计算好了,我们按这里的“L”就可以看到了,在这里
00BD7C48 硬件断点 1 位于 00BD7C48
iatstartaddr: 00445000
iatstart_rva: 00045000================>>大小范围
iatsize: 000005F4 ==================>>大小范围
00415F5E 当执行 [00415F5E] 时设置内存断点
OEP_rva: 00015F5E ===================>>OEP
我们来手动填写上去,然后获取输入信息,
有指针没有修复,这是这个壳特别照顾的
用插件修复她,抓取下来,我们再回来运行抓取后的文件
好,可以运行了,接下来我们破解她...........
三:破解
试运行程序,游戏帐号乱真一下吧,就填ICY吧,然后登入看看有什么提示。
提示“你的使用期限过了,请先冲值”好,我们开始破她....OD载入
我们下个断
bp MessageBoxA
成功拦下来了
来到堆栈
0012F2B0 0040BFCC /CALL 到 MessageBoxA 来自 un_xmjjl.0040BFC6
0012F2B4 00000000 |hOwner = NULL
0012F2B8 00455B64 |Text = "你的使用期限过了?,AC,"请先充值"
0012F2BC 00455694 |Title = "信?,A2,""
0012F2C0 00000000 \Style = MB_OK|MB_APPLMODAL
0012F2C4 0040210B 返回到 un_xmjjl.0040210B 来自 un_xmjjl.0040BF10 ============>>在这里返回去
0012F2C8 00474A60 un_xmjjl.00474A60
0012F2CC 00445600 un_xmjjl.00445600
0012F2D0 00000001
0012F2D4 7C98D886 返回到 ntdll.7C98D886 来自 ntdll.7C92EE02
0012F2D8 00140000
返来到这里了
004020F2 > \83BD 74FFFFFF>cmp dword ptr [ebp-8C], 0
004020F9 . 74 15 je short 00402110 =====================>>这里跳到正确的地方
004020FB . 8B85 74FFFFFF mov eax, dword ptr [ebp-8C]
00402101 . A3 1C5A4500 mov dword ptr [455A1C], eax
00402106 . E8 059E0000 call 0040BF10
0040210B . E9 C7080000 jmp 004029D7 ===========================>>这里跳到出错信息
00402110 > 8B4D CC mov ecx, dword ptr [ebp-34]
看到这里相信大家都知道怎么做了,
把JE改成JMP,看操作吧!
好了,教程到此!
PeID 0.94,查壳,ASProtect 2.1x SKE -> Alexey Solodovnikov,由于是ASProtect的壳,有时候PeID会报错壳,我们需要一个插件来查到她的真实壳,现在我用VerA 0.15来看,大家看我操作。
正确显示出来了,Version: ASProtect 1.33 build 03.07 Release [Extract]
二:脱壳
我们用脚本来脱,脚本是一有很名的大侠写的,Aspr2.XX_IATfixer_v2.2s.osc就是这个
大家看我操作,运行脚本,
脚本运行完了,到了程序的OEP了,脚本会自动在我们的外挂目录里生成一个脱了壳的文件
我们来查下壳再来运行她,看看可以运行不
不能运行,我们来REC修复一下,
在这里不要点自动搜索,
程序的OEP和范围大小脚本已经给我们计算好了,我们按这里的“L”就可以看到了,在这里
00BD7C48 硬件断点 1 位于 00BD7C48
iatstartaddr: 00445000
iatstart_rva: 00045000================>>大小范围
iatsize: 000005F4 ==================>>大小范围
00415F5E 当执行 [00415F5E] 时设置内存断点
OEP_rva: 00015F5E ===================>>OEP
我们来手动填写上去,然后获取输入信息,
有指针没有修复,这是这个壳特别照顾的
用插件修复她,抓取下来,我们再回来运行抓取后的文件
好,可以运行了,接下来我们破解她...........
三:破解
试运行程序,游戏帐号乱真一下吧,就填ICY吧,然后登入看看有什么提示。
提示“你的使用期限过了,请先冲值”好,我们开始破她....OD载入
我们下个断
bp MessageBoxA
成功拦下来了
来到堆栈
0012F2B0 0040BFCC /CALL 到 MessageBoxA 来自 un_xmjjl.0040BFC6
0012F2B4 00000000 |hOwner = NULL
0012F2B8 00455B64 |Text = "你的使用期限过了?,AC,"请先充值"
0012F2BC 00455694 |Title = "信?,A2,""
0012F2C0 00000000 \Style = MB_OK|MB_APPLMODAL
0012F2C4 0040210B 返回到 un_xmjjl.0040210B 来自 un_xmjjl.0040BF10 ============>>在这里返回去
0012F2C8 00474A60 un_xmjjl.00474A60
0012F2CC 00445600 un_xmjjl.00445600
0012F2D0 00000001
0012F2D4 7C98D886 返回到 ntdll.7C98D886 来自 ntdll.7C92EE02
0012F2D8 00140000
返来到这里了
004020F2 > \83BD 74FFFFFF>cmp dword ptr [ebp-8C], 0
004020F9 . 74 15 je short 00402110 =====================>>这里跳到正确的地方
004020FB . 8B85 74FFFFFF mov eax, dword ptr [ebp-8C]
00402101 . A3 1C5A4500 mov dword ptr [455A1C], eax
00402106 . E8 059E0000 call 0040BF10
0040210B . E9 C7080000 jmp 004029D7 ===========================>>这里跳到出错信息
00402110 > 8B4D CC mov ecx, dword ptr [ebp-34]
看到这里相信大家都知道怎么做了,
把JE改成JMP,看操作吧!
好了,教程到此!


