能力值:
( LV2,RANK:10 )
|
-
-
2 楼
原来自校验可以这样去掉啊,省了不少事了,以后都不用再为自校验头疼了,谢谢楼主的文章,一语惊醒梦中人啊
|
能力值:
( LV3,RANK:20 )
|
-
-
3 楼
替换字符串的方法也可以找到真正的注册码的位置.把真正的注册码替换成你想要的,比如把原来的乱七八糟的注册码替换成1111111- - 是不是很邪恶呢
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
马克,有时间看看
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
精辟,一语惊醒梦中人~~~~~~学习中………………
|
能力值:
( LV3,RANK:20 )
|
-
-
6 楼
自效验的一些断点
bp ExitWindowsEx 关机
bp ExitProcess 退出进程
AdjustTokenPrivileges 获得系统关机特权
BP CreateFileA 读文件
GetDiskGeometry 格式化相关 获得磁盘参数
SHFormatDrive 格式化指定磁盘主要调用shell32.dll执行
__vbaEnd VB专用结束函数
rtcShell VB专用格式化磁盘相关
以下是某VB程序格式化硬盘(低格)暗桩在OD中的反汇编代码.反复出现MSVBVM60.rtcShell,而且莫大的程序中居然只有这一个地方调用,那么他是否也跟SHELL32.DLL相关呢?或者VB中格式硬盘也会用到呢?所以这个函数也作为VB暗桩中一个关键吧- - 当然也不能放弃那些盘符的命令,有的时候是可以直接找到字符串滴 - -
00660429 . 8D4D DC lea ecx,dword ptr ss:[ebp-0x24]
0066042C . FF15 DC134000 call dword ptr ds:[<&MSVBVM60.__vbaFreeS>; MSVBVM60.__vbaFreeStr
00660432 . C745 FC 0A000>mov dword ptr ss:[ebp-0x4],0xA
00660439 . C745 BC C0BD4>mov dword ptr ss:[ebp-0x44],中.0043BDC0 ; UNICODE "Format.com d: /q/y"
00660440 . C745 B4 08000>mov dword ptr ss:[ebp-0x4C],0x8
00660447 . 8D55 B4 lea edx,dword ptr ss:[ebp-0x4C]
0066044A . 8D4D C4 lea ecx,dword ptr ss:[ebp-0x3C]
0066044D . FF15 44134000 call dword ptr ds:[<&MSVBVM60.__vbaVarDu>; MSVBVM60.__vbaVarDup
00660453 . 6A 00 push 0x0
00660455 . 8D55 C4 lea edx,dword ptr ss:[ebp-0x3C]
00660458 . 52 push edx
00660459 . FF15 F4114000 call dword ptr ds:[<&MSVBVM60.#600>] ; MSVBVM60.rtcShell
0066045F . DD5D AC fstp qword ptr ss:[ebp-0x54]
00660462 . 8D4D C4 lea ecx,dword ptr ss:[ebp-0x3C]
00660465 . FF15 30104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeV>; MSVBVM60.__vbaFreeVar
0066046B . C745 FC 0B000>mov dword ptr ss:[ebp-0x4],0xB
00660472 . C745 BC ECBD4>mov dword ptr ss:[ebp-0x44],中.0043BDEC ; UNICODE "Format.com e: /q/y"
00660479 . C745 B4 08000>mov dword ptr ss:[ebp-0x4C],0x8
00660480 . 8D55 B4 lea edx,dword ptr ss:[ebp-0x4C]
00660483 . 8D4D C4 lea ecx,dword ptr ss:[ebp-0x3C]
00660486 . FF15 44134000 call dword ptr ds:[<&MSVBVM60.__vbaVarDu>; MSVBVM60.__vbaVarDup
0066048C . 6A 00 push 0x0
0066048E . 8D45 C4 lea eax,dword ptr ss:[ebp-0x3C]
00660491 . 50 push eax
00660492 . FF15 F4114000 call dword ptr ds:[<&MSVBVM60.#600>] ; MSVBVM60.rtcShell
00660498 . DD5D AC fstp qword ptr ss:[ebp-0x54]
0066049B . 8D4D C4 lea ecx,dword ptr ss:[ebp-0x3C]
0066049E . FF15 30104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeV>; MSVBVM60.__vbaFreeVar
006604A4 . C745 FC 0C000>mov dword ptr ss:[ebp-0x4],0xC
006604AB . C745 BC 18BE4>mov dword ptr ss:[ebp-0x44],中.0043BE18 ; UNICODE "Format.com f: /q/y"
006604B2 . C745 B4 08000>mov dword ptr ss:[ebp-0x4C],0x8
006604B9 . 8D55 B4 lea edx,dword ptr ss:[ebp-0x4C]
006604BC . 8D4D C4 lea ecx,dword ptr ss:[ebp-0x3C]
006604BF . FF15 44134000 call dword ptr ds:[<&MSVBVM60.__vbaVarDu>; MSVBVM60.__vbaVarDup
006604C5 . 6A 00 push 0x0
006604C7 . 8D4D C4 lea ecx,dword ptr ss:[ebp-0x3C]
006604CA . 51 push ecx
006604CB . FF15 F4114000 call dword ptr ds:[<&MSVBVM60.#600>] ; MSVBVM60.rtcShell
006604D1 . DD5D AC fstp qword ptr ss:[ebp-0x54]
006604D4 . 8D4D C4 lea ecx,dword ptr ss:[ebp-0x3C]
006604D7 . FF15 30104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeV>; MSVBVM60.__vbaFreeVar
006604DD . C745 FC 0D000>mov dword ptr ss:[ebp-0x4],0xD
006604E4 . C745 BC 44BE4>mov dword ptr ss:[ebp-0x44],中.0043BE44 ; UNICODE "Format.com c: /q/y"
006604EB . C745 B4 08000>mov dword ptr ss:[ebp-0x4C],0x8
006604F2 . 8D55 B4 lea edx,dword ptr ss:[ebp-0x4C]
006604F5 . 8D4D C4 lea ecx,dword ptr ss:[ebp-0x3C]
006604F8 . FF15 44134000 call dword ptr ds:[<&MSVBVM60.__vbaVarDu>; MSVBVM60.__vbaVarDup
006604FE . 6A 00 push 0x0
00660500 . 8D55 C4 lea edx,dword ptr ss:[ebp-0x3C]
00660503 . 52 push edx
00660504 . FF15 F4114000 call dword ptr ds:[<&MSVBVM60.#600>] ; MSVBVM60.rtcShell
0066050A . DD5D AC fstp qword ptr ss:[ebp-0x54]
0066050D . 8D4D C4 lea ecx,dword ptr ss:[ebp-0x3C]
00660510 . FF15 30104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeV>; MSVBVM60.__vbaFreeVar
00660516 . C745 FC 0E000>mov dword ptr ss:[ebp-0x4],0xE
0066051D . C745 BC 88BE4>mov dword ptr ss:[ebp-0x44],中.0043BE88 ; UNICODE "cmd /c shutdown -s -t 0"
00660524 . C745 B4 08000>mov dword ptr ss:[ebp-0x4C],0x8
0066052B . 8D55 B4 lea edx,dword ptr ss:[ebp-0x4C]
0066052E . 8D4D C4 lea ecx,dword ptr ss:[ebp-0x3C]
00660531 . FF15 44134000 call dword ptr ds:[<&MSVBVM60.__vbaVarDu>; MSVBVM60.__vbaVarDup
00660537 . 6A 00 push 0x0
00660539 . 8D45 C4 lea eax,dword ptr ss:[ebp-0x3C]
0066053C . 50 push eax
0066053D . FF15 F4114000 call dword ptr ds:[<&MSVBVM60.#600>] ; MSVBVM60.rtcShell
00660543 . DD5D AC fstp qword ptr ss:[ebp-0x54]
00660546 . 8D4D C4 lea ecx,dword ptr ss:[ebp-0x3C]
00660549 . FF15 30104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeV>; MSVBVM60.__vbaFreeVar
0066054F . C745 FC 0F000>mov dword ptr ss:[ebp-0x4],0xF
00660556 . FF15 44104000 call dword ptr ds:[<&MSVBVM60.__vbaEnd>] ; MSVBVM60.__vbaEnd
0066055C > 9B wait
0066055D . 68 8B056600 push 中.0066058B
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
太深奥了。。看不懂啊
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
观看了,不是很明白
|
能力值:
( LV8,RANK:120 )
|
-
-
9 楼
谢谢楼主的详细说明
|
能力值:
( LV6,RANK:80 )
|
-
-
10 楼
我明白你的意思 直接把正确的自检验码放入 然后调用检查函数 这样的话 以后的涉及此部分都不用再做处理。
可是自检验码不一定一次进入栈,而且如何得到正确的自检验码也是个问题。是否有下文呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
不是很明白
|