Open in app

Sign In

Write

Sign In

Nattawat Songsom
Nattawat Songsom

31 Followers

Home

About

Jan 15

Ethernaut part 9 (Preservation & Recovery)

Let’s do more ctf Preservation Problem จาก code

3 min read

Ethernaut part 9 (Preservation & Recovery)
Ethernaut part 9 (Preservation & Recovery)

3 min read


Jan 13

Ethernuat part 8 (Gatekeeper II & Naught coin)

First to the key, first to the egg Gatekeeper II Problem:

3 min read

Ethernuat part 8 (Gatekeeper II & Naught coin)
Ethernuat part 8 (Gatekeeper II & Naught coin)

3 min read


Jan 7

Ethernaut part 7 (Privacy & Gate keeper I)

Capture The Fun Privacy โจทย์คือ ให้เรียก function unlock เพื่อเปลี่ยนค่า locked ให้เป็น false

4 min read

Ethernaut part 7 (Privacy & Gate keeper I)
Ethernaut part 7 (Privacy & Gate keeper I)

4 min read


Dec 29, 2022

มาทำ formal proof การจัดการ atomic transactions ด้วยภาษา tla+ กันเถอะ

มาจากหนึ่งใน series TLA+ tutorial ของ Lessie Lamport นะครับ Atomic transactions คืออะไร ? ลองมายกตัวอย่างจากงานแต่งงานกัน เมื่อบาทหลวงถามว่าตกลงแต่งงานกันมั้ย ไม่ว่าบ่าวสาวจะตอบว่าอะไร ผลลัพธ์การแต่งงานควรจะเป็นหนึ่งในสองเคสนี้คือ 1 ทั้งคู่ได้แต่งงานกัน

5 min read

มาทำ formal proof การจัดการ atomic transactions ด้วยภาษา tla+ กันเถอะ
มาทำ formal proof การจัดการ atomic transactions ด้วยภาษา tla+ กันเถอะ

5 min read


Dec 24, 2022

มาเขียน tla+ แก้ water pouring puzzle กันเถอะ

มาแก้ puzzle จาก die hard 3 ด้วย formal verification กัน Water puzzle คืออะไร ? เป็นปัญหาที่ว่าด้วยถ้าเรามีแกลลอนน้ำ 2 ใบ คือ 3 ลิตร และ 5 ลิตร (เป็นแกลลอนเปล่าทั้งคู่) เราจะสามารถทำให้แกลลอน 5 ลิตร มีน้ำ 4 ลิตร เป๊ะๆได้หรือไม่ โดยกำหนดสิ่งที่สามารถทำได้คือ เทน้ำใส่แกลลอน 3 ลิตรจนเต็ม เทน้ำใส่แกลลอน 5 ลิตรจนเต็ม เทน้ำจากแกลลอน 3 ลิตร ใส่แกลลอน 5 ลิตร จนแกลลอน 5 ลิตรเต็ม เทน้ำจากแกลลอน 5 ลิตร ใส่แกลลอน 3 ลิตร จนแกลลอน…

3 min read

มาเขียน tla+ แก้ water pouring puzzle กันเถอะ
มาเขียน tla+ แก้ water pouring puzzle กันเถอะ

3 min read


Dec 23, 2022

Ethernuat CTF part 6 (re-entrancy & elevator)

Program testing can be used to show the presence of bugs, but never to show their absence โอเค มาเริ่มกัน Reentrancy โจทย์คือขโมย ether จาก contract มาให้หมด

3 min read

Ethernuat CTF part 6 (re-entrancy & elevator)
Ethernuat CTF part 6 (re-entrancy & elevator)

3 min read


Dec 15, 2022

มาลองเล่น TLA+ กันเถอะ

We can’t get systems right if we don’t understand them — Leslie Lamport tla+ เป็นภาษาที่ทำงานด้วยหลักการ state machine

6 min read

มาลองเล่น TLA+ กันเถอะ
มาลองเล่น TLA+ กันเถอะ

6 min read


Dec 14, 2022

มาลองเล่น symbolic execution ด้วย z3py กัน

โอเค มาเริ่มจากเขียน code กันก่อน แล้วค่อยไปลงทฤษฏีกัน Disclaimer: บทความนี้สรุปมาจากหลายๆแหล่ง (ตาม referrence ด้านล่าง) ถ้า code ตรงไหนผิด แนะนำได้ครับ Problem: ถ้าเรามีพฤติกรรมที่ไม่อยากให้เกิดขึ้นใน code อยู่เช่น จาก code

4 min read

มาลองเล่น symbolic execution ด้วย z3py กัน
มาลองเล่น symbolic execution ด้วย z3py กัน

4 min read


Dec 10, 2022

มาลองแกะ code Oyente กันเถอะ (Part 3 construct CFG dynamic edges)

โอเค ก่อนอื่นมา recap กันก่อนว่าเราแกะส่วนไหนไปแล้วบ้าง และเหลืออะไรบ้าง ก่อนอื่นมาเริ่มกันจาก ภาพรวม Oyente

3 min read

มาลองแกะ code Oyente กันเถอะ (Part 3 construct CFG dynamic edges)
มาลองแกะ code Oyente กันเถอะ (Part 3 construct CFG dynamic edges)

3 min read


Dec 9, 2022

มาลองแกะ code Oyente กันเถอะ (Part 2 construct static edges)

มาเริ่มจากการเข้าใจการทำงานของ evm เมื่อรันแต่ละ opcode กันก่อน EVM ทำงานยังไง ? evm แบ่งพื้นที่เป็น 3 ส่วนคือ stack memory storage stack ? อันนี้ simple สุดเลย คือเป็นพื้นที่ไว้เก็บ data โดยการนำ data เข้าออกจะเป็นแบบ LIFO เช่น ถ้าเราเริ่มต้นด้วย stack และ opcode แบบนี้

4 min read

มาลองแกะ code Oyente กันเถอะ (Part 2 construct static edges)
มาลองแกะ code Oyente กันเถอะ (Part 2 construct static edges)

4 min read

Nattawat Songsom

Nattawat Songsom

31 Followers

software engineer

Following
  • Douglas Rushkoff

    Douglas Rushkoff

  • Pao Payungsak Klinchampa

    Pao Payungsak Klinchampa

  • Cory Doctorow

    Cory Doctorow

  • DEFIYIELD.App

    DEFIYIELD.App

  • Rati Montreewat

    Rati Montreewat

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech