ps520 发表于 2010-10-7 14:08

[Fx_LpK]Anti ZP_Anti-LpK

本帖最后由 ps520 于 2010-10-7 14:10 编辑

.版本 2

.子程序 Anti_LpK, , 公开, Supported by Fx_LpK.注意:在使用本代码以后不可以再Hook CreateFileA

hook.安装APIHOOK (“kernel32.dll”, “CreateFileA”, 到整数 (&myCreateFileA))' Hook CreateFileA,就不让你找到checksum.


.子程序 myCreateFileA, 整数型
.参数 打开文件名, 文本型, , lpFileName要打开的文件的名字
.参数 访问权限, 整数型, , dwDesiredAccess如果为 GENERIC_READ 表示允许对设备进行读访问;如果为 GENERIC_WRITE 表示允许对设备进行写访问(可组合使用);如果为零表示只允许获取与一个设备有关的信息
.参数 共享方式, 整数型, , dwShareMode
.参数 安全特性, 整数型, , lpSecurityAttributes是指向SECURITY_ATTRIBUTES结构的指针,指定了目录的安全属性,但要求文件系统支持如NTFS的格式。Windows 98不支持此属性,在函数调用时应设置为NULL
.参数 创建方式, 整数型, , dwCreationDispositiondwCreationDisposition Long下述常数之一:
.参数 文件属性, 整数型, , dwFlagsAndAttributesdwFlagsAndAttributes Long一个或多个下述常数
.参数 从文件复制文件属性, 整数型, , hTemplateFile如果不为零则指定一个文件句柄.新文件将从这个文件中复制扩展属性
.局部变量 ret, 整数型

.判断开始 (寻找文本 (到小写 (打开文件名), “lpk.dll”, , 假) ≠ -1)
    返回 (-1)
.默认



.判断结束
hook.卸载APIHOOK ()
ret = CreateFileA (打开文件名, 访问权限, 共享方式, 安全特性, 创建方式, 文件属性, 从文件复制文件属性)
hook.安装APIHOOK (“kernel32.dll”, “CreateFileA”, 到整数 (&myCreateFileA))
返回 (ret)


记得把CreateFileA这个API声明复制到你的lpk代码里。

Lpk没落了,也没准备升级Fx_LpK了。发个东东宣布正式停止Fx_LpK的更新工作吧。


.版本 2

.DLL命令 CreateFileA, 整数型, "kernel32.dll", "CreateFileA", , 创建文件_,这是一个全功能的例程可打开和创建文件、管道、邮槽、通信服务、设备以及控制台 ——返回值:如执行成功则返回文件句柄.INVALID_HANDLE_VALUE表示出错会设置GetLastError.即使函数成功但若文件存在且指定了CREATE_ALWAYS 或 OPEN_ALWAYSGetLastError也会设为ERROR_ALREADY_EXISTS 例子:查看例程API程序自杀
    .参数 打开文件名, 文本型, , lpFileName要打开的文件的名字
    .参数 访问权限, 整数型, , dwDesiredAccess如果为 GENERIC_READ 表示允许对设备进行读访问;如果为 GENERIC_WRITE 表示允许对设备进行写访问(可组合使用);如果为零表示只允许获取与一个设备有关的信息
    .参数 共享方式, 整数型, , dwShareMode
    .参数 安全特性, 整数型, , lpSecurityAttributes是指向SECURITY_ATTRIBUTES结构的指针,指定了目录的安全属性,但要求文件系统支持如NTFS的格式。Windows 98不支持此属性,在函数调用时应设置为NULL
    .参数 创建方式, 整数型, , dwCreationDispositiondwCreationDisposition Long下述常数之一:
    .参数 文件属性, 整数型, , dwFlagsAndAttributesdwFlagsAndAttributes Long一个或多个下述常数
    .参数 从文件复制文件属性, 整数型, , hTemplateFile如果不为零则指定一个文件句柄.新文件将从这个文件中复制扩展属性



.版本 2

.程序集变量 hook, ApiHook

ps520 发表于 2010-10-7 14:10

使用方法:
在Lpk中,引用Fx_LpK
在程序集变量处申请变量,名称为hook 类型是apihook
然后找到CreateFileA的API声明
复制到源码
即可完成编译
调用Anti_LpK()即可过ZP的lpk校验

ps520 发表于 2010-10-7 14:10

把其他代码也贴下。

oo789458 发表于 2010-10-7 14:14

谢谢分享 LZ辛苦

lkou 发表于 2010-10-7 14:18

原来是检测目录下面带不带LPK的,LPK没落了,就等UPS10上场了

ps520 发表于 2010-10-7 17:23

原来是检测目录下面带不带LPK的,LPK没落了,就等UPS10上场了
lkou 发表于 2010-10-7 14:18 http://www.52pojie.cn/images/common/back.gif


   usp10也是有模板的。。不过我给弄丢了。

真对不起伟大的xxxxx

j4444 发表于 2010-10-8 15:20

.版本 2

APIHOOK类.暂停 ()
.如果真 (到大写 (aa) = “LPK.DLL”)
    APIHOOK类.卸载 ()
    返回 (-1)
.如果真结束
返回值 = CreateFileA (aa, bb, cc, dd, ee, ff, gg)
APIHOOK类.继续 ()
返回 (返回值)

ps520 发表于 2010-10-9 22:32


j4444 发表于 2010-10-8 15:20 http://www.52pojie.cn/images/common/back.gif


    一点都不方便。

暂停和取消Hook是一份代码。有什么意思?


另外Fx_LpK也不支持那些忽悠人的名称

真好听

打开源码看看暂停就知道了

j4444 发表于 2010-10-9 23:39

本帖最后由 j4444 于 2010-10-9 23:53 编辑

回复 8# ps520
我想表达的是每次安装apihook都读取dll入口地址,再找函数地址,最后修改等等也一样累赘,效率问题!!至少暂停和继续代码单纯一个修改地址比安装快!当然你可以忽略那么微乎其微的时间差别!

陈星元 发表于 2011-1-19 11:32

牛人呀!!!!!!!!!!!!!111
页: [1] 2
查看完整版本: [Fx_LpK]Anti ZP_Anti-LpK