查看: 3262|回复: 7

[其他发布] QQ本地会员补丁汇编源码

  [复制链接]
TA的每日心情
奋斗2024-8-13 08:57

签到天数: 415 天

连续签到: 1 天

[LV.9]青行灯

发表于 2013-8-24 16:35:00 | 显示全部楼层 |阅读模式 眷恋

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?创建账号

×
  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;
  3. ;  QQ本地会员 源代码 [通过msimg32.dll劫持启动] shuax 2011.05.21
  4. ;  msimg32.Asm
  5. ;
  6. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  7. .586
  8. .model flat, stdcall
  9. option casemap :none
  10.   
  11.   
  12.   
  13. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  14. ;头文件
  15. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  16. include          windows.inc
  17. include          kernel32.inc
  18. includelib        kernel32.lib
  19.   
  20.   
  21. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  22. ;全局变量
  23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  24. .data
  25. ;初始化的变量
  26. szCopyright        db        'QQLocalVIP by shuax',0
  27.   
  28. szMsimg32        db        '\msimg32.dll',0
  29. szKernelUtil      db        'KernelUtil.dll',0
  30.   
  31. szvSetDdrawflag      db        'vSetDdrawflag',0
  32. szDllInitialize      db        'DllInitialize',0
  33. szGradientFill      db        'GradientFill',0
  34. szAlphaBlend      db        'AlphaBlend',0
  35. szTransparentBlt    db        'TransparentBlt',0
  36.   
  37. szGetSelfUin      db        '?GetSelfUin@Contact@Util@@YAKXZ',0
  38. szIsFlagValid      db        '?IsFlagValid@Contact@Util@@YAHKK@Z',0
  39.   
  40. ;声明函数指针
  41. p_GetSelfUin      typedef proto   C          ;使用__cdecl
  42. p_IsFlagValid      typedef proto  C:DWORD,:DWORD    ;使用__cdecl
  43.   
  44. g_GetSelfUin      typedef ptr   p_GetSelfUin
  45. g_IsFlagValid      typedef ptr    p_IsFlagValid
  46.   
  47. GetSelfUin        g_GetSelfUin  0;判断是否是自己
  48. IsFlagValid        g_IsFlagValid  0
  49.   
  50. .data?
  51. ;未初始化的变量
  52. szSysDLL        BYTE MAX_PATH  DUP(?)
  53.   
  54. g_msimg32        dd        ?
  55. g_kernelutil      dd        ?
  56.   
  57. g_vSetDdrawflag      dd        ?
  58. g_DllInitialize      dd        ?
  59. g_GradientFill      dd        ?
  60. g_AlphaBlend      dd        ?
  61. g_TransparentBlt    dd        ?
  62.   
  63. g_bak          BYTE 10      DUP(?)
  64. g_jmp          BYTE 5      DUP(?)
  65.   
  66. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  67. ;代码
  68. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  69. .code
  70.   
  71. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  72. ;导出函数
  73. vSetDdrawflag proc
  74.   jmp g_vSetDdrawflag
  75. vSetDdrawflag endp
  76. DllInitialize proc
  77.   jmp g_DllInitialize
  78. DllInitialize endp
  79. GradientFill proc
  80.   jmp g_GradientFill
  81. GradientFill endp
  82. AlphaBlend proc
  83.   jmp g_AlphaBlend
  84. AlphaBlend endp
  85. TransparentBlt proc
  86.   jmp g_TransparentBlt
  87. TransparentBlt endp
  88.   
  89. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  90. ;本地会员
  91. MyIsFlagValid proc C QQUIN:DWORD, Flag:DWORD
  92. .IF Flag==4;是否是判断会员
  93. .IF GetSelfUin!=0
  94.       invoke GetSelfUin
  95. .IF QQUIN==eax          ;判断是否是自己,如果是则返回TRUE
  96.         mov eax, TRUE
  97.         jmp original
  98. .ENDIF
  99. .ENDIF
  100. .ENDIF
  101.   
  102. .IF IsFlagValid!=0
  103.     invoke IsFlagValid,QQUIN,Flag;调用原始函数
  104. .ENDIF
  105.   
  106. ;返回
  107. original:
  108.   mov esp,ebp   ;使用__cdecl
  109.   pop ebp
  110.   retn
  111. MyIsFlagValid endp
  112.   
  113. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  114. ;5字节inline hook
  115. HookCode proc TargetProc:DWORD, NewProc:DWORD
  116. ;参数检查
  117. .IF TargetProc == 0
  118.     ret
  119. .endif
  120.   
  121. ;使得g_bak区块可执行
  122. mov ecx,offset g_bak
  123.   mov IsFlagValid,ecx
  124.   invoke VirtualProtect,IsFlagValid,10,PAGE_EXECUTE_READWRITE,0
  125.   
  126. ;读取前5个字节
  127. invoke ReadProcessMemory,-1,TargetProc, IsFlagValid, 5, NULL;
  128. .IF eax!=0
  129. ;如果已经被hook过,则修正JMP偏移
  130. mov ecx,dword ptr [g_bak]
  131. .IF cl==0E9h
  132.       mov ecx,dword ptr [g_bak+1]
  133.       add ecx,TargetProc
  134. sub ecx,offset g_bak
  135.   
  136.       mov dword ptr [g_bak+1],ecx
  137. .endif
  138.   
  139. ;写入还原
  140. mov ecx,offset g_bak
  141.   
  142.     add ecx,5
  143.     mov byte ptr [ecx],0E9h
  144.     inc ecx
  145.   
  146.     mov eax,TargetProc
  147. sub eax,ecx
  148.     inc eax
  149.     mov dword ptr [ecx],eax
  150.   
  151. ;写入跳转
  152. mov eax,offset g_jmp
  153.     mov byte ptr [eax],0E9h
  154.     inc eax
  155.   
  156.     mov ecx,NewProc
  157. sub ecx,TargetProc
  158. sub ecx,5
  159.     mov dword ptr [eax],ecx
  160.   
  161.     invoke WriteProcessMemory,-1,TargetProc, addr g_jmp, 5, NULL
  162. .endif
  163.   ret
  164. HookCode endp
  165.   
  166. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  167. ;DllMain
  168. DllEntry proc hModule:HINSTANCE, dwReason:DWORD, lpReserved:DWORD
  169. .IF dwReason == DLL_PROCESS_ATTACH
  170. ;获得系统msimg32.dll地址
  171. invoke GetSystemDirectory,addr szSysDLL, MAX_PATH
  172.     invoke lstrcat,addr szSysDLL, addr szMsimg32
  173.     invoke LoadLibrary,addr szSysDLL
  174. .IF eax!=0
  175. ;获得各个函数地址
  176. mov g_msimg32,eax
  177.   
  178.       invoke GetProcAddress,g_msimg32,addr szvSetDdrawflag
  179.       mov g_vSetDdrawflag, eax
  180.   
  181.       invoke GetProcAddress,g_msimg32,addr szDllInitialize
  182.       mov g_DllInitialize, eax
  183.   
  184.       invoke GetProcAddress,g_msimg32,addr szGradientFill
  185.       mov g_GradientFill, eax
  186.   
  187.       invoke GetProcAddress,g_msimg32,addr szAlphaBlend
  188.       mov g_AlphaBlend, eax
  189.   
  190.       invoke GetProcAddress,g_msimg32,addr szTransparentBlt
  191.       mov g_TransparentBlt, eax
  192.   
  193. ;写入本地会员hook
  194.       invoke GetModuleHandle,addr szKernelUtil
  195. .IF eax!=0
  196.         mov g_kernelutil,eax
  197.   
  198.         invoke GetProcAddress,g_kernelutil,addr szGetSelfUin
  199.         mov GetSelfUin, eax
  200.   
  201.         invoke GetProcAddress,g_kernelutil,addr szIsFlagValid
  202.         invoke HookCode,eax,MyIsFlagValid
  203.   
  204. ;打印版权信息
  205. invoke OutputDebugString,addr szCopyright
  206. .ENDIF
  207. .ENDIF
  208. .ENDIF
  209.   mov eax, TRUE
  210.   ret
  211. DllEntry Endp
  212.   
  213. End DllEntry

  214. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;  QQ本地会员 源代码 [采用msimg32.dll劫持] shuax 2011.05.21;  msimg32.Def;  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;LIBRARY "msimg32.DLL"EXPORTS    vSetDdrawflag    DllInitialize    GradientFill    AlphaBlend    TransparentBlt
复制代码

评分

参与人数 2贡献 +8 金钱 +46 收起 理由
liwanglin12 -2 -4 无聊……
三个小石头 + 10 + 50 赞一个!

查看全部评分

TA的每日心情
奋斗2022-7-24 22:49

签到天数: 291 天

连续签到: 1 天

[LV.8]荒川之主

发表于 2013-8-24 17:35:30 | 显示全部楼层 Sealt
虽然看不懂 但也不知道有什么用
回复

使用道具 举报

TA的每日心情
开心2016-7-30 23:28

签到天数: 302 天

连续签到: 1 天

[LV.8]荒川之主

发表于 2013-8-24 20:01:56 | 显示全部楼层 836955823
11年耍下的源码..还有用?
回复

使用道具 举报

TA的每日心情
奋斗2024-8-13 08:57

签到天数: 415 天

连续签到: 1 天

[LV.9]青行灯

 楼主| 发表于 2013-8-24 20:49:25 | 显示全部楼层 眷恋
836955823 发表于 2013-8-24 20:01
11年耍下的源码..还有用?

必须有用,修改下就好







    神奇的:Opera/9.80 (Windows NT 6.2; WOW64; U; OperaDot; zh-cn) Presto/2.10.229 Version/11.64  (zh-cn)
    ┈─━ 你的幸福是我的快乐!(+^_^*)
    ——┃俺为尾巴代言←
             
    回复

    使用道具 举报

    TA的每日心情
    开心2026-7-18 18:59

    签到天数: 1954 天

    连续签到: 1 天

    [LV.Master]酒吞童子

    发表于 2013-8-24 21:45:38 | 显示全部楼层 baobaoguai
    耍X很了不起的
    回复

    使用道具 举报

    TA的每日心情
    开心2026-7-18 18:59

    签到天数: 1954 天

    连续签到: 1 天

    [LV.Master]酒吞童子

    发表于 2013-8-24 21:58:45 | 显示全部楼层 baobaoguai
    知道怎么改有用也很了不起
    回复

    使用道具 举报

    TA的每日心情
    郁闷2022-10-24 01:17

    签到天数: 889 天

    连续签到: 1 天

    [LV.10]茨木童子

    发表于 2013-8-24 23:19:32 | 显示全部楼层 亦人の季节
    围观,不明觉厉
    回复

    使用道具 举报

    TA的每日心情
    擦汗2023-10-4 10:37

    签到天数: 221 天

    连续签到: 1 天

    [LV.7]雪女

    发表于 2013-8-26 11:08:58 | 显示全部楼层 菜鸟求关照
    有易语言的吗
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 创建账号

    本版积分规则

    Powered by Discuz! X5.0 © 2012-2026 iYa.App.

    在本版发帖返回顶部