急 跪求你们了机器码!!!急用

请登陆后使用
只需一步,快速开始
吧友自助信息发布区,请自行甄别
查看: 503|回复: 5
跪求以前改IOS设备机器码的那个软件
跪求IOS设备越狱后一键就可以改机器码的那个设备
或者电脑上安装的安卓模拟器可以修改成新设备的软件
确切点说叫做一键修改串号
008 越狱才能用
<p id="rate_036" onmouseover="showTip(this)" tip="你的帖子对我太有用了,太谢谢你了&果果 + 2
" class="mtn mbn">
重要信息提醒 /1
双十一红包点击领取:1元、2元、5元、1111元;每天可领,点击这里领取>>>
Powered by如何获取电脑机器码?200分急求!
Description of your first forum.
19 篇帖子 & 分页:1 / 2 &
由 无名爱好者 & 星期三, 日 17:40
由 m8858 & 星期三, 日 18:04
何为机器码? &CPU? &MAC? &硬盘ID? &还是...?
由 tkpig & 星期三, 日 18:06
你自己生成吧。取硬盘分区码,CUP GUID,显卡参数,等等,综合在一起,然后自己生成就好了
由 无名爱好者 & 星期四, 日 16:11
那如何取硬盘序列号或分区码、cpu guid、显卡等参数?谢谢!
由 白河愁 & 星期四, 日 17:09
取了也没用,一hook就模拟。
由 appfirst & 星期二, 日 15:07
unit GetSystemIinterfaceuses& Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,& StdCtype& TSrbIoControl = packed record& & HeaderLength : ULONG;& & Signature & &: Array[0..7] of C& &
out & & &: ULONG;& & ControlCode &: ULONG;& & ReturnCode & : ULONG;& & Length & & & : ULONG;&& SRB_IO_CONTROL = TSrbIoC& PSrbIoControl = ^TSrbIoC& TIDERegs = packed record& & bFeaturesReg & & : B // Used for specifying SMART "commands".& & bSectorCountReg &: B // IDE sector count register& & bSectorNumberReg : B // IDE sector number register& & bCylLowReg & & & : B // IDE low order cylinder value& & bCylHighReg & & &: B // IDE high order cylinder value& & bDriveHeadReg & &: B // IDE drive/head register& & bCommandReg & & &: B // Actual IDE command.& & bReserved & & & &: B // reserved. &Must be zero.&& IDEREGS & = TIDER& PIDERegs &= ^TIDER& TSendCmdInParams = packed record& & cBufferSize &: DWORD;& & irDriveRegs &: TIDER& & bDriveNumber : B& & bReserved & &: Array[0..2] of B& & dwReserved & : Array[0..3] of DWORD;& & bBuffer & & &: Array[0..0] of B&& SENDCMDINPARAMS & = TSendCmdInP& PSendCmdInParams &= ^TSendCmdInP& TIdSector = packed record& & wGenConfig & & & & & & & & : W& & wNumCyls & & & & & & & & & : W& & wReserved & & & & & & & & &: W& & wNumHeads & & & & & & & & &: W& & wBytesPerTrack & & & & & & : W& & wBytesPerSector & & & & & &: W& & wSectorsPerTrack & & & & & : W& & wVendorUnique & & & & & & &: Array[0..2] of W& & sSerialNumber & & & & & & &: Array[0..19] of C& & wBufferType & & & & & & & &: W& & wBufferSize & & & & & & & &: W& & wECCSize & & & & & & & & & : W& & sFirmwareRev & & & & & & & : Array[0..7] of C& & sModelNumber & & & & & & & : Array[0..39] of C& & wMoreVendorUnique & & & & &: W& & wDoubleWordIO & & & & & & &: W& & wCapabilities & & & & & & &: W& & wReserved1 & & & & & & & & : W& & wPIOTiming & & & & & & & & : W& & wDMATiming & & & & & & & & : W& & wBS & & & & & & & & & & & &: W& & wNumCurrentCyls & & & & & &: W& & wNumCurrentHeads & & & & & : W& & wNumCurrentSectorsPerTrack : W& & ulCurrentSectorCapacity & &: ULONG;& & wMultSectorStuff & & & & & : W& & ulTotalAddressableSectors &: ULONG;& & wSingleWordDMA & & & & & & : W& & wMultiWordDMA & & & & & & &: W& & bReserved & & & & & & & & &: Array[0..127] of B&& PIdSector = ^TIdSconst& IDE_ID_FUNCTION = $EC;& IDENTIFY_BUFFER_SIZE & & & = 512;& DFP_RECEIVE_DRIVE_DATA & & & &= $;& IOCTL_SCSI_MINIPORT & & & & & = $;& IOCTL_SCSI_MINIPORT_IDENTIFY &= $001b0501;& DataSize = sizeof(TSendCmdInParams)-1+IDENTIFY_BUFFER_SIZE;& BufferSize = SizeOf(SRB_IO_CONTROL)+DataS& W9xBufferSize = IDENTIFY_BUFFER_SIZE+16;function GetIdeDiskSerialNumber : SFunction GetCPUID:SimplementationFunction GetCPUID:S& & function GetCpuId:& & var& & & temp:& & begin& & & asm& & & & PUSH & &EBX& & & & PUSH & &EDI& & & & MOV & & EDI,EAX& & & & MOV & & EAX,1& & & & DW & & &$A20F& & & & MOV & & TEMP,EDX& & & & POP & & EDI& & & & POP & & EBX& & && & & result:=& &begin& Result:=IntToHex(GetCpuId,8);procedure ChangeByteOrder( var D Size : Integer );& var ptr : PC& & & i : I& & & c : C& begin& & ptr := @D& & for i := 0 to (Size shr 1)-1 do& & begin& & & c := ptr^;& & & ptr^ := (ptr+1)^;& & & (ptr+1)^ :=& & & Inc(ptr,2);& &&function GetIdeDiskSerialNumber : Svar& hDevice : TH& cbBytesReturned : DWORD;& pInData : PSendCmdInP& pOutData : P // PSendCmdOutParams& Buffer : Array[0..BufferSize-1] of B& srbControl : TSrbIoControl absolute Bbegin& Result := '';& FillChar(Buffer,BufferSize,#0);& if Win32Platform=VER_PLATFORM_WIN32_NT then& & begin // Windows NT, Windows 2000& & & // Get SCSI port handle& & & hDevice := CreateFile( '\\.\Scsi0:',& & & & GENERIC_READ or GENERIC_WRITE,& & & & FILE_SHARE_READ or FILE_SHARE_WRITE,& & & & nil, OPEN_EXISTING, 0, 0 );& & & if hDevice=INVALID_HANDLE_VALUE then E& & & try& & & & srbControl.HeaderLength := SizeOf(SRB_IO_CONTROL);& & & & System.Move('SCSIDISK',srbControl.Signature,8);& & & & srbControl.Timeout & & &:= 2;& & & & srbControl.Length & & & := DataS& & & & srbControl.ControlCode &:= IOCTL_SCSI_MINIPORT_IDENTIFY;& & & & pInData := PSendCmdInParams(PChar(@Buffer)& & & & & & & & & &+SizeOf(SRB_IO_CONTROL));& & & & pOutData := pInD& & & & with pInData^ do& & & & begin& & & & & cBufferSize &:= IDENTIFY_BUFFER_SIZE;& & & & & bDriveNumber := 0;& & & & & with irDriveRegs do& & & & & begin& & & & & & bFeaturesReg & & := 0;& & & & & & bSectorCountReg &:= 1;& & & & & & bSectorNumberReg := 1;& & & & & & bCylLowReg & & & := 0;& & & & & & bCylHighReg & & &:= 0;& & & & & & bDriveHeadReg & &:= $A0;& & & & & & bCommandReg & & &:= IDE_ID_FUNCTION;& & & & && & & && & & & if not DeviceIoControl( hDevice, IOCTL_SCSI_MINIPORT,& & & & & @Buffer, BufferSize, @Buffer, BufferSize,& & & & & cbBytesReturned, nil ) then E& & & finally& & & & CloseHandle(hDevice);& & && & end& else& & begin // Windows 95 OSR2, Windows 98& & & hDevice := CreateFile( '\\.\SMARTVSD', 0, 0, nil,& & & & CREATE_NEW, 0, 0 );& & & if hDevice=INVALID_HANDLE_VALUE then E& & & try& & & & pInData := PSendCmdInParams(@Buffer);& & & & pOutData := @pInData^.bB& & & & with pInData^ do& & & & begin& & & & & cBufferSize &:= IDENTIFY_BUFFER_SIZE;& & & & & bDriveNumber := 0;& & & & & with irDriveRegs do& & & & & begin& & & & & & bFeaturesReg & & := 0;& & & & & & bSectorCountReg &:= 1;& & & & & & bSectorNumberReg := 1;& & & & & & bCylLowReg & & & := 0;& & & & & & bCylHighReg & & &:= 0;& & & & & & bDriveHeadReg & &:= $A0;& & & & & & bCommandReg & & &:= IDE_ID_FUNCTION;& & & & && & & && & & & if not DeviceIoControl( hDevice, DFP_RECEIVE_DRIVE_DATA,& & & & & pInData, SizeOf(TSendCmdInParams)-1, pOutData,& & & & & W9xBufferSize, cbBytesReturned, nil ) then E& & & finally& & & & CloseHandle(hDevice);& & && && & with PIdSector(PChar(pOutData)+16)^ do& & begin& & & ChangeByteOrder(sSerialNumber,SizeOf(sSerialNumber));& & & SetString(Result,sSerialNumber,SizeOf(sSerialNumber));& &END.给你源代码
由 mosker & 星期四, 日 11:42
hook DeviceIoControl it game over!
由 appfirst & 星期五, 日 13:08
软件如果有价值,就需要法律保护,这才是正道。至于hook如果有必要可以开发驱动,然后deviceiocontrol时,使用自己的协议收发,不满足协议的就认为违法,这样一来hook就是个摆设了。但个人建议你不用这么麻烦,除非你的软件真是非常的抢手。
由 白河愁 & 星期五, 日 14:34
自己协议甚至驱动有什么用,你用deviceiocontrol,我就hook这个就行了。
由 appfirst & 星期二, 日 19:24
你是可以hook eviceiocontrol函数,但你不知道我传送的是什么,同理你给我的我也不认识,不认识我就可以认为是非法的。当然如果你使用其他方式破解,这个另说,但hook一定是没有用的了。
由 白河愁 & 星期二, 日 23:42
我根本不知道需要知道你传的是什么,只要有一份注册的,把你通信的内容截取下来就行了。
由 appfirst & 星期三, 日 16:28
驱动中:提取机器码然后进行变换及加密,通过deviceio函数返回给主应用程序,主应用程序接收后首先解密然后进行比对(比如md5),如果过程中有一个不对就认为失败,都成功再次进行编码后与授权号进行比对。同理再完成一次反向的操作(从注册码开始),全部通过认为授权成功,你截获了某个授权码的序列仅可以骗过主应用的检查,但无法通过驱动端的检查。
由 白河愁 & 星期五, 日 01:58
"驱动中:提取机器码然后进行变换及加密,通过deviceio函数返回给主应用程序"然后我只要把你传回给程序的值截取了,在别的机器上无论返回什么值,我都传送这个,就完事了,根本不用管你怎么加密怎么通信,反正你发什么我就发什么,还是不明白吧?
由 aa20000 & 星期五, 日 02:09
我也是为了这个关于注册时遇到的问题!!关注中!
由 appfirst & 星期五, 日 11:25
反向的是我将你的注册码和通过deviceio得到的码进行变换后再通过deviceio传给驱动检验,驱动会重新生成机器码并比对传送过来的是否是自己生成的,你的hook就没有用处了,因为你发给我的驱动是不认识的,就算你能够在第二次的时候将驱动输入的数据给我也没有用,因为你不知道在主程序中的变换算法。
19 篇帖子 & 分页:1 / 2 &

我要回帖

更多关于 电脑机器码有什么用 的文章

 

随机推荐