C++ ต้องการตรวจสอบ Thread ว่าถูก Suspended หรือ Terminated หรือปล่าว
Date :
2016-05-02 22:45:01
By :
mr.win
จะมีใครรู้บ้างน้อ
Date :
2016-05-03 15:58:49
By :
banktakung
เอาตามจริงเลยน่ะครับ Antihack มันป้องกันไม่ได้หรอกครับ ยิ่งโค้ดที่แจกตามเว็บต่างๆ
ยิ่งไปกันใหญ่ขนาดพวกบริษัทที่รับทำเกมส์การ์ดเกมส์ออนไลน์ต่างๆของค่ายใหญ่ดังๆ
เขายังป้องกันไม่ได้เลยก็เห็นพวกที่ Hack ได้กันไม่ถึง 5นาทีก็แก้ได้แล้ว
-กรณีฝัง dll Antihack ไว้ที่ exe ตัวรันเกมส์เขาก็แค่หาตัว exe ที่เวอร์ชั่นเดียวกันที่เข้ากันได้
มาทับแทนก็ใช้ได้แล้ว
-กรณีที่ใช้ Launcher สั่งให้ dll Antihack ทำงานตอน exe ตัวรันเกมส์เปิด อันนี้ก็แค่หา
process dll Antihack แล้วก็ suspended หรือ kill มันซ่ะก็ใช้ได้ล่ะ
การที่จะสร้าง Antihack ต้องฝึก Hack ให้เป็นก่อนครับฝึกจนระดับโปร เสร็จแล้วค่อยมา
ศึกษาและทำ Antihack มันถึงจะป้องกันได้จริง อย่างน้อยถึงป้องกันไม่ได้มันก็แกะยากเหมือนกันล่ะ
เพราะคนที่ Hack เป็นจะรู้ช่องทางการป้องกันครับว่าจะมาในรูปแบบไหน ดังที่คำกล่าว
"รู้เขารู้เรารบร้อยครั้งชนะร้อยครั้ง"
อย่าได้เชื่อคำโฆษณาที่ว่าป้องกันได้หมดพวกที่โฆษณาชวนเชื่อต่างๆ ส่วนมากก็เอาโค้ดต่างๆมาจาก
เว็บนอกที่เขาแจกกันนั้นแหล่ะเว็บที่แจกโค้ดพวกนี้ส่วนมากจะอยู่โซนนอกที่เคยเจอบ่อยๆน่าจะเป็นเยอมัน
ดังนั้นถ้าใช้คีย์ภาษาไทยหรืออังกฤษหามันไม่ค่อยเจอหรอก จริงๆแล้วมันแจกกันเยอะ
อีกอย่า เครื่องมือที่ช่วย Hack มันเยอะดังนั้นจึงป้องกันยาก
ถ้าใช้ dll Antihack ลองหาโค้ดพวกที่ซ่อน Thread ดูครับ เพราะถ้าหา Thread หรือชื่อ process
ของ dll Antihack ไม่เจอก็ไม่สามารถ Suspended หรือ Terminated ได้
ตัวอย่าง Antihack ---->>> http://www.codeproject.com/Articles/30815/An-Anti-Reverse-Engineering-Guide
การที่ Suspended น่าจะอยู่ในส่วน Breakpoints
**ผมก็ไม่ค่อยรู้เรื่องเกี่ยวกับเรื่องพวกนี้หรอกครับมั่วๆเอาใช้หลักความน่าจะเป็น ผิดพลาดประการใดก็ขออภัยไว้ณ ที่นี้ด้วยครับ
Date :
2016-05-04 10:13:41
By :
Codingza
คือเรื่องที่ว่าผมรู้หมดละครับว่ามัน suspended ได้ แต่ตอนนี้ผมทำป้องกันตัว dll ด้วย CRC / Filesize แล้ว คือไม่สามารถแก้ไขไฟล์ dll ได้เลย แต่ปัญหาคือมันสามารถหยุดการทำงานได้ ถึงจะ hide Thread ไป แต่ถ้าใช้ CE แล้วแกะ packet ได้ ก็หยุดโค้ดนี้ เลยอยากรู้วิธีการ Resume หรือตัวเช็คสถานะ thread มากกว่า
Date :
2016-05-04 15:15:48
By :
banktakung
ฝังลูป1000ms ลงเมนโปรแกรม
Code
005D3640 55 push ebp
005D3641 8BEC mov ebp,esp
005D3643 83C4EC add esp,-$14
005D3646 8955EC mov [ebp-$14],edx
005D3649 8945FC mov [ebp-$04],eax
compareU1.pas.371: Start := GetTickCount;
005D364C E8F3E8E3FF call GetTickCount
005D3651 8945F8 mov [ebp-$08],eax
compareU1.pas.372: sleep(100);
005D3654 6A64 push $64
005D3656 E8F56EE5FF call Sleep
compareU1.pas.373: Stop := GetTickCount;
005D365B E8E4E8E3FF call GetTickCount
005D3660 8945F4 mov [ebp-$0c],eax
compareU1.pas.374: ElapsedMilliseconds := Stop - Start;
005D3663 8B45F4 mov eax,[ebp-$0c]
005D3666 2B45F8 sub eax,[ebp-$08]
005D3669 8945F0 mov [ebp-$10],eax
compareU1.pas.375: if ElapsedMilliseconds>2000 then
005D366C 817DF0D0070000 cmp [ebp-$10],$000007d0
005D3673 760C jbe $005d3681
compareU1.pas.376: Application.Terminate;
005D3675 A18C5B6200 mov eax,[$00625b8c]
005D367A 8B00 mov eax,[eax]
005D367C E8D72DFFFF call TApplication.Terminate
compareU1.pas.377: end;
005D3681 8BE5 mov esp,ebp
005D3683 5D pop ebp
005D3684 C3 ret
Date :
2019-12-08 14:30:35
By :
ดาบดำ วาเลนไทน์
ตัวอย่างซอพแวร์ที่ป้องกัน Suspended Thread มี3Thread เองครับ
https://www.mediafire.com/file/jey3fk9j23apwr4/compare_allfilesindir.zip/file
Code
-------------------------------Start := GetTickCount; แทรกในเมนสตาร์ท
E84C08E4FF call GetTickCount
A370B36200 mov [$0062b370],eax
-------------------------------------------------------
-------------------------------------------------------
-------------------------------------------------------แทรกในลูป 1000ms
begin
55 push ebp
8BEC mov ebp,esp
83C4F8 add esp,-$08
8955F8 mov [ebp-$08],edx
8945FC mov [ebp-$04],eax
-------------------------------Application.ProcessMessages;
A18C5B6200 mov eax,[$00625b8c]
8B00 mov eax,[eax]
-------------------------------call TApplication.ProcessMessages
-------------------------------Stop := GetTickCount;
E8DFE8E3FF call GetTickCount
A374B36200 mov [$0062b374],eax
-------------------------------ElapsedMilliseconds := Stop - Start;
A174B36200 mov eax,[$0062b374]
2B0570B36200 sub eax,[$0062b370]
A378B36200 mov [$0062b378],eax
-------------------------------if ElapsedMilliseconds>2000 then
813D78B36200D0070000 cmp [$0062b378],$000007d0
760C jbe $005d3692
-------------------------------Application.Terminate;
A18C5B6200 mov eax,[$00625b8c]
8B00 mov eax,[eax]
E8C62DFFFF call TApplication.Terminate
-------------------------------Start := GetTickCount;
E8ADE8E3FF call GetTickCount
A370B36200 mov [$0062b370],eax
-------------------------------end;
59 pop ecx
59 pop ecx
5D pop ebp
C3 ret
Date :
2019-12-08 15:55:49
By :
ดาบดำ วาเลนไทน์
Load balance : Server 03