[Ollydbg 1.x] OllyMSDN plugin

2013. 7. 11. 00:28 from Security

리버싱 공부중 우연히 좋은 플러그인을 하나 발견했습니다.

이때까지 모르는 api는 그때그때 msdn에다 직접 검색하면서 공부하였는데 

이 플러그인은 바로 그런 번거로움을 없애주고 직접 msdn사이트에서 찾고자 하는 api를 찾아줍니다


 

OllyMSDN.zip




dll을 풀어도 안되는 경우가 있는데 win32.hlp도 함께 넣어줘야 합니다.

win32.hlp는 진짜 파일이 아니여도 되고 이름만 win32.hlp면 됩니다


플러그인 사용법은 자신이 검색하고자 하는 api에 오른쪽 마우스 클릭후 

Help on symbolic name(CTRL + F1) 을 클릭해주시면 됩니다.



'Security' 카테고리의 다른 글

허..  (0) 2013.10.17
php extract vulnerability  (0) 2013.10.13
RTL시 pop pop ret, exit 함수 호출의 원리  (2) 2013.09.26
유용한 자료들..  (0) 2013.04.22
Duelist crackme #1 풀이  (0) 2013.03.10
Posted by xer0s :

Things to do..

2013. 7. 9. 23:50 from General News/Life story

겨울 방학이 2주도 안남았는데

이번 방학은 저번 겨울방학과는 달리 정말 알차게 보내보고 싶네요.

맨날 할일들만 적어놓고 실천을 안하는 경우가 태반인데 

이 포스팅에 쓴 것 만큼은 방학동안 꼭 열심히 해봐야겠습니다.


  • 리버싱 핵심원리 고급 리버싱 파트 + pe 복습
  • 와이어샤크 익숙해지기 + TCP/IP Illustrated 필요한 부분 읽기
  • window via c/c++ 스터딩 
  • c++문법 익숙해지기 + stl공부
  • 자료구조 공부
  • wargame.kr, codeengn, reversing.kr 
  • 리마, 정보처리기능사 자격증 따기 

시간 참 빠른듯..


'General News > Life story' 카테고리의 다른 글

2014 순천향대 청소년 정보보호 페스티벌 예선  (0) 2014.08.14
2014 코드게이트 주니어 세미나 발표자료 및 후기  (2) 2014.04.03
근황..  (3) 2013.12.31
합격!  (0) 2013.11.27
으..  (0) 2013.09.05
Posted by xer0s :

c++ 급여 관리 시스템

2013. 7. 9. 01:45 from Programming

요즘 c++ 배우고 있는데 가상함수 복잡복잡 하네요



#include <iostream>

#include <cstring>

using namespace std;


class Employee

{

private:

char name[100];

public:

Employee(char * name)

{

strcpy(this->name, name);

}

virtual int GetPay() const =0;

virtual void ShowSalaryInfo() const =0;


    void ShowYourName() const

{

cout<<"Name: "<<name<<endl;

}

};


class PermanentWorker : public Employee

{

private:

int salary;

public:

PermanentWorker(char * name, int money) : Employee(name), salary(money)

{ }

int GetPay() const

{

return salary;

}

void ShowSalaryInfo() const

{

ShowYourName();

cout<<"salary: "<<GetPay()<<endl<<endl;

}

};


class EmployeeHandler

{

private:

Employee * empList[50];

int empNum;

public:

EmployeeHandler() : empNum(0)

{ }

void AddEmployee(Employee * emp)

{

empList[empNum++]=emp;

}

void ShowAllSalaryInfo() const

{

}

void ShowTotalSalary() const

{

int sum=0;

cout<<"salary sum: "<<sum<<endl;

}

~EmployeeHandler()

{

for(int i=0; i<empNum; i++)

delete empList[i];

}

};


class TemporaryWorker : public Employee

{

private:

int workTime;

int payPerHour;

public:

TemporaryWorker(char * name, int pay) : Employee(name), workTime(0), payPerHour(pay)

{ }

void AddWorkTime(int time)

{

workTime+=time;

}

int GetPay() const

{

return workTime * payPerHour;

}

void ShowSalaryInfo() const

{

ShowYourName();

cout<<"salary: "<<GetPay()<<endl<<endl;

}

};


class SalesWorker : public PermanentWorker

{

private:

int salesResult;

double bonusRatio;

public:

SalesWorker(char * name, int money, double ratio) : PermanentWorker(name, money), salesResult(0), bonusRatio(ratio)

{ }

void AddSalesResult(int value)

{

salesResult+=value;

}

int GetPay() const

{

return PermanentWorker::GetPay() + (int)(salesResult * bonusRatio);

}

void ShowSalaryInfo() const

{

ShowYourName();

cout<<"salary: "<<GetPay()<<endl<<endl;

}

};


int main(void)

{

EmployeeHandler handler;


handler.AddEmployee(new PermanentWorker("kim", 1000));

handler.AddEmployee(new PermanentWorker("lee", 1500));


TemporaryWorker * alba = new TemporaryWorker("jung", 700);

alba->AddWorkTime(5);

handler.AddEmployee(alba);


SalesWorker * seller = new SalesWorker("hong", 1000, 0.1);

seller->AddSalesResult(7000);

handler.AddEmployee(seller);


handler.ShowAllSalaryInfo();


handler.ShowTotalSalary();

return 0;



'Programming' 카테고리의 다른 글

[dovelet]-crypt  (0) 2014.01.20
os 판별 코드  (0) 2013.10.11
Binary Search  (0) 2013.07.18
좋은 사이트..  (0) 2013.07.13
BlackJack in Python  (0) 2013.05.12
Posted by xer0s :