テストファイル:https://www.lanzous.com/ib515vi
砲撃
情報を取得するには
- 32個のファイル
- UPX暗号化
コード分析
1 INTメイン(__cdecl INT ARGC、CONST チャー ** ARGV、CONST チャー ** envpを) 2 { 3 チャー V4。// [ESP + 12H] [EBP-2EH] 4 チャー V5。// [ESP + 13H] [EBP-2DH] 5 チャー V6。// [ESP + 14H] [EBP-2歴] 6 チャー V7。// [ESP + 15H] [EBP-2BH] 7 チャー V8。// [ESP + 16時間] [EBP-2AH] 8 チャー V9。// [ESP + 17H] [EBP-29H] 9 char型の V10; // [ESP + 18時間] [EBP-28H] 10 チャー V11。// [ESP + 19H] [EBP-27H] 11 チャー V12。// [ESP + 1AH] [EBP-26H] 12 CHAR V13。// [ESP + 1BH] [EBP-25H] 13 CHAR V14。// [ESP +代一] [EBP-24時間] 14 CHAR V15。// [ESP + 1Dhで] [EBP-23H] 15 INT V16。// [ESP + 1EH] [EBP-22H] 16 INT V17。// [ESP + 22H] [EBP-1EH] 17 のint V18。//[ESP + 26H] [EBP-1AH] 18 __int16 V19。// [ESP + 2AH] [EBP-16時間] 19 CHAR V20。// [ESP + 2歴] [EBP-14H] 20 CHAR V21。// [ESP +は2Dh] [EBP-13H] 21 CHAR V22。// [ESP + 2EH] [EBP-12H] 22 INT V23。// [ESP + 2Fhを] [EBP-11H] 23 INT V24。// [ESP + 33H] [EBP-DH] 24 のint V25。// [ESP + 37H] [EBP-9H] 25 チャー V26。// [ESP + 3 BH] [EBP-5H] 26 int型 I;// [ESP + 3CH] [EBP-4H] 27 28 __main()。 29 V4 = 42 。 30 V5 = 70 。 31 V6 = 39 。 32 V7 = 34 。 33 V8 = 78 。 34 V9 = 44 。 35 V10 = 34 。 36 V11 = 40 。 37 V12 = 73 。 38 V13 = 63 。 39 V14 = 43 。 40 V15 = 64 ; 41 のprintf(" 入力してください:" ); 42 のscanf(" %S "、&V19)。 43 であれば((_BYTE)V19 =!65 || HIBYTE(V19)=!67 || V20 =!84 || V21 =!70 || V22 =!123 || V26 =!125 ) 44 リターン 0 。 45 V16 = V23。 46 V17 = V24。 47 V18 = V25。 48 のための(私は=0 ; I <= 11。++ I) 49 { 50 であれば(*(&V4 + I)= _data_start __ [*((!CHAR *)・I + V16) - 1 ]) 51 リターン 0 。 52 } 53 のprintf(" あなたは正しいです!" ); 54 リターン 0 ; 55 }
サイクルは、ラインフォーカスのために観察され、サイクル長は、アレイV4と比較し、添字の値としてフラグのASCII値のフラグ11から学習しなければなりません。非常にシンプルな、ちょうど私達は、V4の_data_start__を使用して、配列内の位置を見つけるために、私たち値のフラグを必要とします
スクリプト
#- * -コーディング:UTF-8 - * - V4 = [42,70,39,34,78,44,34,40,73,63,43,64 ] モデル = R " } |?{zyxwvutsrqponmlkjihgfedcba` _ ^] \ [ZYXWVUTSRQPONMLKJIHGFEDCBA @> = <;: 9876543210 /.-,+*)(" + CHR(は0x27)+ R ' !&%$#」' POS = [] 以下のための私でV4: pos.append(model.find(CHR(i))を +1 ) S = [CHR(X + 1)のためのx におけるPOS] フラグ = '' .join(S) 印刷(' フラグ{ ' +フラグ+ ' } ')
フラグを取得します!
フラグ{U9X_1S_W6 @ T}?