hongsing
驱动小牛
驱动小牛
  • 注册日期2004-05-22
  • 最后登录2012-04-29
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望8点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
20楼#
发布于:2004-08-30 23:41
关键是要了解RED_spring大哥所说的WIN98的PCB结构,我看了一个外国网站上面有WIN95的,但在98下很多不一样,还是不行。
cicada
驱动小牛
驱动小牛
  • 注册日期2003-12-09
  • 最后登录2008-07-11
  • 粉丝1
  • 关注0
  • 积分74分
  • 威望15点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
21楼#
发布于:2004-09-02 09:33
隐隐约约好像觉得是这样:

98把explore等等这些系统进程在R0里面规定成固定的id了,就像717875这样的5位数,然后可能在每次启动的时候,随机生成1个数和717875进行相加,然后就得出10位的那样424xxxxx

问题是现在我找不到资料,没看到官方怎么说的。所以我就没法搞定id值了。

现在每次操作我都能从ir_pid属性知道当前IFS操作的processid,然后我要对比一下我允许访问的processid表是否有它。可是我的processid表是R3应用程序取的10位processid,所以说我必须知道os是如何把5位的R0进程转换成R3的10位进程id的。这样我就可以直接把合法proceesid表保存数据都放5位R0的processid了

好罗嗦阿,不知道你们懂了么


98下的进程ID号就是进程的句柄值和一个魔数相异或得到的。这个魔数是系统每次启动时随机生成的。具体好像是一个叫做OBFUSCATE的函数。
freecutelei
驱动牛犊
驱动牛犊
  • 注册日期2003-11-12
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
22楼#
发布于:2004-09-08 10:26
谢谢楼上
回去试验一下
cicada
驱动小牛
驱动小牛
  • 注册日期2003-12-09
  • 最后登录2008-07-11
  • 粉丝1
  • 关注0
  • 积分74分
  • 威望15点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
23楼#
发布于:2004-10-16 17:09
解决了没有?解决了给点分吧,我一点专家分都没有啊!!!
dj_ukyo
驱动小牛
驱动小牛
  • 注册日期2003-03-13
  • 最后登录2009-06-02
  • 粉丝0
  • 关注0
  • 积分118分
  • 威望16点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
24楼#
发布于:2004-11-09 15:17
回音呢?
freecutelei
驱动牛犊
驱动牛犊
  • 注册日期2003-11-12
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
25楼#
发布于:2005-01-24 14:19
回音就是不行

呵呵呵
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
26楼#
发布于:2005-01-24 16:02
[quote]隐隐约约好像觉得是这样:

98把explore等等这些系统进程在R0里面规定成固定的id了,就像717875这样的5位数,然后可能在每次启动的时候,随机生成1个数和717875进行相加,然后就得出10位的那样424xxxxx

问题是现在我找不到资料,没看到官方怎么说的。所以我就没法搞定id值了。

现在每次操作我都能从ir_pid属性知道当前IFS操作的processid,然后我要对比一下我允许访问的processid表是否有它。可是我的processid表是R3应用程序取的10位processid,所以说我必须知道os是如何把5位的R0进程转换成R3的10位进程id的。这样我就可以直接把合法proceesid表保存数据都放5位R0的processid了

好罗嗦阿,不知道你们懂了么


98下的进程ID号就是进程的句柄值和一个魔数相异或得到的。这个魔数是系统每次启动时随机生成的。具体好像是一个叫做OBFUSCATE的函数。 [/quote]
确实是这样,这是微软倒的鬼,但这个magic在内存中什么位置呢?
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
27楼#
发布于:2005-01-24 21:07
;@GOTO TRANSLATE


.586P

.MODEL   FLAT, STDCALL

   OPTION   CASEMAP: NONE


   INCLUDE   WINDOWS.inc
   UNICODE   = FALSE
   INCLUDE   APIMACRO.mac

   INCLUDELIB   iKERNEL32.lib
   INCLUDELIB   iUSER32.lib


.DATA?
   xESP     DWORD           ?
   pentry32 PROCESSENTRY32  <>
   Place    SIGN 11 DUP     (?)
  
.CODE
   TEXT     Hex2Str,       </##x/0>
   TEXT     GetCPIDstack,  <Obsfucator via GetCurrentProcessId and stack/0>
   TEXT     GetCPIDkernel, <Obsfucator via GetCurrentProcessId and kernel/0>
   TEXT     GetCTIDstack,  <Obsfucator via GetCurrentThreadId and stack/0>
   TEXT     GetCTIDkernel, <Obsfucator via GetCurrentThreadId and kernel/0>
   TEXT     TH32,          <Obsfucator from Toolhelp32/0>

   Titles   DWORD  GetCPIDstack, GetCPIDkernel, GetCTIDstack, GetCTIDkernel,\
                   TH32


 PrimaryThread:
   MOV      EAX,   DS
   SUB      ECX,   ECX
   TEST     AL ,   100B      ;user 32bit tasks have LDT selectors in 9x
   JE       NotIn9x

   ASSUME   FS:    NOTHING    
   PUSH     OFFSET FaultsON  ;build xFrame (see Infos\SEHall.zip)
   PUSH     FS:    [ECX]
   MOV      FS:    [ECX], ESP
   MOV      xESP,  ESP
   MOV      EDI,   ECX
;-------------------------------------------
   iMOV     EBX,   GetCurrentProcessId

   sWin32   EBX
   XOR      EAX,   [ESP-8]       ;bad because it reads from ESP-??
   sWin32   DisplayObsfucateur
;-------------------------------------------
   sWin32   EBX                  ;this method is used in ATM, ApiHooks, ..
   MOV    ECX,   [EBX+1]
   MOV      EDX,   [ECX]
   XOR      EAX,   [EDX]         ;bad because it reads from kernel space
   sWin32   DisplayObsfucateur
;-------------------------------------------
   iMOV     EBX,   GetCurrentThreadId

   sWin32   EBX
   XOR      EAX,   [ESP-8]       ;bad because it reads from ESP-??
   sWin32   DisplayObsfucateur
;-------------------------------------------
   sWin32   EBX
   MOV    ECX,   [EBX+1]
   MOV      EDX,   [ECX]
   XOR      EAX,   [EDX]         ;bad because it reads from kernel space
   sWin32   DisplayObsfucateur
;-------------------------------------------
   MOV      ESI,   OFFSET pentry32
   ASSUME   ESI:   PTR PROCESSENTRY32
   iWin32   CreateToolhelp32Snapshot, TH32CS_SNAPPROCESS, 0
   MOV      EBX,   EAX
   MOV      [ESI].dwSize, SIZEOF PROCESSENTRY32
   INC      EAX
   JE       TH32Failed
   iWin32   Process32First, EBX, ESI
   PUSH     EAX
   iWin32   CloseHandle, EBX
   POP      EAX
   TEST     EAX,   EAX
   JE       TH32Failed
   MOV      EAX,   [ESI].th32ParentProcessID ; or th32ModuleID
   sWin32   DisplayObsfucateur
;-------------------------------------------
  TH32Failed:
  SmoothEnd:
   POP      FS:    [0]     ;remove xFrame
   POP      ECX            ;remove xFrame
  NotIn9x:
   iWin32   ExitProcess, EAX


  FaultsON:
   MOV      ECX,  [ESP+12]
   ASSUME   ECX:  PTR CONTEXT
   MOV      EDX,  xESP
   MOV      EAX,  ExceptionContinueExecution
   MOV      [ECX].regEip, OFFSET SmoothEnd
   MOV      [ECX].regEsp, EDX
   RET


  DisplayObsfucateur:
   icWin32i wsprintf,   OFFSET Place, sHex2Str, EAX
   iWin32i  MessageBox, NULL, OFFSET Place, Titles[EDI*4], MB_ICONINFORMATION
   INC      EDI
   RET    

END  PrimaryThread

:TRANSLATE
@ECHO OFF
ML    /c /coff /nologo Obsfucator.bat
LINK3 Obsfucator /IGNORE:4078,4060 /nologo /STUB:PEstub.exe /SUBSYSTEM:WINDOWS /MERGE:.idata=.text
DEL   Obsfucator.obj
PAUSE
CLS
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
上一页 下一页
游客

返回顶部