Jump to content

CubAfull

Members
  • Posts

    33
  • Credits

  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    0%

Posts posted by CubAfull

  1. Ok, I'm going to continue with this because I really want the client HWID and the basic protection from this DLL.

    Maybe others with the same need and more knowledge or wanting to help can join in this crusade :laughing:

     

    This is what I have/found.

    https://mega.nz/file/MMtAzKTK#uUsTz_QDuiqXrk2UR9UnWlUKuZ2zbT8F0TiD52kTGyw

     

    This contain 5 files:

    Fire_U.dll - Unpacked. Found in RUS forum.
    Fire_P1.dll - Packed. Same file as Fire_U.dll but Packed.
    Fire_U1.dll - Unpacked Fire_P1.dll by me.
    Fire_P2.dll - Packed. Another version.
    Fire_U2.dll - Unpacked Fire_P2.dll by me.

     

    If you use Fire_U.dll (rename to Fire.dll in your system) the client show you an error after loading the dll:

     

    Runtime error 216 at 1314421A

     

    All the unpacked files throw the same error and the error happen here.

     

    .text:131441F0 loc_131441F0:                           ; CODE XREF: System::__linkproc__ StartLib(void)+44j
    .text:131441F0 mov     dword_1319C63C, ecx
    .text:131441F6 mov     eax, offset j_RaiseException
    .text:131441FB mov     dword_1319C014, eax
    .text:13144200 mov     eax, offset j_RtlUnwind
    .text:13144205 mov     dword_1319C018, eax
    .text:1314420A call    unknown_libname_67              ; BDS 2005-2007 and Delphi6-7 Visual Component Library
    .text:1314420F mov     eax, [ebp+0Ch]
    .text:13144212 inc     eax                             ; Increment by 1
    .text:13144213 mov     byte_1319C658, al
    .text:13144218 dec     eax                             ; Decrement by 1
    .text:13144219 pop     ecx
    .text:1314421A mov     edx, [ecx]                      ; Error: Runtime error 216 at 1314421A
    .text:1314421C mov     dword_1319C654, edx
    .text:13144222 jz      short loc_1314422B              ; Jump if Zero (ZF=1)
    .text:13144224 cmp     al, 3                           ; Compare Two Operands
    .text:13144226 jge     short loc_1314422B              ; Jump if Greater or Equal (SF=OF)
    .text:13144228 call    dword ptr [ecx+eax*4]           ; Indirect Call Near Procedure

     

    Pseudocode:

     

    int __userpurge System::__linkproc__ StartLib@<eax>(int *a1@<eax>, int a2@<edx>, int a3@<ecx>, int a4@<ebx>, int a5@<ebp>, int a6@<edi>, int a7@<esi>, void (__cdecl *a8)(int *))
    {
      int v8; // ecx
      int v9; // eax
      int v10; // eax
      int *v11; // ecx
      int v12; // eax
      int *v15; // [esp-4h] [ebp-4h]
    
      qmemcpy((void *)(a5 - 60), &dword_1319C630, 0x2Cu);
      dword_1319C650 = a6;
      dword_1319C64C = a7;
      dword_1319C644 = a5;
      dword_1319C648 = a4;
      dword_1319C638 = (int)a1;
      dword_1319C640 = a2;
      dword_1319C630 = a5 - 60;
      v8 = 0;
      if ( !*(_DWORD *)(a5 + 12) )
        v8 = *a1;
      dword_1319C63C = v8;
      dword_1319C014 = (int)j_RaiseException;
      dword_1319C018 = (int)j_RtlUnwind;
      unknown_libname_67((_EXCEPTION_REGISTRATION_RECORD *)a5);
      v9 = *(_DWORD *)(a5 + 12) + 1;
      byte_1319C658 = *(_BYTE *)(a5 + 12) + 1;
      v10 = v9 - 1;
      v11 = (int *)a3;
      dword_1319C654 = *(_DWORD *)a3; // The error happen here
      if ( v10 && (char)v10 < 3 )
        (*(void (**)(void))(a3 + 4 * v10))();
      v15 = v11;
      if ( a8 )
        a8(v11);
      v12 = *(_DWORD *)(a5 + 12);
      if ( (char)v12 >= 3 )
        ((void (*)(void))v15[v12])();
      if ( !dword_1319C02C )
        byte_1319C034 = 1;
      if ( *(_DWORD *)(a5 + 12) != 1 )
        System::__linkproc__ Halt0(a8);
      return System::_16705();
    }

     

    This is all for the moment. I update the post when have more info :)

  2. Hi,
    I made this small HF Skill Pch Generator for shared 273 files in PHP based in the correct script/formula made by @xeL. Credits to him! (Send him a beer if you can)

     

    This program can:

    - Extract abnormal_type, attribute and target_type from current skilldata.txt, skill_pch.txt and skill_pch2.txt

    - Generate skill_pch.txt and skill_pch2.txt based in extracted (or custom) abnormal_type, attribute and target_type

     

    How to use.

    Extract:
    - Put skilldata.txt, skill_pch.txt and skill_pch2.txt in the "source" folder and run extract.(sh|bat)
    - Find the extracted data in the "data" folder. abnormal_type.json, attribute.json, target_type.json, manual_pch_info.txt etc.

     

    Generate:

    - Put skilldata.txt in the "source" folder and abnormal_type.json, attribute.json and target_type.json in the "data" folder and run generate.(sh|bat)

    - Find the generated skill_pch.txt and skill_pch2.txt in the root folder.

     

    Info:

    - In the "data_back" folder you can find the full abnormal_type.json, attribute.json and target_type.json for retail H5. This match the original skilldata.txt.

    - The original skilldata.txt/skill_pch.txt have some wrong skill names, for example "s_mental_impoverish_ chance1" (have a space before chance1). Fix this problems first.

     

    https://mega.nz/file/YRFmBTja#IOCTHc7DRwpxHVTCEFd20QGZkqy_m4Zk9k0Umt25aIM

     

    Notes:

    - Why PHP? Because I like it.

    - Ugly code? I made this in small free time.

    - Can be optimized? SURE! When I have free time :)

     

    Again, big thanks to @xeL!!!

     

     

    • Like 2
    • Thanks 1
    • Upvote 1
  3. 3 hours ago, guytis said:

    I would share with you, but since you liked @Mechas when he attacked me for free, you should ask him .. he is very layered haha

    Hi @guytis I don't know you and I have no problem with you or anyone. I liked @Mechas post because he is working fixing the npcpos, nothing more! 

     

    It's a shame that you misunderstood me and clearly my "Like" can be interpreted the way you did, but it's ok, I respect your opinion :thumbs-up:

    • Like 1
  4. 5 hours ago, Souza762 said:

    In skilldata.txt u have one skill that need correct:

     

    Find:

    
    
    s_mental_impoverish_ chance1

     

    Change to:

    
    
    s_mental_impoverish_chance1

     

    Change all until s_mental_impoverish_chance30

     

    Put this tool from AdvExt64 in same folder with manual_pch.txt, skilldata.txt and skill_pch.txt. Use GE/GF/HF: skill_pch.txt option

     

    Link: https://mega.nz/file/Fd0jwazT#hwnQ5lJq-12-QSUDdU1goQ5tOFANgBBeNwo4VsDnGpA

    PathMaker64 and superpoint tools in this link: https://mega.nz/file/ZV1ATSKT#NaYNd4w67G9zCIdPO0doK-rwpP00rkuvcjMTdcsHHqc

     

    PS: superpoint.exe needs to be executed in cmd. Both files are safe from AdvExt64.

     

     

    Thank you @Souza762

    This skill pch make don't use the correct formula.

     

    I made one using the correct formula found in a script posted here on the forum. I share it later :thumbs-up:

    About this skill names, yes, it must be corrected.

     

    Download here: 

     

    • Upvote 1
  5. 1 hour ago, Bumble said:

    L2Server won't even start, gives an error right away:

     

    
    Runtime Error!
    
    Program: D\L5\hf_we_L2Server\L2Server.exe
    
    R6002
    - floating point not loaded

     

     

    28 minutes ago, Mechas said:

    not necesary hook, use same hook l2ext.dll, shit russian hook work well, only change name "myextendhf"

    @Bumble I do this to. I just replace the name to "myextendhf". If you need the modded exes just let me know.

    • Like 1
  6. 7 minutes ago, Bumble said:

     

    Have you tried building Emca's H5 extender? I'm having trouble. I can't find a v80 platform toolset that works, I've been trying for a while now.

     

    Or am I missing something obvious?

    Yes, I build the extender some days ago: https://mega.nz/file/BMkD1QDT#uysMv0r38hwNLwPEHj_GzVS1XLF5DZhTP2bfY4JZH-Y

    You need to install VS 2005 and VS 2015+ (I use 2015) and then you need to do this: https://stackoverflow.com/questions/32839098/how-can-i-add-the-platform-toolset-of-visual-studio-2005-into-the-platform-tool

  7. 7 hours ago, Bumble said:

    The ai.obj in this pack seems broken, as anarchy and others mentioned. It may work enough to get a server started, but it doesn’t decompile/compile correctly. 
     

    It would make me very happy if I could find a good ai.obj, the search continues!

    Hi @Bumble

    I decompile with: https://github.com/madyanov/nasc-decompiler

    And compile with: https://bitbucket.org/l2shrine/extender-public/branch/compiler-h5

    The AI decompile/compile without any error.

     

    I made a small set with a decompiler/join/compiler for HF.

    This is not my work! I just code the small Join main PHP class.

    BIG thanks to @eressea and @Madyanov!

     

    https://mega.nz/file/YJckiDZS#Aj4_NZuepyiiYVlSALzHPvHe63DDgTK5zKPLvsThHvM

    • Like 2
    • Thanks 1
  8. Well, some ppl ask me how I fix this monster run/walk problem...

     

    Search in Servitor.java & NpcInstance.java for changeMovePacket and replace with:

     

        @Override
        protected L2GameServerPacket changeMovePacket()
        {
            if (isHFClient()) {
                return super.changeMovePacket();
            } else {
                return new NpcInfoState(this);
            }
        }

    I fixed many other problems, but the truth is that it is not worth working on L2J servers... I deleted this project and started again from 0 using Gracia Epilogue + @eressea extender. Me and my friends couldn't be happier with the results.

×
×
  • Create New...