终身高级VIP会员
- 资源币
- 11472
- 积分
- 4971
- 贡献
- 0
- 在线时间
- 2065 小时
- 注册时间
- 2015-4-20
- 最后登录
- 2024-7-9
|
本帖最后由 show0p 于 2019-5-21 12:12 编辑
麻婆云授权网络验证脱壳破解教程(附工具及源码)
实战教你过麻坡云授权验证
这里是麻婆脱壳
接下来的操作,懂得都懂
第一步:
去掉压缩壳到了mapo的入口后
dump,不需要重建输入表(简称dump1)
ok,能运行,将dump1放入od
接下来需要获取两个offset(偏移)
一个是mapo的GetProcAddress,和mapo_encApiTable的存储地址
首先获取GetProcAddress函数地址
搜索特征码:
8B F8 5F 5E 5D 5B 81 C4 10 01 00 00 C3 03 FE 8B C7 5F 5E 5D 5B 81 C4 10 01 00 00 C3 CC
然后来到这里
004F1F20 8BF8 mov edi,eax ; kernel32.BaseThreadInitThunk
004F1F22 5F pop edi ; kernel32.76FC33CA
004F1F23 5E pop esi ; kernel32.76FC33CA
004F1F24 5D pop ebp ; kernel32.76FC33CA
004F1F25 5B pop ebx ; kernel32.76FC33CA
004F1F26 81C4 10010000 add esp,0x110
004F1F2C C3 retn
004F1F2D 03FE add edi,esi
004F1F2F 8BC7 mov eax,edi
004F1F31 5F pop edi ; kernel32.76FC33CA
004F1F32 5E pop esi ; kernel32.76FC33CA
004F1F33 5D pop ebp ; kernel32.76FC33CA
004F1F34 5B pop ebx ; kernel32.76FC33CA
004F1F35 81C4 10010000 add esp,0x110
004F1F3B C3 retn
先将004F1F22处的代码改成:
jmp 004F1F31,并且记下这个地址:004F1F3B
然后保存这个exe(简称dump2)
接着在址:004F1F3B下断,运行
断下来之后
执行到返回+F8
直到出现mov eax,[0xXXXXX] push xxxx这样的代码
像这种
00665C93 A1 CB485100 mov eax,dword ptr ds:[0x5148CB]
00665C98 68 A25C6600 push dll_inj_.00665CA2
00665C9D ^ E9 439AF8FF jmp dll_inj_.005EF6E5
然后内存窗口跟随这个地址
可以看到他是长这样的,那就是他了。第一个值里面存的就是被加密的api地址
我们记下这个地址:5148CB
然后结束掉调试
打开DLL注入工具
第一个选择dump2.exe
第二个选择获取数据的dll
然后点运行
这是后让我们输入GetProcAddressRet
那么我们就输入004F1F3B-400000=F1F3B
然后点确认输入后又让输入EncApi地址
我们输入:5148CB-400000=1148CB
接下来就是等待授权窗口出来,然后保存获取的数据,会在运行目录下生成mapoSafeApi.txt文件
关闭软件后,就可以开始脱壳了
将mapo.exe放入od中,跑到mapo的真正入口
然后在入口的下一行就是oep,直接下断运行输入正确卡号登录进入软件直到断下来
断下来之后,直接dump,勾选上重建输入表
保存到dump3.exe,保存后运行dump3.exe发现说缺失,其实是函数名错误了
将dump3.exe放入cff中找到user32.dll中的这个函数
发现是NtdllDefWindowProc_A
其实这个函数只在ntdll中,user32的应该是DefWindowProcA,改完后保存,这样就不会提示缺失了
然后关闭od
打开MapoSafe.exe后
待修复文件选择:dump3.exe的路径
api表填mapoSafeApi.txt的路径
结束地址填代码段的大小(用CFF看)
然后直接点开始修复
完毕后,点保存,生成new_mapo.exe
emmm,忘了一步,
ok,回到这里、我们重新点开始修复保存
发现还是崩溃,我们看一下输入日志
30-RVA_Patch>>jmp_xxx:41D4E0-该行不在索引中.
发现这个是没有修复
我们去mapoSafeApi.txt找找30这个索引对应的函数,发现30是缺失的,这里暂时先不管
往下看,发现69也没有修复
69-RVA_Patch>>jmp_xxx:466FA8-该行不在索引中.
查了下mapoSafeApi.txt是有对应的api函数的
69-ntdll.dll-RtlSizeHeap
我们看一下,dump3.exe有没有导入这个函数,没有我们就添加,然后点重新修复保存
添加保存后,重新修复并保存
再运行,发现就能运行起来了
看看功能
ok,功能没问题
教程到这里
因为时间匆促,只能先告诉你们怎么用修复工具和基本操作,后面会告诉你们为什么
拜拜,这里是要开心。我爱你
|
|