自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (2)
  • 收藏
  • 关注

原创 DLL注入技术之三注入shellcode

以前两篇博客使用的注入方式都是远程调用了函数:LoadLibraryA,现在使用一种方法是写入一段shellcode然后远程运行它,shellcode会先从peb链表中找到kernel32.dll,然后查找其导出表,找到LoadLibraryA这个函数并调用,以达到加载DLL的目的。要讲的是我把dll的路径字符串配置到了shellcode的尾部,这样改动dll的路径时可以不用变动shellcode。我这里有32位的shellcode与64位的shellcode,都是久经考验过的代码。

2024-01-05 23:01:27 623 1

原创 DLL注入技术之二启动进程时注入

这篇博客其实和上一篇差不多,上一篇讲是进程在完全运行时注入,这一篇是在启动进程时,先暂停了进程,然后注入了DLL后,再运行进程。这次就不传工程了,大家可以看我上一篇的文章,里面有个工程的链接。如果有什么问题的话,可以联系我的QQ:403887828。传入参数:CREATE_SUSPENDED,这样进程就会暂停住。第二步就是使用远程线程注入DLL的方法,将 DLL注入到进程里。第三步就是恢复目的进程执行。

2024-01-05 01:13:37 459 1

原创 DLL注入技术之一远程线程注入

这里要求打开进程的权限必须要有:PROCESS_VM_OPERATION,需要在目标进程里申请内存;这个代码里用到了sp_unique_ptr,这是自己实现的一个智能指针,所以我再传一个完整的工程上来,可以完整的编译,大家有什么需要交流的,可以加我QQ:403887828。这是一个古老的技术,网上也有大批的文章与代码,我这里只是再重新实现一次,力求的优点是可复用,代码整洁,可以让网友在需要的时候,直接把代码贴上就可以使用。注入的第三步是做一些收尾工作,将申请的内存释放掉,将进程句柄关掉。

2024-01-03 20:41:11 425 1

原创 LeetCode里马比赛的算法

void HorseRace(){ int horses[36]{}; for (int i = 0; i < 36; i++) { horses[i] = rand(); //随机马匹 } //分为6组,进行6次比赛,horses[i*6]是每组的冠军 for (int i = 0; i < 6; i++) { std::sort(&horses[i * 6], &ho...

2022-05-11 23:32:46 150

原创 PP保护5:中断与DebugPort

PP保护会处理中断1与中断3,试了一早上恢复中断表,结果都是重启,于是改成跳转,在PP保护的中断上写个jmp,跳到系统的中断处理上,就可以了. 先要找对代码的检测,在这个位置,找到它NOP掉就行了: 然后写跳转: PP保护还对进程结构体的DebugPort做了检测,如果发现不为零,也重启,我找到了它存放EPROCESS->DebugPort的偏移,把这个值改成EPROCESS->ExitTim

2017-03-06 13:27:41 716

原创 PP保护4:DbgkpProcessDebugPortMutex与DbgkDebugObjectType

PP保护对DbgkpProcessDebugPortMutex进行了处理,在其count里不停写入100,造成的后果就是OD一打开,就卡死了. PP保护还会遍历OBJECT,如果发现存在有DEBUG_OBJECT类型的OBJECT,就直接重启了。 所以要处理它们,处理互斥体的是这样的,自己申请一段内存,放在PP保护写入的地址处,然后把真正的MUTEX释放掉就OK了: 处理DbgkDebug

2017-03-05 20:46:35 1555

原创 PP保护3:HideFromDebugger

PP保护也会设置游戏线程的HideFromDebugger,不过它不是调用ZwSetInformationThread来设置,是用驱动遍历了游戏线程,直接线程的ETHREAD. 遍历线程的时候,它用到了PsLookupThreadByThreadId这个函数,所以我们要hook住这个函数,如果确定了当前是PP保护在调用这个函数,那么就把得到的线程对象的hidefromdebugger位去掉,切返回

2017-03-04 18:10:23 1219

原创 PP保护2:与调试相关的四个内核函数

看过《软件调试》一书的人都知道这几个内函数的重要性,它们是:NtCreateDebugObject,NtDebugActiveProcess,NtDebugContinue,NtWaitForDebugEvent 这几个函数被PP保护给inline hook,对付的办法是用SSDT对抗,直接跳过函数开头的jmp. 这里有个取巧的办法就是,PP保护inline hook了这四个函数,肯定在它的内存

2017-03-04 15:13:06 653

原创 PP保护1:读写进程内存

与众多保护一样,PP保护也是禁止游戏进程被打开的,像OpenProcess与Read/WriteProcessMemory内核的函数也是处理过的. 这几个函数是ssdt hook. 用windbg打开NtOpenProcess的hook,可以看到: PP会判断第二个参数与0x30做或运算,如果等于0的话,直接就跳走了.所以我们的解决办法是,inline NtOpenProcess,对这

2017-03-03 23:59:58 903

原创 让完美时空的游戏运行在vmware里

完美的游戏,有的会加一个保护:pp_data0,它会检测当前是否运行在虚拟机里. 检测方法有两种:1 检测系统内的驱动 2 调用中断.具体代码大家可以去百度. 用二进制工具打开pp_data0,可以看到,它检测了这些驱动: 将这些sys的名字改掉即可; 可以搜索”hxmv”,这是用中断的方法检测: 这里也改掉. 将改掉的pp_data0,改名为pp_data1,放在原来的目录里.

2017-03-02 21:36:43 828

DLL注入技术之一远程线程注入源码

widows平台下DLL注入的源码,启动远程线程的方法,力求代码简洁可复用。

2024-01-03

淘客宝截推广ID

截取淘宝客推广ID,多用于网吧增值。

2012-08-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除