Seite 3 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 31 bis 45 von 50

Thema: eJay Dll Reversing

  1. #31
    Registered User
    Registriert seit
    Feb 2011
    Beiträge
    26
    Renommee
    28

    Re: eJay Dll Reversing

    sag mal was genau macht das hier ?
    Code:
    memcpy((void*) 0x10096cd8, &conv,4);
    also er kopiert "&conv" in die speicherstelle "0x10096cd8", in der länge 4.
    conv ist die zahl 3..also 4 x die 3 oder was ?

    zum anderen was soll das bringen ?
    die speicherstelle ist doch leer und wenn ich die funktion lösche, passiert das selbe wie wenn sie da ist *hm*

    schau mir gerad mit ida die anderen dll´s an. sehr geil
    hab auf einer anderen ejay version noch eine viel versprechende pxdmp3enc.dll gefunden

  2. #32
    Registered User
    Registriert seit
    Sep 2008
    Beiträge
    402
    Renommee
    270

    Re: eJay Dll Reversing

    solche fragen kannste einfach mit IDA beantworten:
    1. die .dll laden
    2. in der text-view "g" drücken für das "Jump to address"-menü
    3. die adresse "10096cd8" da eingeben und [enter]

    dann sollteste sowas sehen:

    Code:
    .data:10096BB8 ; int dword_10096BB8[]
    4. rechtsklick auf "dword_10096BB8" und dann "Chart of xrefs to"

    damit kriegste ein WinGraph32-fenster, welches dir jede funktion anzeigt, die auf diese adresse zugreift (in diesem fall ACloseAll, AClose und die funktion 100119A4).

    beispiel von AClose():
    Code:
    signed int __stdcall AClose(int a1)
    {
      __int16 v2; // [sp+0h] [bp-4h]@1
    
      v2 = 0;
      while ( v2 < 200 )
      {
        if ( dword_10096BB8[v2] && *(_DWORD *)(dword_10096BB8[v2] + 0xF8) == a1 )
        {
          DeleteDC(*(HDC *)(dword_10096BB8[v2] + 248));
          DeleteObject(*(HGDIOBJ *)(dword_10096BB8[v2] + 244));
          sub_100323BA(v2, dword_10096BB8[v2]);
          dword_10096BB8[v2] = 0;
          return 1;
        }
        ++v2;
      }
      return 1;
    }
    Code:
    memcpy((void*) 0x10096cd8, &conv,4);
    memcpy() kopiert die 4 bytes auf die &conv zeigt (also die zahl 3, bzw in hex: 0x00000003) nach 0x10096cd8. ist also eine globale variable.

    naja, verwirrt mich grad selbst ein bisschen.

    Code:
    dword_10096BB8[v2]
    // bzw. in anderer schreibweise:
    *(dword_10096BB8+v2)
    ab 0x10096BB8 beginnt also ein int-array mit wahrscheinlich mindestens 200 elementen (aus der AClose()-funktion geschlossen).

    das memcpy() sagt: das erste element in diesem array ist 3. also dword_10096BB8[0] = 3;

    wärt gut, wenn das noch mal jemand durchdenken könnte... hört sich für mich zumindest logisch an.

  3. #33
    Registered User
    Registriert seit
    Feb 2011
    Beiträge
    26
    Renommee
    28

    Re: eJay Dll Reversing

    ah sehr cool, mir das eben in ida mal angesehen.
    da kann man ja echt prima den funktionen nachgehen und sehen wie das programm abläuft.

    danke dir für die hilfe und auch die tipps zu ida

    wie die W2P nun richtig funktioniert, hab ich "erstmal" aufgegeben.
    dafür geht ja immerhin nun prima das erstellen einer RAW WAV datei.

    mir nun in autoit *hust* ein tool geschrieben das in einem ausgewählten ordner nach pxd files sucht, auch in allen unterordnern.
    diese dann stück für stück in wav convertiert.
    zuerst mit der ejay.dll in eine RAW WAV und dann mit einer dll die ich mir gemacht habe, zu wav mit passendem header.

    hab aber nur die dll erstellt, der code dazu war aus dem web und poste ich unten.

    nun kann ich endlich meine über 30.000 samples nach wav convertieren und auch in einem richtigen sample programm nutzen *juhu*

    hier mal ein screen:


    und hier der code zum raw2wav header ändern:
    Code:
    #include <stdio.h>
    #include <sys/stat.h>
    #include <windows.h>
    
    
    long chunksize=0x10;
    struct
    {
                    WORD    wFormatTag;
                    WORD    wChannels;
                    DWORD   dwSamplesPerSec;
                    DWORD   dwAvgBytesPerSec;
                    WORD    wBlockAlign;
                            WORD      wBitsPerSample;
    } fmt;
    
    int Raw2Wav(const char *rawfn, const char *wavfn, long frequency)
    {
          struct _stat sb;
          if(!_stat(rawfn, &sb))            // OK
          {
                long samplecount=sb.st_size/2;
                long riffsize=samplecount*2+0x24;
                long datasize=samplecount*2;
                FILE *raw=fopen(rawfn,"rb");
                if(!raw) return -2;
                FILE *wav=fopen(wavfn,"wb");
                if(!wav) 
                {
                      fclose(raw); return -3; 
                }
                fwrite("RIFF",1,4,wav);
                fwrite(&riffsize,4,1,wav);
                fwrite("WAVEfmt ",1,8,wav);
                fwrite(&chunksize,4,1,wav);
                fmt.wFormatTag=1;      // PCM 
                fmt.wChannels=1;      // MONO
                fmt.dwSamplesPerSec=frequency*1;
                fmt.dwAvgBytesPerSec=frequency*1*2;      // PCM 16 bits
                fmt.wBlockAlign=2;
                fmt.wBitsPerSample=16;
                fwrite(&fmt,sizeof(fmt),1,wav);
                fwrite("data",1,4,wav);
                fwrite(&datasize,4,1,wav);
                short buff[1024];
                while(!feof(raw))
                {
                      int cnt=fread(buff,2,1024,raw);
                      if(cnt==0) break;
                      fwrite(buff,2,cnt,wav);
                }
                fclose(raw);
                fclose(wav);
          }
          else      // File not found?
          {
                return -1;
          }
          return 0;
    }
    /*  */
    int main(int argc, char arcv[])
    {
        Raw2Wav("test.raw","test.wav",44100);
    }
    besten dank für die hilfe gruena!

  4. #34
    Registered User
    Registriert seit
    Feb 2011
    Beiträge
    26
    Renommee
    28

    Re: eJay Dll Reversing

    nachtrag:
    wav header reapieren braucht man nicht wirklich, wandel die samples z.b. eh mit dem ogg encoder um...da kann man direkt ein raw file einladen.
    mal fix den converter passend umschreiben

  5. #35
    Registered User
    Registriert seit
    Apr 2012
    Beiträge
    1
    Renommee
    10

    Re: eJay Dll Reversing

    Hi,
    do you have experience with samples from Ejay Techno4 and Dance6. This products use ___ format (no extension, i.e. techno40a techno40b) instead of PXD. Did you try also convert this format? Ejay ___ format looks like a lot of PXDs copied to the 1 file. If you open it i.e. in notepad, the file structure looks like:

    PXDfile1
    PXDfile2
    PXDfile3
    PXDfile4
    ........
    ........
    ........

    I wrote you PM ...

  6. #36
    Registered User
    Registriert seit
    Feb 2011
    Beiträge
    26
    Renommee
    28

    Re: eJay Dll Reversing

    yes, i managed to convert all known ejay formats to wav or ogg.
    starting from volume 1 to today, doesn't matter if techno, house, dance...
    for that i have coded some tools to rip the ejay filepack to single files and the massive ejay converter to convert them to wav or ogg.

  7. #37
    Registered User
    Registriert seit
    Apr 2014
    Beiträge
    1
    Renommee
    10

    AW: Re: eJay Dll Reversing

    HobbyCoder
    Is there any way to obtain a copy of this program? Thanks!

  8. #38
    Registered User
    Registriert seit
    Sep 2008
    Beiträge
    402
    Renommee
    270

    AW: eJay Dll Reversing

    Last activity of HobbyCoder: 29.04.2012

    Some admin/mod might want to send HobbyCoder a short mail to make him look in here.
    Über das neue Zeitalter der Gehirne eines Menschen!
    echo 'main() { char z[] = "ping "; for(;printf(z);z[1]^=6); }' > a.c; gcc a.c -o a; ./a # 16.11.2011 02:51

  9. #39
    Registered User
    Registriert seit
    Feb 2011
    Beiträge
    26
    Renommee
    28

    AW: eJay Dll Reversing

    Zitat Zitat von gruena Beitrag anzeigen
    Last activity of HobbyCoder: 29.04.2012

    Some admin/mod might want to send HobbyCoder a short mail to make him look in here.
    Thanks gruena, i got the Info
    Since im moving actual to a new apartment, i run a bit out of time.
    But heres a actual Screenshot of the ready and working Ejay Converter:

    2mw84qo.jpg
    To see bigger Image click me

    There are now two Programs and the using Language needed to translate to English, since im German

    1 left side on the Screenshot
    The first Program is used to extract the Samples from older Ejay Versions to PXD Files
    Also the Program can Sort and rename the Samples to its correct Folders, like all Drum Loops will sort into Folder "Drums"
    Thats especially for the first Ejay Versions, since the Loops are unsorted on the CD and have weired Names.

    2 right side on the Screenshot
    The second Program is used to convert all known Ejay Sample Versions to Wav/Ogg
    Also you can Convert Wav Samples to PXD, for using in Ejay.
    You can set a OGG Samplerate, delete the old Ejay Sample after converting

    So you can easy convert some hundred or thousand Ejay Samples, or just a singel one.

    Seams a lot People asking for a Ejay Converter, i got some Mails in the past.
    Feel free to Contact me here, so we can get in touch.

    Greetings,
    HobbyCoder
    Geändert von HobbyCoder (29.04.2014 um 14:03 Uhr)

  10. #40
    Registered User
    Registriert seit
    Feb 2011
    Beiträge
    26
    Renommee
    28

    AW: eJay Dll Reversing

    Since i got a Mesage about the Programs some short Info:
    I rewrite them 2014 and they now work with most Ejay Sample CD/Files or Packs.
    Usage is very easy and Language can User set to German or English.

    You can actually contact me here.

  11. #41
    Registered User
    Registriert seit
    Sep 2008
    Beiträge
    402
    Renommee
    270

    AW: eJay Dll Reversing

    Just put the source with a Release binary on GitHub?
    Über das neue Zeitalter der Gehirne eines Menschen!
    echo 'main() { char z[] = "ping "; for(;printf(z);z[1]^=6); }' > a.c; gcc a.c -o a; ./a # 16.11.2011 02:51

  12. #42
    Registered User
    Registriert seit
    Dec 2015
    Beiträge
    3
    Renommee
    43

    AW: eJay Dll Reversing

    Zitat Zitat von HobbyCoder Beitrag anzeigen
    Since i got a Mesage about the Programs some short Info:
    I rewrite them 2014 and they now work with most Ejay Sample CD/Files or Packs.
    Usage is very easy and Language can User set to German or English.

    You can actually contact me here.
    I'm sorry, I don't speak German. I found your topic via Google : http://www.buha.info/showthread.php?...2b74ba59e3c95d
    I have here all Ejay CD (Dance Ejay+, Dance Ejay2 Millenium, etc..) and I would like to convert PXD to WAV or MP3. I saw that you have a software to make this ? I used Google Translate to translate your post so I'm not sure to understand everything you wrote since I'm not a developer.
    Anyway, if you could send me this software, you would be my Hero. Ejay sounds was so good.
    Otherwise, I will try to export samples by samples but it's time consuming.
    Have a nice week-end,

  13. #43
    Registered User
    Registriert seit
    Feb 2016
    Beiträge
    4
    Renommee
    10

    AW: eJay Dll Reversing

    Da ich auch nach einer Lösung suchte, habe ich HobbyCoders Script mal aufgeräumt und in Visual Studio 15 zum laufen gebracht. Der Raw2Wav Converter ist jetzt auch mit eingebaut und konvertiert die .TMP Datei in ne abspielbare .WAV - Funktioniert super

    Credits sind im Sourcecode auf Github: https://github.com/Burnett01/pxd-to-wav

  14. #44
    Registered User
    Registriert seit
    Dec 2015
    Beiträge
    3
    Renommee
    43

    AW: eJay Dll Reversing

    Zitat Zitat von burnett Beitrag anzeigen
    Da ich auch nach einer Lösung suchte, habe ich HobbyCoders Script mal aufgeräumt und in Visual Studio 15 zum laufen gebracht. Der Raw2Wav Converter ist jetzt auch mit eingebaut und konvertiert die .TMP Datei in ne abspielbare .WAV - Funktioniert super

    Credits sind im Sourcecode auf Github: https://github.com/Burnett01/pxd-to-wav
    Hello Burnett, thank you for your upload. Is there an explanation or a tutorial which explain how it works ? Please ?

    Thank you very much.

  15. #45
    Registered User
    Registriert seit
    Feb 2016
    Beiträge
    4
    Renommee
    10

    AW: eJay Dll Reversing

    Zitat Zitat von tbmdj Beitrag anzeigen
    Hello Burnett, thank you for your upload. Is there an explanation or a tutorial which explain how it works ? Please ?

    Thank you very much.

    Hey tmbdj,

    yes its very easy. Let me explain it for you:

    So basically all you need is the DLL and the Sourcecode.

    1. Grab the DLL here: http://www.file-upload.net/download-...d5_d4.dll.html

    2. After that import the project into Visual Studio (Project: https://github.com/Burnett01/pxd-to-wav)

    3. Open the file called "pxd-to-wav/pxd_to_wav.cpp" and go to line #28 (https://github.com/Burnett01/pxd-to-...to_wav.cpp#L28)
    4. You just have to insert your PXD file and where you want the TMP and WAV to be created.

    Simple run the programm and done.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. NEWBIEZ - Deutsches Reversing Forum
    Von Codecave im Forum Good Sites & Services
    Antworten: 7
    Letzter Beitrag: 25.10.2009, 02:05
  2. Suche Forum mit Hauptthema Reversing/Patching
    Von gruena im Forum Board Lounge
    Antworten: 6
    Letzter Beitrag: 06.08.2009, 17:08
  3. [Reversing algorithms] Well known numbers.
    Von nait im Forum Reverse Engineering
    Antworten: 3
    Letzter Beitrag: 11.02.2008, 21:53
  4. Reversing: Secrets of Reverse Engineering
    Von Boardleitung im Forum Buch Tipp
    Antworten: 2
    Letzter Beitrag: 14.04.2006, 22:20
  5. Keygen oder Patch für Dance eJay 2
    Von barnedarke im Forum Reverse Engineering
    Antworten: 2
    Letzter Beitrag: 03.07.2002, 19:16

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •