【软件名称】: 新版绝影凯旋vip2.02版
【加壳方式】: Themida/WinLicense V1.8.2.0 + -> Oreans Technologies * Sign.By.fly *
【编写语言】: Microsoft Visual C++ 6.0
【使用工具】: 脱壳脚本Themida & WinLicen 1.1.X - 1.8.X 系列脱壳脚本.osc,OllyICE.exe,
Imprec,peid0.94,lordpeordpe
【求助原因】:这是一个朋友玩的外挂,我正研究Themida/WinLicense脱壳和暴破网络论证,望各大虾提点
【问题现象】:脱壳一切正常,修复,优化正常,能运行第一个画面,能出现窗口,但点击里面的按钮都为退
出,前面只进行了脱壳,是哪儿被弄坏了,请专家研究答复一下,谢谢
【问题软件资料】:
http://www.cqnba.com/我的外挂/新版绝影凯旋vip2.02版.rar
【联系本人】:QQ:709478498
修复前ope代码:
0041265A 6A 02 push 2
0041265C FF15 34444100 call dword ptr [414434] ; msvcrt.__set_app_type
00412662 59 pop ecx
00412663 830D 68C24100 F>or dword ptr [41C268], FFFFFFFF
0041266A 830D 6CC24100 F>or dword ptr [41C26C], FFFFFFFF
00412671 FF15 30444100 call dword ptr [414430] ; msvcrt.__p__fmode
00412677 8B0D 5CC24100 mov ecx, dword ptr [41C25C]
0041267D 8908 mov dword ptr [eax], ecx
0041267F FF15 2C444100 call dword ptr [41442C] ; msvcrt.__p__commode
00412685 8B0D 58C24100 mov ecx, dword ptr [41C258]
0041268B 8908 mov dword ptr [eax], ecx
0041268D A1 28444100 mov eax, dword ptr [414428]
00412692 8B00 mov eax, dword ptr [eax]
00412694 A3 64C24100 mov dword ptr [41C264], eax
00412699 E8 17010000 call 004127B5
0041269E 391D F08C4100 cmp dword ptr [418CF0], ebx
004126A4 75 0C jnz short 004126B2
004126A6 68 B2274100 push 004127B2
004126AB FF15 24444100 call dword ptr [414424] ; msvcrt.__setusermatherr
修复后oep代码:
0041262F >/$ 55 push ebp
00412630 |. 8BEC mov ebp, esp
00412632 |. 6A FF push -1
00412634 |. 68 40684100 push 00416840
00412639 |. 68 B6274100 push <jmp.&msvcrt._except_handler3> ; SE 处理程序安装
0041263E |. 64:A1 0000000>mov eax, dword ptr fs:[0]
00412644 |. 50 push eax
00412645 |. 64:8925 00000>mov dword ptr fs:[0], esp
0041264C |. 83EC 68 sub esp, 68
0041264F |. 53 push ebx
00412650 |. 56 push esi
00412651 |. 57 push edi
00412652 |. 8965 E8 mov dword ptr [ebp-18], esp
00412655 |. 33DB xor ebx, ebx
00412657 |. 895D FC mov dword ptr [ebp-4], ebx
0041265A |. 6A 02 push 2
0041265C |. FF15 34444100 call dword ptr [<&msvcrt.__set_app_ty>; MSVCRT.__set_app_type
00412662 |. 59 pop ecx
00412663 |. 830D 68C24100>or dword ptr [41C268], FFFFFFFF
0041266A |. 830D 6CC24100>or dword ptr [41C26C], FFFFFFFF
00412671 |. FF15 30444100 call dword ptr [<&msvcrt.__p__fmode>] ; MSVCRT.__p__fmode
00412677 |. 8B0D 5CC24100 mov ecx, dword ptr [41C25C]
0041267D |. 8908 mov dword ptr [eax], ecx
0041267F |. FF15 2C444100 call dword ptr [<&msvcrt.__p__commode>; MSVCRT.__p__commode
修复前oep处堆栈数据(修复用)
0012FF70 FFFF94C8
0012FF74 00664CBE main.00664CBE
0012FF78 51006A60
0012FF7C 0012FF10
0012FF80 F3B6E78B
0012FF84 0012FF9C 指向下一个 SEH 记录的指针
0012FF88 004127B6 SE处理程序
0012FF8C 00416840 main.00416840
0012FF90 00000000
0012FF94 51006A60
0012FF98 FFFF90BC
0012FF9C 0012FFE0 指向下一个 SEH 记录的指针
0012FFA0 00654784 SE处理程序
我自认为脱壳是没有问题的,都按大虾们的经验进行了处理,但为什么程序会被破坏了呢!!!
另外,我脱壳修复的过程简述:
定位oep
修复被偷代码
改正push数据
dump
修复,用的是正确oep地址修复
lordep去除Themida区段头,重建pe
大致就这样了!
等着大家的回复!谢谢@!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课