Site Tools


Hotfix release available: 2025-05-14b "Librarian". upgrade now! [56.2] (what's this?)
babyrev

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
babyrev [2025/07/13 00:15] 86.247.56.28babyrev [2025/07/13 00:23] (current) 86.247.56.28
Line 1: Line 1:
-====== Analysis ======+====== babyRev ====== 
 + 
 +===== Analysis =====
  
 file nous dit que c'est un executable avec addresses dynamiques et avec les infos de debug file nous dit que c'est un executable avec addresses dynamiques et avec les infos de debug
Line 13: Line 15:
 {{:screenshot_2025-07-13_001043.png?nolink|}} {{:screenshot_2025-07-13_001043.png?nolink|}}
  
-====== Reverse ======+===== Reverse ===== 
 +pour l'instant on a notre flag a comparer apres mapping 
 + 
 +<code> 
 +L3AK{ngx_qkt_fgz_ugffq_uxtll_dt} 
 +</code> 
 a partir de la on peut facilement extraire le mapping en lui passant une string de a-z en input  a partir de la on peut facilement extraire le mapping en lui passant une string de a-z en input 
  
Line 26: Line 34:
 {{:screenshot_2025-07-13_001429.png?nolink|}} {{:screenshot_2025-07-13_001429.png?nolink|}}
  
 +si on la convertit en code ca donne un truc du genre
 +
 +<code c>
 +void init_remap(void) {
 +    for (int i = 0; i < 0x80; i++) {
 +        remap[i] = (char)i;
 +    }
 +    remap['a'] = 'q';
 +    remap['b'] = 'w';
 +    remap['c'] = 'e';
 +    remap['d'] = 'r';
 +    remap['e'] = 't';
 +    remap['f'] = 'y';
 +    remap['g'] = 'u';
 +    remap['h'] = 'i';
 +    remap['i'] = 'o';
 +    remap['j'] = 'p';
 +    remap['k'] = 'a';
 +    remap['l'] = 's';
 +    remap['m'] = 'd';
 +    remap['n'] = 'f';
 +    remap['o'] = 'g';
 +    remap['p'] = 'h';
 +    remap['q'] = 'j';
 +    remap['r'] = 'k';
 +    remap['s'] = 'l';
 +    remap['t'] = 'z';
 +    remap['u'] = 'x';
 +    remap['v'] = 'c';
 +    remap['w'] = 'v';
 +    remap['x'] = 'b';
 +    remap['y'] = 'n';
 +    remap['z'] = 'm';
 +}
 +</code>
 +
 +
 +sauf que nous on veut l'inverse donc
 +
 +<code c>
 +void init_reverse_remap(void) {
 +    for (int i = 0; i < 0x80; i++) {
 +        reverse_remap[i] = (char)i;
 +    }
 +    reverse_remap['q'] = 'a';
 +    reverse_remap['w'] = 'b';
 +    reverse_remap['e'] = 'c';
 +    reverse_remap['r'] = 'd';
 +    reverse_remap['t'] = 'e';
 +    reverse_remap['y'] = 'f';
 +    reverse_remap['u'] = 'g';
 +    reverse_remap['i'] = 'h';
 +    reverse_remap['o'] = 'i';
 +    reverse_remap['p'] = 'j';
 +    reverse_remap['a'] = 'k';
 +    reverse_remap['s'] = 'l';
 +    reverse_remap['d'] = 'm';
 +    reverse_remap['f'] = 'n';
 +    reverse_remap['g'] = 'o';
 +    reverse_remap['h'] = 'p';
 +    reverse_remap['j'] = 'q';
 +    reverse_remap['k'] = 'r';
 +    reverse_remap['l'] = 's';
 +    reverse_remap['z'] = 't';
 +    reverse_remap['x'] = 'u';
 +    reverse_remap['c'] = 'v';
 +    reverse_remap['v'] = 'w';
 +    reverse_remap['b'] = 'x';
 +    reverse_remap['n'] = 'y';
 +    reverse_remap['m'] = 'z';
 +}
 +</code>
 +
 +reste plus qu'a faire un petit programme a la con pour passer le flag initial qu'on avait dans ce mapping et ca donne
 +
 +{{:screenshot_2025-07-13_001959.png?nolink|}} 
 +
 +voila done
babyrev.1752358512.txt.gz · Last modified: by 86.247.56.28