| APicturePerfectPassword |
Reversing (IDA Pro): Analyzed main() — reads 6-digit password, validates digits, then for each digit indexes into off_1400A40C0 which contains 10 entries (one per digit 0-9). Each entry points to a 100×100 32-bit BMP template embedded in .rdata.
Core logic (sub_140002450): Parses the 6 BMPs via sub_1400020D0 (BMP parser), concatenates them horizontally into a 600×100 pixel buffer, then compares it via memcmp against unk_1400674A0 (solution_data).
Data extraction (IDA Python):
- Dumped solution_data (240000 bytes = 600×100×4) as solution.bmp
- Dumped all 10 digit templates as digit_0.bmp – digit_9.bmp
Visual analysis: solution.bmp appeared garbled. The pixel data was stored mirrored + 180° rotated in solution_data. After correcting the orientation, the image clearly showed the 6 digits.
Password: 426371 |
2026-07-17 15:48 |