Jump to content

Recommended Posts

Posted

This looks quite interesting, but I'm having trouble understanding how this is any different from MemoryDLL.

Subtitle says a lot.

Still, there are huge differences. For example, AutoIt is understood by many, opcodes only by some.

Is there a limit on what programs can be the Subrogor? Can I use the compiled script itself (@ScriptName) or svchost.exe?

If you can get module handle (_WinAPI_GetModuleHandle) of the subrogor than it can't/shouldn't be used.

♡♡♡

.

eMyvnE

  • 1 year later...
  • 4 years later...
Posted

Thank you TranceXX,

i did a lot of extensive testing with the memorydll.au3 - to no avail.

then, today, after some days, i found this thread by purpose, but i don't know how :-D ... and it works... it simply works.

thank you for saving my day(s)

 

rsRVpv.gif

  • 9 months later...
Posted

Is there a way to use this UDF in tandem with RunBinary or simiar to preload dll's in memory required by the application?

What is what? What is what.

Posted
On ‎18‎.‎1‎.‎2017‎. at 0:07 AM, Biatu said:

How can I use this if explorer.exe is not in the system? I've tried many others with no luck.

Surely there is some executable available.

What system is that?

♡♡♡

.

eMyvnE

Posted
3 hours ago, trancexx said:

Surely there is some executable available.

What system is that?

Well I will be running this in WinPE, so explorer.exe wont always be available. I tried other window's essentials like svchost, winload, cmd, rundll32, etc and no go, all return @Error 6. It seems that every thing I try gives that error.

What is what? What is what.

Posted (edited)
16 minutes ago, Mugen said:

Try "winlogon.exe", it works here with Windows 7 and 10.

Ok thanks! That should do it.

Edit: Wait no, still error 6, im using build 10.0.14986

Edited by Biatu

What is what? What is what.

Posted

Created this function to test it...
 

#Include "Subrogation.au3"
#Include <File.au3>
#Include <Array.au3>
$aArray=_FileListToArrayRec("C:\Windows\system32\","*.exe",1,0,0,0)
;_ArrayDisplay($aArray)
$vBin=BinDll("C:\windows\system32\kernel32.dll")
$iFailed=0
$iSuccess=0
For $i=1 To $aArray[0]
        $hDll=DllFromMemory($vBin,"C:\Windows\system32\"&$aArray[$i])
        If @error Then
            ConsoleWrite($aArray[$i]&",Error "&@Error&@CRLF)
            $iFailed+=1
        Else
            ConsoleWrite($aArray[$i]&",Success"&@CRLF)
            DllClose($hDll)
            $iSuccess+=1
        EndIf
    ;EndIf
Next
ConsoleWrite("-"&$iFailed&" Failed"&@CRLF)
ConsoleWrite("-"&$iSuccess&" Succedded"&@CRLF)
Sleep(10000)

 

What is what? What is what.

  • 3 weeks later...
Posted (edited)

Hello,

I wrote a script which is  using SQLite3.dll , and I would like to embed the dll in the compiled exe file ,

Looks like your script is exactly what I need , I copied the code to my script and made the $sSubrogee  points to SQLite3.dll

and the $sSubrogor point to my compiled application

but it didn't work !

 

I am new to AutoIT , could you please point me to the right way to do this ?

Thanks

Edited by BisherSH
Posted

I am able to make it work  if the dll file exist ,

But what I need actually is to embed the whole dll inside the exe file NOT the dll path, is it possible ?

Posted

Thanks for this nice function @trancexx:)

It works really well with normally created dll's (using visual studio an c++).

But I noticed that this won't work if you try to encrypt the dll using Themida for example. Why is that so? Is there a way to get crypted dll's to work?

Posted
On ‎9‎.‎2‎.‎2017‎. at 0:32 PM, BisherSH said:

I am able to make it work  if the dll file exist ,

But what I need actually is to embed the whole dll inside the exe file NOT the dll path, is it possible ?

How difficult could that be?? Did you try? Can you show the code?

Nobody is helping you much because it's trivial. There are scripts around that do the job for you. All you have to do is cherry pick.

♡♡♡

.

eMyvnE

Posted

Hi Trancexx,

One thing I wonder about, I use a dll that uses cdecl calling convention.
Well it works :)

But should I change the DllMain simulation accordingly to

If $iEntryPoint Then DllCallAddress("bool:cdecl", $pEntryFunc, "ptr", $pBaseAddress, "dword", 1, "ptr", 0) ; DLL_PROCESS_ATTACH

or does it not matters here?

Posted
10 hours ago, Mugen said:

Hi Trancexx,

One thing I wonder about, I use a dll that uses cdecl calling convention.
Well it works :)

But should I change the DllMain simulation accordingly to

If $iEntryPoint Then DllCallAddress("bool:cdecl", $pEntryFunc, "ptr", $pBaseAddress, "dword", 1, "ptr", 0) ; DLL_PROCESS_ATTACH

or does it not matters here?

You shouldn't. DllMain is always stdcall.

♡♡♡

.

eMyvnE

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...