jinn

@jinn

Joined on Jul 4, 2022

  • Sử dụng Frida để hook apk trên Android Step 1: Cài đặt emulator Chúng ta cần một emulator hoạt động được để có thể chạy apk, mình có một số hướng để làm như sau: Android Studio Download và cài đặt Android Studio từ trang chủ Android Studio Tiếp theo, ta tạo 1 project đơn giản (có thể debug APK nếu cần File -> Profile or debug APK) -Ctrl + Shift + A và search "Android SDK" hoặc Tool -> SDK manager sau đó cài đặt các SDK cần thiết. (Có thể sẽ bị lỗi Error: Please select android sdk do chưa cài SDK) Tạo 1 emulator đơn giản, ở đây mình sẽ dùng Pixel 6 Pro API 34
     Like  Bookmark
  • At the weekend, our team CoSGang from the Vietnamese Gang joined UIUCTF 2024 and got into the top 5 (1 point above the top 6), big shoutout to my team for fair plays, they got into The Liems and has good prize. Also, this is the third time we have played UIUCTF, special thanks to the organizer for a good CTF. image Goose Chase/ Wild Goose Chase Goose Chase Author: ronanboyarski Description: The threat group GREGARIOUS GOOSE has hacked into SIGPwny servers and stolen one of our flags! Can you use the evidence to recover the flag?
     Like  Bookmark
  • Reverse not_obfuscate Description: True story: I had planned on learning to write LLVM passes and use them for obfuscation for this year's gCTF challenge.However, when I compiled this code with optimizations enabled, I decided I didn't need to write an obfuscator. It's a crackme, you know the drill. GL HF! analysis After a quick check, I found the code flow is effortless:
     Like 1 Bookmark
  • Last weekend I have play Midnight CTF with purf3ct. It was a good time that I try so hard. There are three reverse challenges I've done and one crypto with hardware/reverse tag that I try as must as I can and it's a happy ending that we've got into top ten, big shoudout for purf3ct! Let's go Sweden! 🇸🇪 🇸🇪 image There are 3 reverse challenges and all of them are very doable, so I enjoy so much, thanks for the authors. minus10 Attachment: minus10.sr
     Like 1 Bookmark
  • TetCTF 2024 vừa rồi là giải TetCTF thứ 3 mà mình tham gia, tuy nhiên lần này có chúc ấn tượng rằng đề khá là thú vị. Với 2 bài đầu thì mình cảm thấy cũng khá đơn giản nên mình không note ở đây, còn 1 bài khác nữa tuy nhiên vì mình nghĩ rằng giải 24 giờ nên bài đó mình đã bỏ qua, đến lúc nhận ra thi đã quá muộn... image Về bài này thì mình cảm thấy cũng không khó nhưng mà những script solve hay disassmbler mình bỏ ở PC nên giờ mình không truy cập được, đành phải viết lại toàn bộ thôi :V. Binary Đây là sub_9DA0 cũng là hàm xử lí chính trong chương trình, nó lấy input, load bytecode (unk_4B170), run bytecode,... image
     Like  Bookmark
  • Okay lại là một task nhỏ về rev và mình đánh giá bài lần này không quá dễ cũng không quá khó. Tuy nhiên mình rút ra được 1 bài học xương máu: Hãy nên tìm hiểu kĩ trước khi làm Bắt đầu từ vấn đề thời gian, khi mà thực tế 1 bài CTF chỉ có vài ba tiếng để làm, đối với mình bài này 5 tiếng là khá nhiều tuy nhiên do mình bị gấp nên mới bị như này. Bài có 2 file, 1 là byte code, 2 là 1 runner. Vì là 1 bài VM đơn giản nên mình cũng không nghĩ gì nhiều, mình mất vài chục phút và có thể hiểu được hàm main: Trước giờ VM thì mình thường viết disassembler cho dễ reverse và trace, tuy vấn đề chỉ bắt đầu khi mà mình nghĩ bài này nó dễ, nên ban đầu mình chỉ debug, xem cách nó biến đổi input và rev lại. Tuy nhiên mình đã nhầm và mình mất 2~3 tiếng vào việc này một cách khá là vô nghĩa.
     Like  Bookmark
  • Checker Ý tưởng của bài này khá là cơ bản, là một flag checker đơn giản với phần code là lua compiled. Do đó điều đầu tiên mình làm là decompile cái file checker Okay, nó là lua version 5.4 nên mình dùng unluac thay vì decompiler khác: Phần code khá là đơn giản, nó chỉ modified input và compare với buffer có sẵn, cho nên việc rev cũng khá là dễ dàng: Đây là full script solve của mình: from pwn import xor
     Like  Bookmark
  • Tiếp tục là một task rev nhỏ của a mochi, lần này thời gian ít hơn nên mình nghĩ nó cũng không khó. Điều quen thuộc đầu tiên của mình về task lần này là file size khá giống lần trước, khả năng cao lại là dotnet embedded. Lần này là 1 file elf và vẫn là flag checker: Dotnet Embedded nên lần này mình vẫn dùng dotpeek để extract toàn bộ source ra: Tuy nhiên vì dotpeek không hỗ trợ elf nên không thể load trực tiếp vào được. Nhưng mà có 1 trick nhỏ là mình chỉ cần đổi đuôi elf thành .exe thì sẽ được. Vẫn sẽ dump được bình thường: Okay đây là hàm main, mọi thứ trông khá là dễ dàng, chỉ cần brute từng cặp kí tự từ cuối flag trở đi là sẽ được...
     Like  Bookmark
  • Tiếp tục là 1 task của a mochi và bài lần này không khó nhưng nó khá là thú vị ở cách mình tiếp cận. Đây sẽ là wu nhỏ nói sơ về quá trình mình làm trong lúc mình không có bất kì gợi ý nào. Okay như mọi bài khác, mình check xem nó là file gì: Mình thấy nó khá là bình thường, thử chạy và sau đó load vào IDA, nó là Password checker: Approach 1: IDA - debugging Đây là hàm main và nó sử dụng exe_start, bên trong nó tiếp tục sử dụng execute và ... Vấn đề ở đây là mình sẽ rất khó tìm được đoạn check nếu cứ trace mãi như thế.
     Like  Bookmark
  • Đây là report nho nhỏ về task của a mochi đã giao cho mình: BFS and DFS Để mình nói sơ về phần thuật toán trước: Qua nhiều lần chơi nhiều bài rev khác nhau, mình thấy bfs và dfs chúng ta sẽ gặp tương đối nhiều, chủ yếu là các bài tìm đường đi, blind maze,... Đặt điểm chung của các bài này giống như programing bình thường, tuy nhiên với mỗi bài sẽ có cách biểu diễn các node và các step khác nhau. Để tổng quan lại các bạn có thể hình dung như thế này: BFS:
     Like  Bookmark
  • Challenge description Attachment: tinyx Overview Chương trình này là một VM đơn giản được viết bằng golang, tuy nhiên nó đã mất hết symbols. Do đó, việc đầu tiên cần phải làm là khôi khục lại toàn bộ symbols để có thể rev dễ dàng hơn: Để khôi phục symbol, mình đã dùng tool này: GoReSym Mình dùng bản windows build sẵn ở tab release, trước tiên chúng ta cần extract toàn bộ symbol vào 1 file json:
     Like 1 Bookmark
  • Gues Các bài rev ở đây thường không có description :D Chạy file: Code trong IDA (đã được rename function và biến): Như ta có thể thấy, chương trình nhận vào input 4 kí tự nếu lớn hơn thì xuất ra "too long" và exit. Còn đây là bên trong susfunction:
     Like 1 Bookmark
  • Hi, I'm Jinn As a reverser of the team, I try my best on 2 challenge: Is that crypto? and Go Mal!. These 2 challenges are fantastic and so cool. Btw, I also solve some other easy problems like Japanese, python is safe?, grind.Therefore, I will provide detailed explanations for 2 reverse challenges and briefly mention the remaining ones. Rev + Crypto: Is this crypto? Challenge file: main IDA .i64 file (renamed function, variable): main.i64 This challenge give me binary written in C++, but it seem clearly and without any strip, here is inside of main function:
     Like 2 Bookmark
  • First of all, I'm very excited because my team made it into the top ten. Thanks to my teammate. Keep it up, The Council of Sheep !!!! I am responsible for all reversing challenge that my team solved. But there are some challenge I collab with my teammate. So, let's see how we did it! checkers 20 points, 828 solves checkers Author: JoshDaBosh This one very easy, just look into IDA or using anything to view strings.
     Like 1 Bookmark
  • Rev/CSS-crimes - 200pts Description: I found this locked chest at the bottom o' the ocean, but the lock seems downright... criminal. Think you can open it? We recommend chrome at 100% zoom. Other browsers may be broken. The challenge link here First look At the first look, it seems like a simple flag checker, but after I inspect this page, there is no <script> tag here. That why this challenge little hard.
     Like  Bookmark
  • Welcome to HackMD! :tada: This note will get you started on writing in Markdown in no time. You can try things out right in this note as a playground or leave it in your workspace as a cheatsheet. :::success :bulb: Are you in Both Mode?
     Like  Bookmark
  • ELDAR Đầu tiên là em đọc sơ qua file Makefile thì chỉ biết sơ là nó hướng dẫn sử dụng. serial: gcc -shared -o libserial.so serial.c run: ./eldar clean: rm libserial.so > /dev/null
     Like  Bookmark
  • Microsoft ❤️ Linux - 127 solves/122 points Description: Microsoft's latest addition to the world of Open Source: a flag checker... Attachment file: m<3l.exe Thử check file với DiE: Thì mình phát hiện nó là file elf nhưng mà đuôi nó là exe:)))
     Like  Bookmark
  • Trước hết bạn cần có các tools cần thiết để dùng reverse: IDA Pro Detect it easy (DIE) CTF Explorer Resource Hacker dnSpy Easy Crack - 100pts Mở file lên thì ta biết đây là 1 file check password
     Like 1 Bookmark
  • re01-WhiteHatPlay11v1 - 128pts Check file bằng DiE và mở bằng IDA32: Input của mình sau khi nhập vào Buffer thì sẽ được đưa vào hàm sub_4010A0() xử lí: Trong hàm này, mình đã đổi 0x55 thành 85 cho dễ nhìn, tới đây mình thấy nghi nghi, thử bấm vào byte_40EFB0 xem nó là gì: Rồi luôn, tới đây thì mình khá chắc là chương trình này dùng base85, mình thử kiếm cipher trong string và xref, mình thấy 2 đoạn này khá phù hợp:
     Like  Bookmark