ฟอรั่มของบล็อก http://pssix.blogspot.com


ผมทำโปรแกรมช่วยเล่นเกม GFO แล้วเวลาใช้ต้องมาสมัครนี้ ไม่ทราบว่าอณุญาติไหมครับ

Share

rolovely
PSsix Member Super Class II
PSsix Member Super Class II

PSsix Game Coder
จำนวนข้อความ : 193
ความนิยม : 24
เข้าร่วมเมื่อ : 15/10/2010
อายุ : 28
ที่อยู่ : THAILAND

ผมทำโปรแกรมช่วยเล่นเกม GFO แล้วเวลาใช้ต้องมาสมัครนี้ ไม่ทราบว่าอณุญาติไหมครับ

ตั้งหัวข้อ by rolovely on 15/10/10, 03:52 am

พอดีอยากให้หันมาเขียน มาศึกษากันเองบ้างอ่ะครับ ไม่ทราบว่า ขัดข้องหรือไม่ และผมต้องการเผยแพร่ด้วยอ่ะครับ

rolovely
PSsix Member Super Class II
PSsix Member Super Class II

PSsix Game Coder
จำนวนข้อความ : 193
ความนิยม : 24
เข้าร่วมเมื่อ : 15/10/2010
อายุ : 28
ที่อยู่ : THAILAND

Re: ผมทำโปรแกรมช่วยเล่นเกม GFO แล้วเวลาใช้ต้องมาสมัครนี้ ไม่ทราบว่าอณุญาติไหมครับ

ตั้งหัวข้อ by rolovely on 15/10/10, 04:02 pm

ผมประมาณว่าอย่างนี้ครับ

เวลาเข้าใช้โปร ต้องมาล็อคอินที่เว็บนี้ ในโปรแกรมที่ผมจำกัดไว้ให้ โดยตัวโปรแกรมจะโชว์เว็บของคุณ pos ไว้ เอางี้ ดูภาพดีกว่าครับ

ที่ปุ่มเริ่ม เกิดถ้าไม่ล็อคอินจะไม่มีปุ่ม เริ่ม และที่เห้นนั่นเว็บผมเอง ใช้วิธีเช็คว่าล็อคอินแล้วหรือไม่ เกิดถ้าใช่ ก็จะ ขึ้น แต่ก็อยู่ที่ความเร็วทางโฮสด้วย เพราะเว็บนั้น รู้สึกว่ามันช้าด้วย


POS
PSsix
PSsix


จำนวนข้อความ : 1151
ความนิยม : 323
เข้าร่วมเมื่อ : 19/07/2010

Re: ผมทำโปรแกรมช่วยเล่นเกม GFO แล้วเวลาใช้ต้องมาสมัครนี้ ไม่ทราบว่าอณุญาติไหมครับ

ตั้งหัวข้อ by POS on 15/10/10, 05:10 pm

วิธีนี้ไม่ค่อยดี เพราะการใช้โปรแกรมต้องขึ้นอยู่กับเน็ต แล้วยิ่งพวกเว็บบอร์ดฟรีนี่ บางวันก็ดี บางวันก็ช้า หรือเปิดไม่ได้เลย

ถ้าจะใช้วิธีจำกัดการใช้โปรแกรม เฉพาะใช้วิธีการสร้างไฟล์ไอดีจะดีกว่า

ขั้นตอนหลักๆ

1. สร้างโปรแกรม โดยใช้คำสั่ง DriveGetSerial( "c:" ) ดึงเอาหมายเลขฮาร์ดดิสก์ผู้ใช้มาเก็บไว้ (ผู้ใช้ต้องส่งหมายเลขไอดีฮาร์ดดิสก์ที่ได้จากโปรแกรมนี้มาให้เรา เพื่อขอใช้โปรแกรม)

2. นำหมายเลขไอดีที่ได้ มาเข้ารหัสโดยคำสั่ง _StringEncrypt เก็บไว้ในไฟล์เช่น id.txt แล้วส่งให้ผู้ใช้อีกที

3. เขียนโปรแกรมโดยใส่คำสั่งถอดรหัสไฟล์ที่เก็บไอดี และดึงเอาไอดีของเครื่องที่เปิดโปรแกรมมาเทียบ ถ้าตรงกันก็ใช้งานได้ ถ้าไม่ตรงก็ปิดโปรแกรม

Code:
$chars = FileRead("xxxxx")
$chars =_StringEncrypt(0,$chars,"xxxx",1)
$a= DriveGetSerial( "c:" )
if $a <> $chars Then exit

วิธีนี้จะทำให้แม้จะมีการอัปเดทโปรแกรมผู้ใช้ก็ยังใช้งานโปรแกรมได้อยู่ เพราะไฟล์ไอดีจะเป็นตัวกำหนดการใช้งาน

ปล. ทำโปรแกรมแจกจ่ายฟรีง่ายกว่า แล้วค่อยทำปุ่มลิงก์มาที่เว็บในหน้าต่างโปรแกรม


||----------------------------------------------------------------------------------------------------------------||

กลุ่ม AutoIt ในเฟสบุ๊ค
[You must be registered and logged in to see this link.]

++++++++++++++++++++++++++++++++++++++++++++
pssix.blogspot.com

rolovely
PSsix Member Super Class II
PSsix Member Super Class II

PSsix Game Coder
จำนวนข้อความ : 193
ความนิยม : 24
เข้าร่วมเมื่อ : 15/10/2010
อายุ : 28
ที่อยู่ : THAILAND

Re: ผมทำโปรแกรมช่วยเล่นเกม GFO แล้วเวลาใช้ต้องมาสมัครนี้ ไม่ทราบว่าอณุญาติไหมครับ

ตั้งหัวข้อ by rolovely on 15/10/10, 06:06 pm

ผมทำเข้ารหัสได้ แต่ ผมทำให้มันถอดรหัสไม่ได้ พยายามศึกษาและ แต่ก็งง
ยังไงขอดูวิธีทำหน่อยแล้วกันนะครับ ไม่เอาใน exam มาให้ดูนะ

aut
PSsix Powerful Scripting Class
PSsix Powerful Scripting Class

PSsix Game Coder
จำนวนข้อความ : 472
ความนิยม : 125
เข้าร่วมเมื่อ : 24/07/2010

Re: ผมทำโปรแกรมช่วยเล่นเกม GFO แล้วเวลาใช้ต้องมาสมัครนี้ ไม่ทราบว่าอณุญาติไหมครับ

ตั้งหัวข้อ by aut on 15/10/10, 07:20 pm

ลองดู

หาไอดี ก่อน ตัว c: มันต้องมีเครื่องหมายทับ \ ต่อท้าย บอร์ดนี้มันลบออกไม่รู้ทำไม ตะแรกก็งงว่ามันไม่ออกหมายเลข

#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("หาไอดี", 268, 71, 192, 124)
$Input1 = GUICtrlCreateInput(DriveGetSerial( "c:" ), 16, 24, 217, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit

EndSwitch
WEnd


ได้แล้วก็เอาไอดีมาใส่ระหัสอันนี้

#include <GuiConstantsEx.au3>
#include <String.au3>

_Main()

Func _Main()
Local $WinMain, $EditText, $InputPass, $InputLevel, $UpDownLevel, $EncryptButton, $DecryptButton, $string,$file
; GUI and String stuff
$WinMain = GUICreate('สร้าง ID', 400, 400)
; Creates window
$EditText = GUICtrlCreateEdit('', 5, 5, 380, 350)
; Creates main edit
$InputPass = GUICtrlCreateInput('abc', 5, 360, 100, 20 )
; Creates the password box with blured/centered input
$InputLevel = GUICtrlCreateInput(1, 110, 360, 50, 20, 0x2001)
$UpDownLevel = GUICtrlSetLimit(GUICtrlCreateUpdown($InputLevel), 10, 1)
; These two make the level input with the Up|Down ability
$EncryptButton = GUICtrlCreateButton('ใส่ระหัส', 170, 360, 105, 35)
; Encryption button
$DecryptButton = GUICtrlCreateButton('ถอด', 285, 360, 105, 35)
; Decryption button
GUICtrlCreateLabel('Password', 5, 385)
GUICtrlCreateLabel('Level', 110, 385)
; Simple text labels so you know what is what
GUISetState()
; Shows window

While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $EncryptButton
GUISetState(@SW_DISABLE, $WinMain) ; Stops you from changing anything
$string = GUICtrlRead($EditText) ; Saves the editbox for later
GUICtrlSetData($EditText, 'Please wait while the text is Encrypted/Decrypted.') ; Friendly message
GUICtrlSetData($EditText, _StringEncrypt(1, $string, GUICtrlRead($InputPass), GUICtrlRead($InputLevel)))

$file = FileOpen(@ScriptDir&"\ID", 2)
If $file = -1 Then
MsgBox(0, "Error", "เปิดไม่ได้งะ")
EndIf
$string = GUICtrlRead($EditText)
FileWrite($file, $string)
FileClose($file)

MsgBox(0,"เรียบร้อยแว้ว","ทำไฟล์ ID เรียบร้อย ")


GUISetState(@SW_ENABLE, $WinMain) ; This turns the window back on
Case $DecryptButton
GUISetState(@SW_DISABLE, $WinMain) ; Stops you from changing anything
$string = GUICtrlRead($EditText) ; Saves the editbox for later
GUICtrlSetData($EditText, 'Please wait while the text is Encrypted/Decrypted.') ; Friendly message
GUICtrlSetData($EditText, _StringEncrypt(0, $string, GUICtrlRead($InputPass), GUICtrlRead($InputLevel)))
GUISetState(@SW_ENABLE, $WinMain) ; This turns the window back on
EndSwitch
WEnd ; Continue loop untill window is closed
Exit
EndFunc


แล้วก็เอาอันนี้วางตรงหัวโปรแกรม กับไฟล์ ID

#include <String.au3>
$file = FileOpen("test.txt", 0)
$chars = FileRead("ID")
$b = _StringEncrypt(0, $chars,"abc")
$a= DriveGetSerial( "c:" )
if $a <> $b Then
MsgBox(0,"ไม่ผ่าน","ไม่ผ่าน")
exit
Else
MsgBox(0,"ผ่าน","ผ่าน")
EndIf


จบงิ แก้ไปแก้มาเกือบครึ่งชั่วโมง กว่าจะเส็ด
:lol!:

sadd15
สมาชิกทั่วไป
สมาชิกทั่วไป


จำนวนข้อความ : 17
ความนิยม : 0
เข้าร่วมเมื่อ : 02/11/2011
อายุ : 30

Re: ผมทำโปรแกรมช่วยเล่นเกม GFO แล้วเวลาใช้ต้องมาสมัครนี้ ไม่ทราบว่าอณุญาติไหมครับ

ตั้งหัวข้อ by sadd15 on 16/04/14, 01:39 pm

POS พิมพ์ว่า:วิธีนี้ไม่ค่อยดี เพราะการใช้โปรแกรมต้องขึ้นอยู่กับเน็ต แล้วยิ่งพวกเว็บบอร์ดฟรีนี่ บางวันก็ดี บางวันก็ช้า หรือเปิดไม่ได้เลย

ถ้าจะใช้วิธีจำกัดการใช้โปรแกรม เฉพาะใช้วิธีการสร้างไฟล์ไอดีจะดีกว่า

ขั้นตอนหลักๆ

1. สร้างโปรแกรม โดยใช้คำสั่ง DriveGetSerial( "c:" ) ดึงเอาหมายเลขฮาร์ดดิสก์ผู้ใช้มาเก็บไว้ (ผู้ใช้ต้องส่งหมายเลขไอดีฮาร์ดดิสก์ที่ได้จากโปรแกรมนี้มาให้เรา เพื่อขอใช้โปรแกรม)

2. นำหมายเลขไอดีที่ได้ มาเข้ารหัสโดยคำสั่ง _StringEncrypt เก็บไว้ในไฟล์เช่น id.txt แล้วส่งให้ผู้ใช้อีกที

3. เขียนโปรแกรมโดยใส่คำสั่งถอดรหัสไฟล์ที่เก็บไอดี และดึงเอาไอดีของเครื่องที่เปิดโปรแกรมมาเทียบ ถ้าตรงกันก็ใช้งานได้ ถ้าไม่ตรงก็ปิดโปรแกรม

Code:
$chars = FileRead("xxxxx")
$chars =_StringEncrypt(0,$chars,"xxxx",1)
$a= DriveGetSerial( "c:" )
if $a <> $chars Then exit

วิธีนี้จะทำให้แม้จะมีการอัปเดทโปรแกรมผู้ใช้ก็ยังใช้งานโปรแกรมได้อยู่ เพราะไฟล์ไอดีจะเป็นตัวกำหนดการใช้งาน

ปล. ทำโปรแกรมแจกจ่ายฟรีง่ายกว่า แล้วค่อยทำปุ่มลิงก์มาที่เว็บในหน้าต่างโปรแกรม

คุณ POS สอนละเอียดกว่านี้นิดหนึ่งได้มั้ยครับ งง ครับจะทำให้มันอ่านได้ยังไงเราใส่โค๊ดนี้ในโปรแกรมยังไงแล้วก็ ไฟล์ id.txt ใส่ค่าอะไรเข้าไปบ้างครับ

Arm
PSsix Member Super Class III
PSsix Member Super Class III

PSsix Master PSsix Program Coder
จำนวนข้อความ : 267
ความนิยม : 54
เข้าร่วมเมื่อ : 31/03/2011
อายุ : 19

Re: ผมทำโปรแกรมช่วยเล่นเกม GFO แล้วเวลาใช้ต้องมาสมัครนี้ ไม่ทราบว่าอณุญาติไหมครับ

ตั้งหัวข้อ by Arm on 16/04/14, 06:40 pm

ถ้าทำแบบนี้ต้องมี 2 ไฟล์ครับ ไฟล์แรกเป็นตัวโปรแกรมของเรา ที่ได้โค้ดเช็คการ Register ไว้ที่หัวไฟล์

1.au3
Code:
#include <String.au3>
$lic = @ScriptDir & "\lic"
If FileExists($lic) Then
 If FileRead($lic, FileGetSize($lic)) <> _StringEncrypt(1, Dec(DriveGetSerial(@HomeDrive)), "pass") Then
 FileDelete($lic)
 FileWrite($lic, Dec(DriveGetSerial(@HomeDrive)))
 MsgBox(0, "", "สร้างไฟล์ license เรียบร้อย")
 ;Exit
 Else
 MsgBox(0, "", "Registered!")
 ;Exit
 EndIf
EndIf

โค้ดข้างบนจะตรวจสอบว่ามีไฟล์ lic หรือไม่ ถ้าไม่มีจะสร้างไฟล์ขึ้นมาภายในไฟล์จะมี DriveGetSerial(@HomeDrive) ที่เราแปลงเป็นเลขฐานสิบไว้ แต่ถ้ามีไฟล์จะเช็คก่อนว่าคีย์ตรงกันหรือเปล่า (ตรงบรรทัดที่ If FileRead() <> _StringEncrypt() Then) ถ้าตรงกันจะขึ้น MsgBox ว่า ลงทะเบียนแล้ว ถ้าไม่ตรงจะสร้างไฟล์ lic ขึ้นมาใหม่ครับ

2.au3
Code:
#include <String.au3>
$file = FileOpenDialog("Choose lic file", @DesktopDir, "Lic File (lic)")
If @error Then Exit
$read = FileRead($file, FileGetSize($file))
$key = _StringEncrypt(1, $read, "pass")
FileDelete($file)
FileWrite($file, $key)

ไฟล์นี้จะเป็นตัวเข้ารหัสไฟล์ lic ของเราครับ



* Remark *

หลักๆจะอยู่ที่ _StringEncrypt() ครับ เป็นคำสั่งเข้ารหัสข้อความ
_StringEncrypt(1, "text", "abc", 5)
1 คือเข้ารหัส 0 คือถอดรหัส (เงื่อนไขที่เหลือต้องตรงกันด้วยพวก Password กับ Level)

_StringEncrypt(1, "text", "abc", 5)
อันนี้คือข้อความที่เข้ารหัส

_StringEncrypt(1, "text", "abc", 5)
อันนี้รหัสผ่านที่เข้ารหัสแล้วแต่เราจะตั้งเลย แต่เวลาจะถอดต้องตรงกันด้วย

_StringEncrypt(1, "text", "abc", 5)
อันนี้จะใส่หรือไม่ใส่ก็ได้ครับ เป็นเวเวลในการเข้า/ถอดรหัส (1-10) ยิ่งตั้งค่าสูงความยาวของข้อความที่ถูกเข้ารหัสจะยิ่งมากและเวลาในการทำงานก็จะมากตามไปด้วยครับ

sadd15
สมาชิกทั่วไป
สมาชิกทั่วไป


จำนวนข้อความ : 17
ความนิยม : 0
เข้าร่วมเมื่อ : 02/11/2011
อายุ : 30

Re: ผมทำโปรแกรมช่วยเล่นเกม GFO แล้วเวลาใช้ต้องมาสมัครนี้ ไม่ทราบว่าอณุญาติไหมครับ

ตั้งหัวข้อ by sadd15 on 16/04/14, 07:48 pm

ขอบคุณครับ ยังไงช่วยตอบเพิ่มใน อินบอกซ์ ให้ด้วยน่ะครับคุณ Arm

kensurakit
มือใหม่เพิ่งสมัคร
มือใหม่เพิ่งสมัคร


จำนวนข้อความ : 5
ความนิยม : 0
เข้าร่วมเมื่อ : 12/10/2012

Re: ผมทำโปรแกรมช่วยเล่นเกม GFO แล้วเวลาใช้ต้องมาสมัครนี้ ไม่ทราบว่าอณุญาติไหมครับ

ตั้งหัวข้อ by kensurakit on 07/07/14, 01:21 pm

ผมอยากจะขอ สคิป ที่ปุ่มเริ่ม เกิดถ้าไม่ล็อคอินจะไม่มีปุ่ม เริ่ม ใช้วิธีเช็คว่าล็อคอินแล้วหรือไม่ เกิดถ้าใช่ ก็จะ ขึ้น ปุ่มเริ่ม อ่ะครับ อยากจะเอาไปศึกษา em229 

    เวลาขณะนี้ 08/12/16, 02:52 pm