能力值:
( LV13,RANK:1370 )
|
-
-
2 楼
有没有相关的教程
|
能力值:
( LV6,RANK:90 )
|
-
-
3 楼
可能性很多,一般来说你试一下取文件大小的函数
geifilesize
这个函数对付通过比较脱壳前后文件大小进行自校验的很有用~
|
能力值:
( LV12,RANK:660 )
|
-
-
4 楼
试试CreateFileA
|
能力值:
( LV4,RANK:50 )
|
-
-
5 楼
最初由 prince 发布 试试CreateFileA
支持,补一个:fileopen
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
是不是OpenFile?
FILEOPEN没这个啊。
|
能力值:
( LV8,RANK:130 )
|
-
-
7 楼
CreateFileW
_lopen
|
能力值:
( LV4,RANK:50 )
|
-
-
8 楼
碰到好几个软件用常见的都不容易找到关键点。发现用 GetModuleFileNameA好使,下断点后一直f9过每个断点,看哪个断点过后会退出程序,然后ctrl+f2重启,来到刚才f9过后就退出的那个断点处,改用f8下走,密切注意寄存器的值,如果是大小验证,文件大小就会出现在寄存器中,还要注意那些跳转,看哪个跳转后会退出,这样就可以找到关键点了。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
WIN32下破解自校验的几个常用的API
1、CRC校验
CreateFileA
ReadFile
2、文件大小校验
Getfilesize
Setfilepointer
FindFirstFileA(哈哈,这个不常用)
0041D6EA /$ 55 push ebp
0041D6EB |. 8BEC mov ebp,esp
0041D6ED |. 81EC 4>sub esp,140
0041D6F3 |. 8D85 C>lea eax,dword ptr ss:[ebp-140]
0041D6F9 |. 57 push edi
0041D6FA |. 50 push eax ; /pFindFileData
\\如果找到指定的文件,在这个返回数据中,包含了这个文件大小。
0041D6FB |. FF75 0>push dword ptr ss:[ebp+8] ; |FileName
0041D6FE |. FF15 4>call dword ptr ds:[<&kernel32.FindFirstFileA>] ; \FindFirstFileA
0041D704 |. 8BF8 mov edi,eax
0041D706 |. 83FF F>cmp edi,-1
0041D709 |. 75 3F jnz short dumped_2.0041D74A
|
|
|