-
-
[旧帖] [讨论]WinLicense 问题. 0.00雪花
-
发表于: 2008-6-25 18:25 2437
-
这2天碰见一个壳.用PEID看了一下什么也没发现.因为接触破解才不长时间也没啥经验.也不会看啥特征码啥的.设个几个内存断点.弹出错误.标题提示是WinLicense ,猜得大概是这个壳吧.看见内存中游mfc4.0dll 知道这个是mfc写的.就在GetStartupInfoa上下了断点.停了向上找了找.发现push 2,以上都不对.找了个mfc粘了开始的代码.在堆栈里也把seh的地址粘上了.dump出来.然后用ImportREC_fix修复iat.以为就好了.还高兴了一小会.突然发现运行不了.开始以为是自效验什么的.后来发现不是.然后在论坛里找了关于虚拟机的文章看了下.大概理解是汇编指令转成VM自己的伪指令.也没看得太懂.
我得问题是.现在在我得问题是.这个壳产生了几个线程.运行的时候主线程还调用这个几个线程的东西.我dump出来的只是主线程的东西.我该怎么办????
粘点代码:
//这个是开始
00419014 > /E9 D4300000 jmp 0041C0ED
00419019 |0000 add byte ptr [eax], al
0041901B |0000 add byte ptr [eax], al
......//都是0 省略
//开始保存esp,和ebp.进入自己的vm大概.
0041C0ED 8BC5 mov eax, ebp
0041C0EF 8BD4 mov edx, esp
0041C0F1 60 pushad
0041C0F2 E8 00000000 call 0041C0F7
0041C0F7 5D pop ebp
0041C0F8 81ED E3307F06 sub ebp, 67F30E3
0041C0FE 8995 4D117F06 mov dword ptr [ebp+67F114D], edx
0041C104 89B5 952F7F06 mov dword ptr [ebp+67F2F95], esi
0041C10A 8985 3D247F06 mov dword ptr [ebp+67F243D], eax
0041C110 83BD 691F7F06 0>cmp dword ptr [ebp+67F1F69], 0
//在GetStartupInfoa上下断.在往上找找.在粘了seh.就变成这样. 应该就是oep了.
004091FF 55 push ebp
00409200 8BEC mov ebp, esp
00409202 6A FF push -1
00409204 68 10E14000 push 0040E110
00409209 68 86934000 push 00409386
0040920E 64:A1 0000000>mov eax, dword ptr fs:[0]
00409214 50 push eax
00409215 64:8925 00000>mov dword ptr fs:[0], esp
0040921C 83EC 68 sub esp, 68
0040921F 53 push ebx
00409220 56 push esi
00409221 57 push edi
00409222 8965 E8 mov dword ptr [ebp-18], esp
00409225 33DB xor ebx, ebx
00409227 895D FC mov dword ptr [ebp-4], ebx
0040922A . 6A 02 push 2
0040922C . 90 nop
0040922D . E8 4AC17F77 call msvcrt.__set_app_type
//发现问题是在这里. edi等于B40000,
0041D2F2 FF67 58 jmp dword ptr [edi+58]
//这个是数据.
00B40058 D0 07 B4 00 82 0B 4B 00 00 00 00 00 00 00 00 00
//00B407D0的地址也有东西.
我跟踪了一下.在壳解压完了 00B40000就有东西了.
我dump出来的B40000啥也没有.这怎么办???????????//
我得问题是.现在在我得问题是.这个壳产生了几个线程.运行的时候主线程还调用这个几个线程的东西.我dump出来的只是主线程的东西.我该怎么办????
粘点代码:
//这个是开始
00419014 > /E9 D4300000 jmp 0041C0ED
00419019 |0000 add byte ptr [eax], al
0041901B |0000 add byte ptr [eax], al
......//都是0 省略
//开始保存esp,和ebp.进入自己的vm大概.
0041C0ED 8BC5 mov eax, ebp
0041C0EF 8BD4 mov edx, esp
0041C0F1 60 pushad
0041C0F2 E8 00000000 call 0041C0F7
0041C0F7 5D pop ebp
0041C0F8 81ED E3307F06 sub ebp, 67F30E3
0041C0FE 8995 4D117F06 mov dword ptr [ebp+67F114D], edx
0041C104 89B5 952F7F06 mov dword ptr [ebp+67F2F95], esi
0041C10A 8985 3D247F06 mov dword ptr [ebp+67F243D], eax
0041C110 83BD 691F7F06 0>cmp dword ptr [ebp+67F1F69], 0
//在GetStartupInfoa上下断.在往上找找.在粘了seh.就变成这样. 应该就是oep了.
004091FF 55 push ebp
00409200 8BEC mov ebp, esp
00409202 6A FF push -1
00409204 68 10E14000 push 0040E110
00409209 68 86934000 push 00409386
0040920E 64:A1 0000000>mov eax, dword ptr fs:[0]
00409214 50 push eax
00409215 64:8925 00000>mov dword ptr fs:[0], esp
0040921C 83EC 68 sub esp, 68
0040921F 53 push ebx
00409220 56 push esi
00409221 57 push edi
00409222 8965 E8 mov dword ptr [ebp-18], esp
00409225 33DB xor ebx, ebx
00409227 895D FC mov dword ptr [ebp-4], ebx
0040922A . 6A 02 push 2
0040922C . 90 nop
0040922D . E8 4AC17F77 call msvcrt.__set_app_type
//发现问题是在这里. edi等于B40000,
0041D2F2 FF67 58 jmp dword ptr [edi+58]
//这个是数据.
00B40058 D0 07 B4 00 82 0B 4B 00 00 00 00 00 00 00 00 00
//00B407D0的地址也有东西.
我跟踪了一下.在壳解压完了 00B40000就有东西了.
我dump出来的B40000啥也没有.这怎么办???????????//
赞赏
他的文章
- [求助]程序运行中动态加断点问题。 2717
- [求助]od的ctrl+f9不好用了。怎么办??? 4904
- [讨论]fild 的逆运算指令怎么写? 4749
- [求助]加密解密3的hlp文件用啥打开?? 2438
- [求助]od 断游戏的recv问题 3389
看原图
赞赏
雪币:
留言: