2019-01-01から1年間の記事一覧

ASPack UnPack

ASPackのUnpackは大きく2つの方法に分かれる。(他にもあるかもしれない。) 1。retn 0c 命令を見つけてその下にあるPUSH ~~~部分のアドレスがOEPになる。 2。pushad をtraceした後全てのRegisterがStackに入った後、ESPの値にHardware BreakPointをセッ…

Python Challenge] Level1. maketrans()

str.maketrans(intab, outtab]); Parameters intab − This is the string having actual characters. outtab − This is the string having corresponding mapping character. example code : intab = "aeiou" outtab = "12345" trantab = str.maketrans(inta…

VB function description for reversing

偶然見つけたサイト。 VB Fileを分析する時結構助かる。 Note:VB function description for reversing | hvoid code

PE FORMAT] -5- Section Header

参考: docs.microsoft.com PE FILEを多数のSECTION構造にした時得られる利点→安定性 typedef struct _IMAGE_SECTION_HEADER { BYTE Name[IMAGE_SIZEOF_SHORT_NAME]; union { DWORD PhysicalAddress; DWORD VirtualSize; } Misc; DWORD VirtualAddress; DWOR…

PE FORMAT] -4- NT Header (DOS Sign, IMAGE_FILE_HEADER, IMAGE_OPTIONAL_HEADER)

参考: docs.microsoft.com NT Headerの構造体はIMAGE_NT_HEADERS. typedef struct _IMAGE_NT_HEADERS { DWORD Signature; // PE sign (50 45 00 00) IMAGE_FILE_HEADER FileHeader; IMAGE_OPTIONAL_HEADER32 OptionalHeader; } IMAGE_NT_HEADERS32, *PIMAGE…

PE FORMAT] -3- DOS Stub

DOS Headerの下にはDOS Stubが存在する。 DOS StubはCompileするときにoptionで入れるかどうかが選択できる。 notepad.exeのDOS Stub もしプログラムがDOS環境で実行された時、This program cannot be run in DOS modeを出力してそのまま終了させる部分であ…

PE FORMAT] -2- DOS MZ HEADER

PE HEADERは最初にDOS EXE Headerを拡張させたIMAGE_DOS_HEADER構造体が存在。 typedef struct _IMAGE_DOS_HEADER { WORD e_magic; . . . WORD e_lfanew; } IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER; *structure size: 40 IMAGE_DOS_HEADER (notepad.exe) <必…

PE FORMAT] -1- 基本構造

[ VA & RVA ] - VA (Virtual Address) : プロセス仮想メモリーの絶対アドレス - RVA (Relative Virtual Address) : プロセス仮想メモリーの相対アドレス ** VA = RVA + ImageBase FILEでのアドレスは offset MEMORYでのアドレスは VA https://resources.info…

C] pointer - &,*

int *imsip; // メモリーaddressを保存するために宣言。 int imsi = 5; // imsiというint型変数に5を入れる。 &imsi; // int型変数は4bit (address ex: 000000 - 000004) ここで&imsiはimsi変数の値が保存されているメモリーaddressの先頭addressが格納され…

C#] yield , IEnumerator , IEnumerable

using System; using System.Text; using System.Collections.Generic; namespace MyPractice { public class MyEnumerator { private int data = { 10, 20, 30, 40, 50 }; public IEnumerator<int> GetEnumerator() //IEnumerator **GetEnumerator { // **IEnume</int>…

C#] Loop

using System; using System.Text; using System.Collections.Generic; namespace MyPractice { class Program { static void Main(string args) { /* * 2019.04.17 * by 4ru4ka */ // for Loop for (int i = 0; i < 10; i++) Console.WriteLine(i); // fore…

C#] if, switch

using System; using System.Text; namespace MyPractice { class Program { static void Main(string[] args) { /* * C# - if, switch * 2019.04.05 * by 4ru4ka */ if (args.Length != 1) { Console.WriteLine("program /option"); return; } bool switch1…

C#] Operator

using System; using System.Text; namespace MyPractice { class Program { static void Main(string[] args) { /* * C# - Operator * 2019.04.01 * by 4ru4ka */ //Shift operator int i = 2; i = i << 5; int j = 3; j = j << 5; Console.WriteLine("{0} …

C#] enum & enum flag

using System; using System.Text; namespace MyPractice { class Program { enum Univ { Meiji, // 0 Aoyama, // 1 Rikkyo, // 2 Chuo, // 3 Hosei = 10 // 10 } [Flags] enum Univf { Meiji = 1, Aoyama = 2, Rikkyo = 4, Chuo = 8, Hosei = 16 } static v…

C#] String & StringBuilder sample

using System; using System.Text; namespace MyPractice { class Program { static void Main(string args) { /* * 2019.04.01 * by 4ru4ka */ // string : Immutable // string -> group of char string str1 = "I am"; string str2 = "Happy"; // char ch…

Reversing] General Purpose Register

EAX, EBX, ECX, EDX ;主に算数演算(ADD,SUB,XOR,OR)の命令語で変数の保存用として使われる。 ESP ;Stack Pointer(スタックメモリーのaddressを示す。) EBP ;関数が呼び出された瞬間のESPを保存し、関数がReturnする直前にまたESPに値を返してスタックが潰さ…

Reversing] 関数が始まる部分

関数の始まり PUSH EBP MOV EBP, ESP ; EBPにこの関数が始まる前のスタックを保存。

reversing tutorial website

http://www.tuts4you.com/

project] sysinternals

Microsoft で提供しているprocess explorerのミニコンソール版のプログラム達をC/C++を使って作っていくプロジェクトです。 process/DLLへの理解度が高くなるかも。。。? https://technet.microsoft.com/en-us/sysinternals/default.aspx 過程とかはtypora…