sevp 发表于 2015-5-26 13:36:38

AheadLib for x64

本帖最后由 sevp 于 2015-5-26 20:33 编辑

仿照着aheadlib写了生成x64劫持的版本
程序没做什么容错处理,但是针对一般的x64劫持应该是没问题的,当然不能跟Nisy老大的比o(∩_∩)o ~~
老大的我也没用过因为没权限没金币。。。。


使用也很方便,直接拖进64位dll进去生成的文件添加到工程中即可,不会的我打包了一个录像


解压密码
bbs.chinapyg.com

PYG官方论坛 发表于 2015-5-26 14:14:04

感谢分享,不过实现上我没看明白这个是什么意思


.flat:0000000000000000 AsmFunc1      proc near
.flat:0000000000000000
.flat:0000000000000000 var_8         = qword ptr -8
.flat:0000000000000000 arg_20          = qword ptr28h
.flat:0000000000000000
.flat:0000000000000000               sub   rsp, 8          ; .flat_0
.flat:0000000000000004               mov   , rcx
.flat:0000000000000009               mov   rax,
.flat:000000000000000E               mov   , rax
.flat:0000000000000012               retn
.flat:0000000000000012 AsmFunc1      endp ; sp-analysis failed


.flat:0000000000000013 AsmFunc2      proc near
.flat:0000000000000013               pop   rcx
.flat:0000000000000014               jmp   rax
.flat:0000000000000014 AsmFunc2      endp ; sp-analysis failed
.flat:0000000000000014
.flat:0000000000000014 _flat         ends


ALCDECL _AheadLib_Noname33(void)
{
        AsmFunc1();
        GetAddress(MAKEINTRESOURCEA(33));
        AsmFunc2();
}

sevp 发表于 2015-5-26 14:21:09

PYG官方论坛 发表于 2015-5-26 14:14
感谢分享,不过实现上我没看明白这个是什么意思

因为x64不能定义naked函数

转发的时候为了保证传递参数的寄存器不变,因为下面获取地址的函数会修改ecx的值,我就事先保存了下

其实也可以从返回后的堆栈中再读取的,貌似这样也不用硬编码那个0x28...

menglv 发表于 2015-5-26 15:45:27

这个要支持,不过怎么会显示那么多函数名没有呢,难道是历举?

menglv 发表于 2015-5-26 15:45:33

这个要支持,不过怎么会显示那么多函数名没有呢,难道是历举?

wxlinsr 发表于 2015-5-26 18:02:25

支持一下~!!~!

ctp518 发表于 2015-5-28 15:45:28

32位在那儿咯?没找到
页: [1]
查看完整版本: AheadLib for x64