聚星亭

吾笨笨且懒散兮 急须改之而奋进
posts - 74, comments - 166, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

软件安全中的JJXX

记录软件安全中的点点滴滴……
     摘要: 本人收集与网络,不知原作者是谁……

一:序言
下列情况不在讨论之中(没进程)
1 通过CreateRemoteThread Inject代码到另一个进程(有种病毒就用这种方法,实现内存感染的;其实还有更多应用)
2 通过CreateRemoteThread LoadLibray一dll到另一个进程(屏蔽Ctrl+Alt+Del,就是通过这种方法和SetWindowLog实现)


二:进程隐藏
1 Hook/InlineHook Api NtQuerySystemInformation(taskmgr.exe就是用这个函数得到Process list)
2 Hook/InlineHook Api Process32Next
3 把要隐藏的进程的EPROCESS从LIST_ENTRY中摘除
a)ring0下驱动实现,注意:Nt/2000/xp/2003中PID和FLINK在EPROCESS中的offset不尽相同
b)ring3下利用call   阅读全文

posted @ 2009-04-05 17:31 besterChen 阅读(800) | 评论 (0)  编辑 |

     摘要: 说明:本文转载于 : iceboy @ baidu.hi

很久很久以前, 电脑一般是单核的, 即电脑上一般只有一个处理器. 这样, 如果我们要修改一段内核代码, 似乎 IoCreateMdl(), MmBuildMdlForNonPagedPool() / MmLockAndProbePages() 然后 KeRaiseIrqlToDpcLevel() 以后, 就可以很安全地改写内存的数据. 因为系统只有一个 CPU, 这个 CPU 在 Irql >= DPC_LEVEL 的时候不会被调度, 因此在改写代码期间 eip 不可能指向被 hook 的代码, 但是到了多处理器电脑上这一切都变了.

当一个 cpu 在 DPC_LEVEL 的时候, 它是不会被调度的. 问题是, 系统中有不止一个 cpu, 其它的 cpu 还是想干啥干啥. 如果用上述方法, 其它 cpu 很有可能在你代码修改到一半的时候去执行, 就会造成系统崩溃, 蓝屏重启.
  阅读全文

posted @ 2009-03-30 17:33 besterChen 阅读(1213) | 评论 (0)  编辑 |

     摘要: 【前言】
夜里失眠,到这个论坛上泡,发现这个编程版块不是很正规,因为我认为的好的编程版块应该是以讨论分享及解决具体问题而存在的,而不是想咱论坛这样:
救助的问题不明确,分享就是单纯的分享源码,分享XX成品之类……

【废话】
前几天研究外挂了,就我这点破水平,脱机啊,封包挂啊之类的与我无缘了,只能做做内挂,满足一下自己的虚荣心……
这里大概的给大家分享一下做内挂编程方面的知识,高手飘过,跟我一样菜的朋友多多提出您的宝贵意见,相互学习、共勉!!!
当然了,也希望这篇文章能骗个精华之类的东东,作为我炫耀的资本~~~~
内挂,其实不难的,这里主要分享远程线程注入相关的东西,至于其它什么游戏找CALL,功能CALL调用相关的东西,可以参考一下我写的:
赚取权限第三贴,一个有意思的keygenMe的逆向分析
其实道理都是相同的,当然,如果您非常想要了解相关的东西,请参考别人大牛写的文章,这里不做详细讨论。  阅读全文

posted @ 2009-02-15 03:02 besterChen 阅读(1705) | 评论 (0)  编辑 |