คุณคือโปรแกรมเมอร์ที่
- รู้ว่า Win32 API คืออะไร
- รู้จัก Process ของ Win32
- รู้จัก Thread ของ Win32
- รู้จัก Virtual Address Space
- รู้ว่า Kernel space และ User space คืออะไร
- รู้จัก Ring 0 และ 3 ของ ntoskrnl
- รู้ว่า PE คืออะไรและมีโครงสร้างเป็นยังไง
- รู้ว่า IAT คืออะไร
- รู้ว่า OEP คืออะไร
- รู้ว่า Themida คืออะไร
- รู้ว่า DLL Injection ทำงานอย่างไร
- รู้จัก CreateRemoteThread
- รู้จัก SSDT
- รู้จัก PatchGuard
ใช่หรือไม่ ถ้าใช่ คุณคือคนที่เราต้องการ เราเป็นบริษัทเกมหน้าใหม่ที่จะนำพาศักยภาพของคนไทยก้าวไปสู่ระดับโลก เราเชื่อว่าคนไทยสามารถทำ Anti-hack ได้ดีกว่าหรือเทียบเท่าเกาหลีใต้ และสามารถพัฒนาซอฟต์แวร์ได้คุณภาพเทียบเท่ากับต่างประเทศอย่างอเมริกาหรือเกาหลีใต้
สิ่งที่เรา Offers ให้คุณคือ
- อุปกรณ์สำหรับเล่นกับ Kernel-mode driver เช่น Certificate ที่สามารถ Sign Kernel-mode driver ได้
- จำเป็นต้องเข้าออฟฟิศแค่วันจันทร์และศุกร์ วันที่เหลือสามารถทำงานที่บ้านได้
- ไม่มีระบบอาวุโส
- Team lead ที่เป็นผู้นำ ไม่ใช่ Boss
- Team lead ที่ผ่านประสบการณ์มาอย่างโชกโชนกับ Code คุณภาพสูงของชาวต่างชาติ
หากคุณสนใจที่จะร่วมงานกับเรา สามารถติดต่อได้ที่ ultimaweapon(at)outlook.com โดยออฟฟิศเราจะอยู่ใกล้ๆกับเดอะมอลล์งามวงศ์วาน
รู้จักแค่ 3 ข้อแรก โลกนี้ช่างกว้างใหญ่ยิ่งนัก
ขอบคุณที่ช่วยเปิดสมองครับ
ขอบคุณที่ช่วยเปิดสมองเรื่องมุขต่างๆที่ปล่อยใน Blognone เรื่อยๆเช่นกันครับ
ปล่อยมุกหรือปล่อยไก่นะ? ช่วยแนะนำหน่อยว่าแต่ละข้อผมต้องเริ่มศึกษายังไง เรียงลำดับยังไงครับ
+1 รบกวนด้วยครับ สนใจเช่นกัน
search google ครับ /me โดนตบ
อธิบายย่อๆให้
Virtual Address Space
มองว่าเป็น address ของโปรแกรมแต่ละโปรแกรม
โดยเริ่มที่ 0x00000000 จนไปถึง 0xFFFFFFFF (ขึ้นอยู่กับระบบปฏิบัติการ)
ข้างในจะมีหลายส่วน
เช่น
PE header บอกว่า code โปรแกรมเราอยู่ไหน data อยู่ไหน
ส่วน code section สำหรับ ให้โปรแกรมทำงาน เช่นจะเอาค่าอะไรใส่ register ตัวไหน
jmp ไปไหนอะไรแบบนี้
Kernel space และ User space
แต่ละ mode มันจะมีสิทธิ์ให้ cpu ทำงาน(เรียกใช้ instruction)
ได้ไม่เท่ากันเวลาเราเรียก win32api ส่วนใหญ่มันก็จะสลับเข้าไปทำงานที่ kernal mode(Ring 0)
แปลว่าโปรแกรมที่มันรันๆอยู่มันสลับไปสลับมาระหว่าง user mode กับ kernel mode อยู่แล้ว
PE format google โลด
IAT (Import address table) เก็บ address ของ function ต่างๆที่โปรแกรมจะเรียกใช้ ซึ่งมันมีบ่ครบฮ่วย
DLL Injection, CreateRemoteThread
CreateRemoteThread คือการสร้าง thread ใน process อื่น (Remote ไง ^^")
พอสร้าง thread ได้เราก็ LoadLibrary dll ของเรานั่นแหละเข้าไปทำงานใน process เป้าหมาย
แล้วก็โช๊ะตอน event attach dll
เราก็ไปเขียนทับ function ที่เราต้องการ
ให้มาเป็น address ของ dll เราแทน
เช่นปกติโปรแกรมจะ connect ไปที่ server
มันก็ต้องเรียก function connect ของ dll ของ ws32 ด้วย win32api
เราก็ไปเขียน address ใหม่ให้มันมาที่ function connect ของ dll ที่เรา inject(ฉีด) เข้าไป
พอโปรแกรมเรียกใช้ connect จริงๆมันมาเข้าของเราแทน
เราก็อาจจะเขียน log หรือเปลี่ยน address ให้มาที่ server เราแทนก็ได้
แล้วค่อยไปเรียก function connect ของจริงที่เราเตรียมไว้
ซึ่งถ้าจะ crack software มันต้องใช้ความรู้พวกนี้ (จริงๆยังมีอีกเยอะ T_T)
ทุกอย่างมีใน google (/me โดนตบอีกรอบ) ต้องอ่านเรียงลำดับรึเปล่าก็อาจจะไม่
เพราะความรู้มันเชื่อมโยงกันหมด บอกลำดับไม่ถูกเหมือนกัน
สนใจส่ง Resume มามั้ยครับ
โอ้ ขอบคุณมากๆ ครับ ปรากฏว่าผมรู้จัก 5 ข้อแฮะไม่ใช่แค่ 3 ข้อ
5 ข้อแรกนี่ลืมไปแล้ว เพราะไม่ได้เขียนโปรแกรมบน DOS นานมาก (แต่ก่อนต้องมานั่งทำ ISR เอง เพราะอยากเขียนไวรัส)
เริ่มจากหัดเขียน Assembly ง่ายๆโดยใช้ MASM เรียก Win32 API น่าจะได้คับ
ของผมก็แค่เสริมข้อสุดท้ายเข้าไปอีกตัวนึง (T^T)
มีลองงานไหมครับ
ส่ง Resume มาได้เลยครับ
ultimaweapon
ชื่อนี้ไม่ได้ยินมานานแล้ววววว
เหมือนเคยได้ยินใน forum ของ KORE ตอนที่ยังเล่น Rag อยู่.......
เห็นแล้วเหมือนย้อนกลับไปอดีตอีกครั้ง :3
ขอบคุณที่ยังจำได้ครับ T_T
จำได้สิคับ เมพขนาดนี้ 555
ตอนนั้นโมบอทสนุกสนานมาก
ผมเห็นที่นี่ไม่เคยนึกถึงเลยนะครับ จนท่านพิมพ์มานี่ถึงเริ่มคุ้นๆ จริงๆ ด้วย!
+1 รู้จักจากแรค
คงมีอีกหลายคนอยู่แถวนี้แหละ
reply ผิดที่ครับ
ผมรู้จักเกิน 70% ครับ แถมมีประสบการณ์จริงจากการทำ bypass เกมออนไลน์บางเกม
แต่พอดียังติดเรียนอยู่ ปีหน้าจบ ไม่รู้ถึงเวลานั้นจะยังรับอยู่รึเปล่า - -
เคสนี้คนรับสมัครอยู่ในกระทู้เดี๋ยวคงมาตอบ
แต่โดยทั่วไปถ้าเจองานอื่นๆ ผมแนะนำให้ส่ง resume ไปก่อนนะครับ บอกช่วงเวลาที่กำลังจะเรียนจบไปเลย นานไปไหมให้คนรับชั่งใจเอง
lewcpe.com, @wasonliw
ลองส่ง Resume มาดูอย่างที่คุณ lew บอกครับ
จัดว่าโหด (y)