|
|
|
[求助]关于 HackShield 程序
高手进来帮忙下好么? |
|
|
|
|
|
[求助]关于 HackShield 程序
下面是我查到的一个文章 HShield更新了,过时的文章了,所以发出来。 逆向hackshield的一些总结 作者:Isaiah 感谢shoooo的指点。 仅仅出于对技术的好奇,请勿用于商业目的。 转载请保持文章完整性 hackshield是一款网游反黑客系统。 1.主要功能在EHSvc.dll中。 2.通过驱动来修改SSDT进行反调试。驱动文件是作为附加数据绑在EHSvc.dll文件尾部。动态的解出,加载完毕马上删除(大概存在几秒钟就被删掉了)。 目前的成果: 1.让EHSvc.dll被脱壳后,也能通过hackshield系统的自效验。 2.去掉反调试。 函数的作用: #1:初始化 return value: 0 #2:加载驱动 return value: 0 #10:初步的自效验 return value: 0 #14:内存效验. 临时的解决方法如下: 1.修改EHSvc.dll的#10函数让其eax永远返回0. 2.修改EHSvc.dll的#2函数让其不加载驱动,并且eax返回0 上面的方法不是很好。 下面是#1函数的流程分析: 9个参数 0.属于Freestyle模块的函数的地址,估计是freestyle提供的回调函数。 1.验证主程序freestyle.exe文件名的key=3ECh.(发现只要文件名前面为freestyle就可以通过) 2.主程序文件名Hash后的散列.用peid算法的识别插件显示使用的hash函数为HAVAL-128 3.DWORD标志字段,每一位都有含义.目前意义不祥 4.注册表中packver的键值,本机为3032601h 5.一个标志字段.freestyle.exe传过来的值为2.和驱动加载有关,具体用途不明.这个值要影响一系列的标志位. 6. Hackshield Ehsvc.dll的文件名(带路径) 7.GetTickCount的地址 8.GetSystemTime的地址 大概的流程: 首先在注册表HKCU下创建Software\\AhnLab\\HShield项.如过存在就打开. 将Ehsvc.dll的路径信息写入默认的键值,将3032601h键值写入 packver 然后查询log键的值,但是我的注册表里面没有这个键.(奇怪的地方),这个log键关系到一个全局变量的值. 接下来: 用参数3当作标志 第9位是否置1 如果是则设置一系列全局变量----这里必为1 根据全局变量,判断#1是否已经成功的调用过. 判断是否传入了回调函数的地址 判断是否传入了主程序文件名的Hash值 如果通过 1.检查当前运行主程序的文件名是否和原始的一样 用参数3当作标志 第15位是否置1 如果是则设置一系列全局变量----这里必为0 不为0,将要启动一个新的线程,作用不明. 用参数3当作标志 第10位是否置1 如果是则设置一系列全局变量----这里必为0 不为0也要执行一些不明作用的操作. 判断操作系统,如果是2000以上,操作系统版本全局变量=1 |
|
|
|
|
|
|
|
[求助]关于 HackShield 程序
是骑士。但不是彩虹骑士! |
|
|
|
|
|
穿山甲方法!请大大们指教下!
我找了好长时间才找到个英文版本的 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值