EMO Style ForumPro - Hos Geldiniz
[Tutorial] How to inject code into an EXE Uyeols10

Join the forum, it's quick and easy

EMO Style ForumPro - Hos Geldiniz
[Tutorial] How to inject code into an EXE Uyeols10
EMO Style ForumPro - Hos Geldiniz
Would you like to react to this message? Create an account in a few clicks or log in to continue.
Giriş yap

Şifremi unuttum

Istatistikler
Toplam 203 kayıtlı kullanıcımız var
Son kaydolan kullanıcımız: crayzboy76

Kullanıcılarımız toplam 1186 mesaj attılar bunda 862 konu
Tarıyıcı
 Kapı
 Indeks
 Üye Listesi
 Profil
 SSS
 Arama
Arama
 
 

Sonuç :
 


Rechercher çıkıntı araştırma

RSS akısı


Yahoo! 
MSN 
AOL 
Netvibes 
Bloglines 


Anahtar-kelime

pointer  loot  kutu  

Kimler hatta?
Toplam 7 kullanıcı online :: 0 Kayıtlı, 0 Gizli ve 7 Misafir :: 1 Arama motorları

Yok

[ Bütün listeye bak ]


Sitede bugüne kadar en çok 217 kişi C.tesi Tem. 29, 2017 1:46 am tarihinde online oldu.
En son konular
» İnternetten Para Kazandıran Oyun ! Ödeme Alt Limiti Yok ! DEV KONU
[Tutorial] How to inject code into an EXE I_icon_minitimeCuma Ağus. 29, 2014 8:33 am tarafından Hello EMO

» goldenchase.net maden yaparak para kazanma
[Tutorial] How to inject code into an EXE I_icon_minitimeCuma Ağus. 29, 2014 8:18 am tarafından Hello EMO

» etichal hacker görsel egitim seti
[Tutorial] How to inject code into an EXE I_icon_minitimeÇarş. Ağus. 06, 2014 4:57 am tarafından Hello EMO

» KO TBL Source C#
[Tutorial] How to inject code into an EXE I_icon_minitimePtsi Ara. 09, 2013 6:36 am tarafından Hello EMO

» x86 Registers
[Tutorial] How to inject code into an EXE I_icon_minitimeC.tesi Ağus. 24, 2013 5:02 am tarafından Hello EMO

» [Tutorial] Pegando Address, Pointers de WYD
[Tutorial] How to inject code into an EXE I_icon_minitimeÇarş. Tem. 10, 2013 7:25 am tarafından Hello EMO

» [Tutorial] Pegando Address, Pointers de CS Metodo²
[Tutorial] How to inject code into an EXE I_icon_minitimeÇarş. Tem. 10, 2013 7:23 am tarafından Hello EMO

» [Tutorial] Aprendendo basico deASM OLLYDBG
[Tutorial] How to inject code into an EXE I_icon_minitimeÇarş. Tem. 10, 2013 7:22 am tarafından Hello EMO

» Basic C# DLL injector
[Tutorial] How to inject code into an EXE I_icon_minitimePtsi Tem. 08, 2013 7:48 am tarafından Hello EMO

Reklam

[Tutorial] How to inject code into an EXE

Aşağa gitmek

[Tutorial] How to inject code into an EXE Empty [Tutorial] How to inject code into an EXE

Mesaj tarafından Hello EMO Perş. Mart 10, 2011 3:39 am

[QUOTE=Atari.2600;24143]
Title: How to inject code into a exe file
Autor: Iman Karim

*** THIS TUTORIAL IS ONLY FOR EDUCATIONAL PURPOSES!***
(english mistakes are default Razz)
-Requirements-
At first we need a debugger. I prefer OLLYDBG(the best debugger on earth Razz)
At twice we need a target application to inject our code.
I will take the windows NOTEPAD.EXE .
Make a copy if this EXE in a new folder named CodeInjectTest.
Thats all Wink

-Getting started-
Our goal is to inject some code into the Notepad.EXE .
In our case we'll inject a simple MessageBox at Notepads start.
Start up Notepad now and validize that Notepad is the original one.

[Tutorial] How to inject code into an EXE Notepad
[My Notepad screenshot]

If you're sure now that's the original Notepad open the Notepad.exe with Olly.
Yuppi! If you're ready you get this window:

[URL="http://home.inf.fh-rhein-sieg.de/%7Eikarim2s/how2injectcode/img/olly1.gif"] [Tutorial] How to inject code into an EXE Olly1s[/URL]
[click to enlarge]

Because we're going to inject some code we've to have some space to inject it.
In a EXE file are a lot of CodeCaves were nothing is done (DB 00).
So lets scroll the CPU window a little bit down until you find a CodeCave(look below).

[Tutorial] How to inject code into an EXE Cave
[CodeCaves]

Do you see the red box I've drawn for you? Wink THIS is a CodeCave!
Here we can inject some custom code without interfering the programs flow.
If you know the API call for a MessageBox you don't need to
read this lines.

***** START QUOTE FROM THE WIN32 PROGRAMMERS REFERENCE The MessageBox function creates, displays, and operates a message box.
The message box contains an application-defined message and title,
plus any combination of predefined icons and push buttons.
int MessageBox(
HWND hWnd, // handle of owner window
LPCTSTR lpText, // address of text in message box
LPCTSTR lpCaption, // address of title of message box
UINT uType // style of message box
);
***** END QUOTE FROM THE WIN32 PROGRAMMERS REFERENCE

This is all you need to know about the MessageBox.
Now its time to do something with the CodeCaves.
At first to use the MessageBox we need to create some text for output it on the
MessageBox. In the following picture I've selected some lines of the CodeCaves and
highlighted the BinaryEdit menu for you.

[Tutorial] How to inject code into an EXE Editcave

If you pressed on Binary=>Edit or (CTRL+E) you will see following window.
Just fill it out like me if you want.

[Tutorial] How to inject code into an EXE Binaryedit1

Press OK and you'll see the modified code in red:

[Tutorial] How to inject code into an EXE Modcode

Press now CTRL+A to reanalyze the code.

[Tutorial] How to inject code into an EXE Reanalyzed

OK! If you want to have a different MessageBox Caption than the title you can repeat this
step to make a second ASCII like the "INJECTED NOTEPAD".

-Some ASM-

Now its time for some ASM Wink
We need to invoke a MessageBox from ASM. This is quite simple!
PUSH 0 ; BUTTONS =
PUSH 1008751 ; CAPTION = Our adress of the "INJECTED NOTEPAD"
PUSH 1008751 ; MESSAGE = Same like above.
PUSH 0 ; ICON =
CALL MessageBoxA; Run MessageBoxA with the Params above.This few lines entered in Olly should look like this:

[Tutorial] How to inject code into an EXE Invoked

Do you see the arrow?! THIS IS NOW A VERY IMPORTANT STEP!
If we save it now and run it you will NOT see any effect. Why?
Because our litte routine is not called yet!
You need to write down the Offset of your first "PUSH 0" because we
need to make a jump from the programs origin to here and back again Wink
If you noted the offset of the first PUSH down, goto the origin of the program like below.

[Tutorial] How to inject code into an EXE Origin_goto

Now you're at the FIRST line of code which will be executed.
Do you remember that the first thing we wanted to do is to run our code? Smile
Yehaa! We're on the right way!
Select now from the origin some lines and copy it into the Clipboard.

[Tutorial] How to inject code into an EXE Copylines

Paste the clipboard into a texteditor and leave them there. We need this lines later.
If you have pasted it go to the first line of the program.
(In the picture upper it's the PUSH 70).
Double click on it and enter in the box "JMP "

[Tutorial] How to inject code into an EXE Origin_edit

Press on Assemble and you will the the again the red marked(patched) code.

[Tutorial] How to inject code into an EXE Edited_origin

Look to the redbox! This is the address we need to jump to after our injected code.
If we jump here after the injection the program will execute like without our injection Smile
But there is one thing we need to do at least!

Compare the "new" origin with the old one you've pasted into a clipboard.
You will see that there are a few lines overwritten! But this lines are needed to run
the programm without errors. Identify the lines which get overwritten.
In my case the overwritten lines are:
PUSH 70
PUSH NOTEPAD.01001898 Click on the first line (our JMP) and press ENTER.
You'll dropped to your MessageBox invokation!
After our CALL MessageBoxA we need to insert now the overwritten lines AND the jump back!

[Tutorial] How to inject code into an EXE Lastfix

NOW you're done!
(If you want to test the "JumpBack"-Jump just select it and press ENTER.
If you get to the right line you can be sure that's ok! If not check Offset!)
To save the "new" Notepad take a look the the following picture:

[Tutorial] How to inject code into an EXE Save

If you press on "All modifications" a new little window will be shown.
Press on "Copy All" on this window.
A new window with the new ASM code will be shown.
Close the new window (THE CHILD WINDOW! NOT OLLY DBG WINDOW!).
Then a save dialog let you choose a new filename.
Save the file and run it. If you're successful you will get this result:

[Tutorial] How to inject code into an EXE Done

Press on OK and Notepad will start normally Wink

Regards,
Atari.2600
[/QUOTE]
Hello EMO
Hello EMO
EMO Team
EMO Team

Cinsiyet : Erkek
Burçlar : Yay
Yılan
Mesaj Sayısı : 935
Puan : 373993
Rep Puanı : 18
Doğum tarihi : 28/11/89
Kayıt tarihi : 21/07/09
Yaş : 34
Nerden : EMO WorlD
İş/Hobiler : RCE Student / Game Hacking / Learn Beginner C#,C++,Delphi
Lakap : EMO

https://emostyle.yetkinforum.com

Sayfa başına dön Aşağa gitmek

Sayfa başına dön

- Similar topics

 
Bu forumun müsaadesi var:
Bu forumdaki mesajlara cevap veremezsiniz