• 【旧文章搬运】修改已加载模块的名称和路径


    原文发表于百度空间,2008-7-31
    ==========================================================================

    突然想起来的,修改PEB 能改掉EXE的路径,那么加载的DLL呢?

    于是,马上动手实验了一下,遍历PEB中的模块列表双链,找到user32.dll后,修改其映像名和路径.具体信息在下面这个结构里:

    typedef struct _LDR_MODULE
    {
    LIST_ENTRY          InLoadOrderModuleList;
    LIST_ENTRY          InMemoryOrderModuleList; 
    LIST_ENTRY          InInitializationOrderModuleList; 
    void*               BaseAddress; 
    void*               EntryPoint;   
    ULONG               SizeOfImage;
    UNICODE_STRING      FullDllName; //全路径
    UNICODE_STRING      BaseDllName; //模块名称
    ULONG               Flags;
    SHORT               LoadCount;
    SHORT               TlsIndex;
    HANDLE              SectionHandle;
    ULONG               CheckSum;
    ULONG               TimeDateStamp;
    } LDR_MODULE, *PLDR_MODULE

    代码比较简单,马上写完实验了一下,结果以前断链能过的全过了,myGOD~
    也就不一一抓图上来了,贴个狙剑的图(好像狙剑总是自己从路径中按来截取文件名)

    RKU的(彻底骗过):

    一如既往的过不了IceSword,看来人家的ZwQueryVirtualMemory果然比较好使.
    刚发现的,断链大法对RKU竟然也好使,呵呵(之前在RKU的进程菜单中没注意到"View Process's DLL"这一项,faint~)

    要隐藏模块还是断链吧~

    ====================================================================================

    后记:在调戏ARK的路上不断成长。。。

  • 相关阅读:
    关于前端开发中的“收口”思想
    Ajax 完整教程(转载)
    GitHub与Git指令入门
    自制一个H5图片拖拽、裁剪插件(原生JS)
    程序猿如何“智斗”产品经理
    Spark 的调度器
    Spark shuffle 过程
    Spark on Yarn 流程
    Spark shuffle 相关参数调优
    Spark shuffle 相关参数调优(带记忆)
  • 原文地址:https://www.cnblogs.com/achillis/p/10179912.html
Copyright © 2020-2023  润新知