EMO Style ForumPro - Hos Geldiniz
Giriş yap

Şifremi unuttum

Istatistikler
Toplam 202 kayıtlı kullanıcımız var
Son kaydolan kullanıcımız: AnthonyFurey3

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 


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

Yok

[ Bütün listeye bak ]


Sitede bugüne kadar en çok 92 kişi Paz Ağus. 28, 2016 6:58 am tarihinde online oldu.
En son konular
» İnternetten Para Kazandıran Oyun ! Ödeme Alt Limiti Yok ! DEV KONU
Cuma Ağus. 29, 2014 8:33 am tarafından Hello EMO

» goldenchase.net maden yaparak para kazanma
Cuma Ağus. 29, 2014 8:18 am tarafından Hello EMO

» etichal hacker görsel egitim seti
Çarş. Ağus. 06, 2014 4:57 am tarafından Hello EMO

» KO TBL Source C#
Ptsi Ara. 09, 2013 6:36 am tarafından Hello EMO

» x86 Registers
C.tesi Ağus. 24, 2013 5:02 am tarafından Hello EMO

» [Tutorial] Pegando Address, Pointers de WYD
Çarş. Tem. 10, 2013 7:25 am tarafından Hello EMO

» [Tutorial] Pegando Address, Pointers de CS Metodo²
Çarş. Tem. 10, 2013 7:23 am tarafından Hello EMO

» [Tutorial] Aprendendo basico deASM OLLYDBG
Çarş. Tem. 10, 2013 7:22 am tarafından Hello EMO

» Basic C# DLL injector
Ptsi Tem. 08, 2013 7:48 am tarafından Hello EMO

Reklam

64bit inline ASM workaround

Önceki başlık Sonraki başlık Aşağa gitmek

64bit inline ASM workaround

Mesaj tarafından Hello EMO Bir Ptsi Tem. 08, 2013 6:14 am

Deutschland demiş ki:This was something I was interested in, when I was attempting to create a virus that would run in both 64 and 32bit. But I relied on inline assembly, unfortunately Microsoft's compiler doesn't support it.

So I figured, I'll Assemble it and then link it to the project. Call the function from the static lib. And wow it worked!

Take this function.
Kod:

__declspec(naked) int __cdecl add(int x, int y)
{
  __asm
  {
    push ebp
    mov ebp,esp
    mov eax,[ebp+0xC]
    mov edx,[ebp+0x8]
    add eax,edx
    pop ebp
    ret
  }
}
Compile that in 32bit, works fine! Compile in 64bit, you'll get an annoying Microsoft error.
So here's what we can do, create an assembly file. Just toss our code in there.
Kod:

.global _add
_add:
   push ebp
   mov ebp, esp
   mov eax, [ebp+0xC]
   mov edx, [ebp+0x8]
   add eax,edx
   pop ebp
   ret
Assemble it to an object file or static lib.
Then link it to your project
Kod:

#pragma comment(lib,"add.lib");
Include the add.h file which contains.
Kod:

int add(int x, int y);
And try it out.
Kod:

int main()
{
  printf("%i",add(25,10));
  return 0;
}
Compile in 64, and see for your self!
This is also useful for Gunz hackers who want to distribute their functions for use, but not want to give out the source.


Hello Kitty
vs
eMoStyLe




Hello EMO
EMO Team
EMO Team

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

Kullanıcı profilini gör http://emostyle.myforumpro.com

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

Önceki başlık Sonraki başlık Sayfa başına dön


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