Senin, 02 Juli 2012

PE Explorer 1.99 R6 Full



View, Edit, and Reverse Engineer EXE and DLL Files.

PE Explorer is the most feature-packed program for inspecting the inner workings of your own software, and more importantly, third party Windows applications and libraries for which you do not have source code.

PE Explorer lets you open, view and edit a variety of different 32-bit Windows executable file types (also called PE files) ranging from the common, such as EXE, DLL and ActiveX Controls, to the less familiar types, such as SCR (Screensavers), CPL (Control Panel Applets), SYS, MSSTYLES, BPL, DPL and more (including executable files that run on MS Windows Mobile platform)

[hide]
[/hide]

Pengertian HTTP, Sejarah HTTP dan Cara Kerja HTTP


HTTP (Hypertext Transfer Protocol) adalah suatu protokol yang digunakan untuk mentransfer dokumen/halaman dalam WWW (World Wide Web). HTTP mendefinisikan bagaimana suatu pesan dapat diformat dan dikirimkan dari client ke server atau sebaliknya. HTTP mengatur aksi apa saja yang harus dilakukan oleh web server dan web browser sebagai respon atas perintah-perintah yang ada pada protokol HTTP ini.

Pengembangan standar HTTP dilaksanakan oleh Konsorsium World Wide Web (World Wide Web Consortium/W3C) dan juga Internet Engineering Task Force (IETF), yang menghasilkan publikasi beberapa dokumen Request for Comments (RFC), antara lain RFC 2616 yang mendefinisikan tentang HTTP/1.1. (dipublikasikan pada bulan Juni 1999).

Quote
HTTP merupakan sebuah protokol untuk meminta/menjawab antara klien dan server. Sebuah klien HTTP (seperti web browser atau robot dan lain sebagainya), biasanya memulai permintaan dengan membuat hubungan ke port tertentu di sebuah serverWebhosting tertentu (biasanya port 80). Klien yang mengirimkan permintaan HTTP juga dikenal dengan user agent. Server yang meresponsnya, yang menyimpan sumber daya seperti berkas HTML dan gambar, dikenal juga sebagai origin server. Di antara user agent dan juga origin server, bisa saja ada penghubung, seperti halnya proxy, gateway, dan jugatunnel. Sumber yang hendak diakses dengan menggunakan HTTP diidentifikasi dengan menggunakan Uniform Resource Identifier (URI), atau lebih khusus melalui Uniform Resource Locator (URL), menggunakan skema URI http: atau https:.


Bagaimana cara kerja dari HTTP tersebut?

Bila kita mengklik link hypertext atau kita mengetikkan suatu alamat atau URL pada internet browser, maka Anda sedang mentransfer URL ke browser, dan Dari URL ini browser Anda tahu server mana yang akan dihubungi dan file apa yang diminta kemudian  web browser akan mengirimkan perintah HTTP ke web server. Web server selanjutnya akan menerima perintah ini dan melakukan aktivitas sesuai dengan perintah yang diminta oleh web browser. Hasil aktivitas tadi akan dikirimkan kembali ke web browser untuk ditampilkan kepada kita.

Bagaimana proses transaksi data HTTP?

Selama transaksi http, para pemohon atau yang dikenal sebagai klien, meminta file ke server melalui web browser.

Skema normal :
  • Klien terhubung ke host,
  • Server menerima koneksi,
  • Klien permintaan file,
  • Server mengirimkan respon (termasuk file atau tidak).
Contoh permintaan dan penerimaan HTTP

Pertama, Anda ingin http header halaman contoh (halaman ini).
Jadi, Anda mengisi alamat URL pada browser yaitu “http://www.koesut.koesut.org/forum-http/” kemudian browser Anda akan tersambung dan mengirimkan:

Connect to 116.199.xxx.xxx on port 80 ... ok
GET /2011/03/forum-http/ HTTP/1.1
Host: www.koesut-koesut.orgConnection: keep-aliveUser-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.15) Gecko/20110303 AlexaToolbar/alxf-2.11 Firefox/3.6.15 GTB7.1
Accept-Encoding: gzipAccept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7
Cache-Control: no-cacheAccept-Language: de,en;q=0.7,en-us;q=0.3

Quote
Penjelasan: browser Anda meminta halaman yang disebut “/2011/03/forum-http/” menggunakan protokol http1.1. Browser Anda menggunakan bahasa Inggris dan Firefox 3.6.15. Browser Anda menginginkan koneksi (socket) tetap terbuka antara Anda dan www.koesut-koesut.org, sehingga dapat meminta file lebih lanjut.

Status: HTTP/1.1 200 OKDate:Wed, 23 Mar 2011 03:01:08 GMTServer:Apache/2.2.13 (Unix) mod_ssl/2.2.13 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.10
X-Powered-By:PHP/5.2.10
X-Pingback:http://www.koesut-koesut.org/xmlrpc.php
Connection:closeTransfer-Encoding:chunkedContent-Type:text/html; charset=UTF-8
[ISI FILE...]

Pertama, web server mengetahui halaman yang Anda inginkan dan bisa mengirimkannya: kode 200. Lalu, Anda memiliki beberapa info lebih lanjut tentang server: Apache di Unix, socket ditutup setelah halaman html, tanggal modifikasi terakhir. Dan akhirnya, file yang diminta.

Draw Text Centered

Description
Quote
Graphics code snippet to draw some text centered on a TImage.
Assumes you have already defined GetFontHeight.

Snippet
#include <string>
#include <cassert>
void DrawTextCentered(TImage * const image, const std::string& s)
{
  const int textWidth = image->Canvas->TextWidth(s.c_str());
  const int textHeight = GetFontHeight(image);
  assert(textHeight >= 0);
  const int midX = image->Picture->Graphic->Width  / 2;
  const int midY = image->Picture->Graphic->Height / 2;
  const int x1 = midX - (textWidth  / 2);
  const int y1 = midY - (textHeight / 2);
  const int x2 = midX + (textWidth  / 2);
  const int y2 = midY + (textHeight / 2);
  image->Canvas->TextRect(
        TRect(x1,y1,x2,y2),
        x1,y1,s.c_str());
}

Hex to RGB converter.


Quote
Converts a Hex string to RGB.

#include <iostream>
#include <string>
#include <sstream>

// RGB struct, with it's attributes: R, G and B.
struct RGB{
size_t R;
size_t G;
size_t B;
};
// Convert hexadecimal to decimal.
size_t hexToDec(const std::string &Hex)
{
std::istringstream istr(Hex);
size_t val;
// std::hex so the stringstream knows that
// we passed a hex.
istr >> std::hex >> val;
return val;
}
// Check for valid hex format.
bool isValidHex(const std::string &Hex)
{
// Allowed chars in the HEX string:
static const std::string allowedChars = "#0123456789abcdefABCDEF";
// The first character is #?
if (Hex[0] == '#')
{
  // Then the HEX string must have the length 7
  if (Hex.length() != 7)
   return false;
}
else
  // The first char is not #, then the HEX string
  // must have the length 6.
  if (Hex.length() != 6)
   return false;
// Check for non allowed chars:
if (Hex.find_first_not_of(allowedChars) != Hex.npos)
  return false;
return true;
}
RGB hexToRGB(std::string Hex)
{
if (!isValidHex(Hex))
  throw ((const std::string)"Received a non-valid hex string!\n");
// Remove # if present.
if (Hex[0] == '#')
  Hex.erase(Hex.begin());
// R = the substring with character 0 and 1.
std::string R = Hex.substr(0, 2);
// G = the substring with character 2 and 3.
std::string G = Hex.substr(2, 2);
// B = the substring with character 4 and 5.
std::string B = Hex.substr(4, 2);
RGB temp;
temp.R = hexToDec(R);
temp.G = hexToDec(G);
temp.B = hexToDec(B);
return temp;
}
// test
int main()
{
try
{
  RGB myRGB = hexToRGB("34cfff");
  // 34cfff to rgb is 52, 207, 255
  std::cout << "34cfff -> RGB(" << myRGB.R << ", " << myRGB.G << ", " << myRGB.B << ")\n";
}
catch (const std::string &e)
{
  std::cout << e << std::endl;
}
return 0;
}

Google Web Search


Quote
This snippet performs a google web search, showing the results in the default webbrowser.



//This snippet performs a google web search, showing the results in the default webbrowser.
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
//function to obtain the full url of the Google Websearch
string WebSearch(string query) {
  int i=0;
  for(i; i<query.size(); i++) {
  if(query[i]==' ') { //if the query contains a space, replace it with "+"
  query=query.replace(query.find(" ",0), 1, "+"); 
  }
  else if(query[i]=='+') { // if the query contains a "+" replace it with "%2B"
  query=query.replace(query.find("+",0), 1, "%2B");
  }
  }
  string url="http://www.google.com/search?q=";
  url.insert(url.size(), query);
  return url.c_str(); }
//The main program
int main() {   
        string s;
        getline(cin,s);
        s=WebSearch(s);
        ShellExecute(NULL, "open", s.c_str(), NULL, NULL, SW_SHOWNORMAL);
        return 0;
}

Hexavigesimal Conversion (Base 10 to Base 26)

Convert a Base 10 number to a Base 26 equivalent

 #include <iostream>
using namespace std;
void base26(int num){
string hex = "";
int ret = 0;
while ( num > 25 ){
int i = num % 26;
num = num / 26;
ret = atoi(hex.c_str());
hex = (char)(i+97)+ret;
}
hex = (char)(num+97) + ret;
for ( int i = 0; i < hex.size(); i++ )
cout << hex[i];
}
int main(){
int num;
cout << "Enter base 10(1-25) number to convert to base 26 (Hexavigesimal):\n";
cin >> num;
if ( num > 25 ){
cout << "Error must be 1-25\n"; exit(1);
}//endif
base26(num);
return 0;
}

Hide Module DLL

Simpan Di Data.H Kalian

void HideModule(HINSTANCE hModule)
{
        DWORD dwPEB_LDR_DATA = 0;
        _asm
        {
        pushad;
        pushfd;
        mov eax, fs:[30h];
        mov eax, [eax+0Ch];
        mov dwPEB_LDR_DATA, eax;
        mov esi, [eax+0Ch];
        mov edx, [eax+10h];
        LoopInLoadOrderModuleList:
                lodsd;
                mov esi, eax;
                mov ecx, [eax+18h];
                cmp ecx, hModule;
                jne SkipA
                mov ebx, [eax]
                mov ecx, [eax+4]
                mov [ecx], ebx
                mov [ebx+4], ecx
                jmp InMemoryOrderModuleList
        SkipA:
                cmp edx, esi
                jne LoopInLoadOrderModuleList
InMemoryOrderModuleList:
        mov eax, dwPEB_LDR_DATA
        mov esi, [eax+14h]
        mov edx, [eax+18h]
        LoopInMemoryOrderModuleList:
                lodsd
                mov esi, eax
                mov ecx, [eax+10h]
                cmp ecx, hModule
                jne SkipB
                mov ebx, [eax]
                mov ecx, [eax+4]
                mov [ecx], ebx
                mov [ebx+4], ecx
                jmp InInitializationOrderModuleList
        SkipB:
                cmp edx, esi
                jne LoopInMemoryOrderModuleList
InInitializationOrderModuleList:
        mov eax, dwPEB_LDR_DATA
        mov esi, [eax+1Ch]
        mov edx, [eax+20h]
        LoopInInitializationOrderModuleList:
                lodsd
                mov esi, eax     
                mov ecx, [eax+08h]
                cmp ecx, hModule     
                jne SkipC
                mov ebx, [eax]
                mov ecx, [eax+4]
                mov [ecx], ebx
                mov [ebx+4], ecx
                jmp Finished
        SkipC:
                cmp edx, esi
                jne LoopInInitializationOrderModuleList
        Finished:
                popfd;
                popad;
        }
}

Bila Sudah Langsung Kita Aktivkan Dengan menaruh

HideModule(hDll);

Pada DLL.MAIN Kalian Sebagai perintah pemanggil tread

Mohon maaf Cuma Bisa Share ini tapi Mdah2an Bermanfaat

NB : Kroco C++ SlanJoy