Remember Me


Forgotten Password?

Tunngle Community: Borderlands 2 Windows 8 Fix for all Versions! - Tunngle Community

Jump to content

  • 7 Pages +
  • 1
  • 2
  • 3
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

Borderlands 2 Windows 8 Fix for all Versions! Rate Topic: ***** 1 Votes

#1 User is offline   Royalgamer06 Icon

  • View gallery
  • Group: Lifetime
  • Posts: 3960
  • Joined: 05-June 11
  • Location: Netherlands

Posted 27 October 2012 - 20:54

WINDOWS 8 FIX V2


Try this fix first:
http://voksi.dyndns.info/royalgamer06/Borderlands2/Borderlands.2.Crackfix.Only.V2-DMN32.zip


Else:
http://www42.zippyshare.com/v/64847436/file.html



Have fun!

Regards,
Royalgamer06

REVOLT.LOGINTO.ME
~ REVOLT Forum ~ Downloads ~ Support ~ Tutorials ~ Information ~
__________________________________
Posted Image
2

#2 User is offline   Royalgamer06 Icon

  • View gallery
  • Group: Lifetime
  • Posts: 3960
  • Joined: 05-June 11
  • Location: Netherlands

Posted 27 October 2012 - 21:04

View PostNighthawk441, on 27 October 2012 - 20:17, said:

Hey windows 8 adopters, you can find my beta fix here on the *********

http://the pirate bay dot se/ t0rr3nt /7765811/Borderlands_2_v1.1.3_Windows_8_Fix

darn filter just search for it.

skidrows hooking code in buddha.dll fails on windows 8 since the entry stubs are different.

My dll and patched steam_api.dll should fix it, but i need testers.



View PostNighthawk441, on 27 October 2012 - 20:52, said:

I stayed up all night programming it.

Direct download: http://www.sendspace.com/file/zdwqe0

"Btw. you are patching CreateFileW and CreateEventA?"

Don't ask me SKiDROW hooks them in buddha.dll. Must be how they work around some CEG crap.

Anyway on windows 8 the stubs for both of those functions are a little bit different assembly code than windows 7, so all i do is fill it with NOP instructions and move the jump code 6 bytes further.



View PostNighthawk441, on 27 October 2012 - 20:56, said:

Yes whether or not you believe me doesn't really make a difference.



View PostYourEnemyPL, on 27 October 2012 - 21:01, said:

They hook many api's (RegQueryValueW, RegOpenKeyEx, .....)

Under winxp and win7 CreateFileW looks like this:
kernel32.CreateFileW - 8B FF                 - mov edi,edi
kernel32.CreateFileW+2- 55                    - push ebp
kernel32.CreateFileW+3- 8B EC                 - mov ebp,esp
kernel32.CreateFileW+5- 83 EC 58              - sub esp,58
kernel32.CreateFileW+8- 8B 45 18              - mov eax,[ebp+18]
kernel32.CreateFileW+B- 48                    - dec eax

How it looks under win8?

View PostNighthawk441, on 27 October 2012 - 21:07, said:

You're looking at not quite the right spot, but i'll try and explain better

On Windows 7 for example the CreateEventA stub is something like:

&KERNEL32.CreateEventA:

move edi,edi,
push ebp
move esp, ebp,
something else...
JMP KERNELBASE.CreateEventA

skidrow's buddha.dll hooks this function, so it cuts out the first couple instructions, writes them to a trampoline, and replaces it with a jmp to their CreateEvent function.. blah blah already know this probably.

On windows 8, its just a long jmp, no push's or movs before, and buddha.dll doesn't hook this code correctly.

So to fix this we copy the Windows 8 jmp code, fill it with NOPS so buddha.dll's trampoline will only execute NOPS, reducing the chance of failure, and write the jmp 6 bytes further where it used to be, so buddha.dll will jump to that.


I really can't explain it very well, in a nutshell, i tried to make the win 8 stubs look like the win 7 stubs,
so buddha.dll wouldn't cause an access violation in the faulty trampoline.

This post has been edited by Royalgamer06: 27 October 2012 - 21:09

REVOLT.LOGINTO.ME
~ REVOLT Forum ~ Downloads ~ Support ~ Tutorials ~ Information ~
__________________________________
Posted Image
1

#3 User is offline   YourEnemyPL Icon

  • Group: Members
  • Posts: 49
  • Joined: 24-April 11

Posted 27 October 2012 - 21:20

Under winxp CreateEventA looks like this

kernel32.CreateEventA - 8B FF                 - mov edi,edi
kernel32.CreateEventA+2- 55                    - push ebp
kernel32.CreateEventA+3- 8B EC                 - mov ebp,esp
kernel32.CreateEventA+5- 51                    - push ecx
kernel32.CreateEventA+6- 51                    - push ecx
kernel32.CreateEventA+7- 56                    - push esi
kernel32.CreateEventA+8- 33 F6                 - xor esi,esi
kernel32.CreateEventA+A- 39 75 14              - cmp [ebp+14],esi
kernel32.CreateEventA+D- 0F85 B61F0000         - jne kernel32.GetPrivateProfileIntW+11E
kernel32.CreateEventA+13- 56                    - push esi
kernel32.CreateEventA+14- FF 75 10              - push [ebp+10]
kernel32.CreateEventA+17- FF 75 0C              - push [ebp+0C]
kernel32.CreateEventA+1A- FF 75 08              - push [ebp+08]
kernel32.CreateEventA+1D- E8 729EFDFF           - call kernel32.CreateEventW
kernel32.CreateEventA+22- 5E                    - pop esi
kernel32.CreateEventA+23- C9                    - leave 
kernel32.CreateEventA+24- C2 1000               - ret 0010


Could you paste CreateEventA from win8?
1

#4 User is offline   Nighthawk441 Icon

  • Group: Members
  • Posts: 13
  • Joined: 20-April 11

Posted 27 October 2012 - 21:21

View PostYourEnemyPL, on 27 October 2012 - 21:20, said:

Under winxp CreateEventA looks like this

kernel32.CreateEventA - 8B FF                 - mov edi,edi
kernel32.CreateEventA+2- 55                    - push ebp
kernel32.CreateEventA+3- 8B EC                 - mov ebp,esp
kernel32.CreateEventA+5- 51                    - push ecx
kernel32.CreateEventA+6- 51                    - push ecx
kernel32.CreateEventA+7- 56                    - push esi
kernel32.CreateEventA+8- 33 F6                 - xor esi,esi
kernel32.CreateEventA+A- 39 75 14              - cmp [ebp+14],esi
kernel32.CreateEventA+D- 0F85 B61F0000         - jne kernel32.GetPrivateProfileIntW+11E
kernel32.CreateEventA+13- 56                    - push esi
kernel32.CreateEventA+14- FF 75 10              - push [ebp+10]
kernel32.CreateEventA+17- FF 75 0C              - push [ebp+0C]
kernel32.CreateEventA+1A- FF 75 08              - push [ebp+08]
kernel32.CreateEventA+1D- E8 729EFDFF           - call kernel32.CreateEventW
kernel32.CreateEventA+22- 5E                    - pop esi
kernel32.CreateEventA+23- C9                    - leave 
kernel32.CreateEventA+24- C2 1000               - ret 0010


Could you paste CreateEventA from win8?


When i boot my win7 machine i'll show you everything i did and why
1

#5 User is offline   YourEnemyPL Icon

  • Group: Members
  • Posts: 49
  • Joined: 24-April 11

Posted 27 October 2012 - 21:24

View PostNighthawk441, on 27 October 2012 - 21:21, said:

When i boot my win7 machine i'll show you everything i did and why


I know that skidrow patch CreateEventA like this:
kernel32.CreateEventA - E9 C209A983           - jmp buddha.Ordinal2
kernel32.CreateEventA+5- 51                    - push ecx
kernel32.CreateEventA+6- 51                    - push ecx
kernel32.CreateEventA+7- 56                    - push esi

This post has been edited by YourEnemyPL: 27 October 2012 - 21:26

1

#6 User is offline   Lilith. Icon

  • Group: Members
  • Posts: 272
  • Joined: 22-September 12
  • Location: Omnipresent

Posted 27 October 2012 - 21:36

Has anyone even tested it yet or is it just gonna be a discussion what to move in a .dll?
1

#7 User is offline   Nighthawk441 Icon

  • Group: Members
  • Posts: 13
  • Joined: 20-April 11

Posted 27 October 2012 - 21:43

Here: http://pastie.org/pr...c8ngarrxn628eqa

CPU Disasm WINDOWS 7 STUB
Address   Hex dump          Command                                  Comments
76944E1D   $- FF25 84099476 JMP DWORD PTR DS:[<&API-MS-Win-Core-Sync
76944E23      90            NOP
76944E24      90            NOP
76944E25      90            NOP
76944E26      90            NOP
76944E27      90            NOP
76944E28      8BFF          MOV EDI,EDI                              ; HANDLE KERNEL32.CreateEventA(pSecurity,ManualReset,InitialState,Name)
76944E2A  /.  55            PUSH EBP
76944E2B  |.  8BEC          MOV EBP,ESP
76944E2D  |.  5D            POP EBP
76944E2E  \.- EB ED         JMP SHORT <JMP.&API-MS-Win-Core-Synch-L1 ; Jump to KERNELBASE.CreateEventA


CPU Disasm WINDOWS 8 
Address   Hex dump          Command                                  Comments
772578D2      CC            INT3
772578D3      CC            INT3
772578D4      CC            INT3
772578D5      CC            INT3
772578D6      CC            INT3
772578D7      CC            INT3
772578D8   .- FF25 300A2677 JMP DWORD PTR DS:[<&api-ms-win-core-sync ; HANDLE KERNEL32.CreateEventA(pSecurity,ManualReset,InitialState,Name)
772578DE      CC            INT3
772578DF      CC            INT3
772578E0  /.  CC            INT3
772578E1  |.  CC            INT3
772578E2  |.  CC            INT3
772578E3  |.  CC            INT3


As you can see , the two differ by quite a bit.

Here were my observations.

On Windows 7, 
MOV EDI,EDI 
PUSH EBP
MOVE EBP<ESP
POP EBP


were all cut out and replaced with
E9 C209A983           - jmp buddha.Ordinal2

However on windows 8, somethign went wrong

772578D8   .- FF25 300A2677 JMP DWORD PTR DS:

was replaced E9 C209A983           - jmp buddha.Ordinal2, 5 bytes with a byte left over from the original instruction.

When i examined the trampoline in buddha.dll via ollydbg it was trying to access an invalid memory location. 

I didn't really reverse their entire hooking code, that was too much work, the easiest solution would have been to just make the Stub look as much like win 7 as possible, 
since its the only apparent change thats breaking the game.

So what we do is move the JMP DWORD PTR DS code to offset 772578D8 + 5 and prefix it with all nops.
buddha.dll should overwrite only the NOP instructions, and jmp back to the instruction succeeding the nops, which is the jump to the KERNEL32.CreateEvent code entry.

2

#8 User is offline   YourEnemyPL Icon

  • Group: Members
  • Posts: 49
  • Joined: 24-April 11

Posted 27 October 2012 - 21:46

1) Download it
2) copy&paste&overwrite steam_api.dll to Win32
3) copy&paste&overwrite Winderlands8.dll to Win32
(didn't test it, don't have win8)

(sorry about that "renaming stuff", my mistake)

This post has been edited by YourEnemyPL: 27 October 2012 - 21:56

0

#9 User is offline   Royalgamer06 Icon

  • View gallery
  • Group: Lifetime
  • Posts: 3960
  • Joined: 05-June 11
  • Location: Netherlands

Posted 27 October 2012 - 21:51

View PostYourEnemyPL, on 27 October 2012 - 21:46, said:

1) Download it
2) rename steam_api_win8.dll to steam_api.dll
3) copy&paste&overwrite steam_api.dll to Win32
4) copy&paste&overwrite Winderlands8.dll to Win32

(didn't test it, don't have win8)

Rename? Why rename? There isn't even a dll called steam_api_win8.dll
REVOLT.LOGINTO.ME
~ REVOLT Forum ~ Downloads ~ Support ~ Tutorials ~ Information ~
__________________________________
Posted Image
0

#10 User is offline   Lilith. Icon

  • Group: Members
  • Posts: 272
  • Joined: 22-September 12
  • Location: Omnipresent

Posted 27 October 2012 - 21:54

Atleast the Win8 people will stop "crying" for a while that they can't play... Dat feel of freedom...
1

#11 User is offline   YourEnemyPL Icon

  • Group: Members
  • Posts: 49
  • Joined: 24-April 11

Posted 27 October 2012 - 22:38

@Nighthawk441
Maybe I'm wrong, but we could make like this:

Code:
Spoiler

Then compile above as buddha.dll,
Win8 user will rename skidrow's "buddha.dll" to buddha_skid.dll, and paste our buddha.dll.

I think it would work like this:
- skidrow steam_api.dll will import our fake buddha.dll
- fake buddha.dll will patch some memory and then import buddha_skid.dll (skidrow's dll file)

That way we don't have to use "CFF Explorer" for future updates.
Only "good old fake buddha.dll" and "renaming".

This post has been edited by YourEnemyPL: 27 October 2012 - 22:39

0

#12 User is offline   Nighthawk441 Icon

  • Group: Members
  • Posts: 13
  • Joined: 20-April 11

Posted 27 October 2012 - 22:40

View PostYourEnemyPL, on 27 October 2012 - 22:38, said:

@Nighthawk441
Maybe I'm wrong, but we could make like this:

Code:
Spoiler

Then compile above as buddha.dll,
Win8 user will rename skidrow's "buddha.dll" to buddha_skid.dll, and paste our buddha.dll.

I think it would work like this:
- skidrow steam_api.dll will import our fake buddha.dll
- fake buddha.dll will patch some memory and then import buddha_skid.dll (skidrow's dll file)

That way we don't have to use "CFF Explorer" for future updates.
Only "good old fake buddha.dll" and "renaming".



ya thats a good idea.
0

#13 User is offline   Nighthawk441 Icon

  • Group: Members
  • Posts: 13
  • Joined: 20-April 11

Posted 28 October 2012 - 03:10

http://www.sendspace.com/file/xc7hed

shouldnt require mscvr110.dll
1

#14 User is offline   paperboy666 Icon

  • Group: Members
  • Posts: 3
  • Joined: 22-September 12

Posted 28 October 2012 - 06:03

View PostNighthawk441, on 28 October 2012 - 03:10, said:

http://www.sendspace.com/file/xc7hed

shouldnt require mscvr110.dll


Posted Image
0

#15 User is offline   Evil Scorpio Icon

  • Group: Members
  • Posts: 18
  • Joined: 10-October 12
  • Location: Moscow, Russia

Posted 28 October 2012 - 07:10

-----

This post has been edited by Evil Scorpio: 28 October 2012 - 11:43

0

#16 User is offline   kRuSnIk Icon

  • Group: Members
  • Posts: 1
  • Joined: 16-February 11

Posted 28 October 2012 - 11:35

Works fine on Win8 pro :thumbsup: Thanks for the fix ^^

This post has been edited by kRuSnIk: 28 October 2012 - 11:35

1

#17 User is offline   Evil Scorpio Icon

  • Group: Members
  • Posts: 18
  • Joined: 10-October 12
  • Location: Moscow, Russia

Posted 28 October 2012 - 11:45

Forget my previous post, I'm just stupid. :pinch: I've figured out the reason why it won't started - I've forgot to reinstall Steam. Now it works fine. Thanks for the fix, dude. :thumbup:
1

#18 User is offline   Royalgamer06 Icon

  • View gallery
  • Group: Lifetime
  • Posts: 3960
  • Joined: 05-June 11
  • Location: Netherlands

Posted 28 October 2012 - 12:02

View PostkRuSnIk, on 28 October 2012 - 11:35, said:

Works fine on Win8 pro :thumbsup: Thanks for the fix ^^



View PostEvil Scorpio, on 28 October 2012 - 11:45, said:

Forget my previous post, I'm just stupid. :pinch: I've figured out the reason why it won't started - I've forgot to reinstall Steam. Now it works fine. Thanks for the fix, dude. :thumbup:


Glad it's working for you Win8 dudes :thumbsup:
REVOLT.LOGINTO.ME
~ REVOLT Forum ~ Downloads ~ Support ~ Tutorials ~ Information ~
__________________________________
Posted Image
1

#19 User is offline   QueensBlade089 Icon

  • Group: Members
  • Posts: 2
  • Joined: 24-October 12

Posted 28 October 2012 - 15:44

Gives me the same error above unable to start correctly however with all dlc and updates i can play with compa win 98 but it lags as hell oh well hope this is fix soon note i got windows 8 32 bit pro
0

#20 User is offline   Staph Icon

  • Group: Members
  • Posts: 7
  • Joined: 16-October 12

Posted 28 October 2012 - 19:57

View PostNighthawk441, on 28 October 2012 - 03:10, said:

http://www.sendspace.com/file/xc7hed

shouldnt require mscvr110.dll

Only "Borderlands 2 has stopped working" for me. =(
0

Share this topic:


  • 7 Pages +
  • 1
  • 2
  • 3
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users


Toggle chat Chat

Atreedee Icon : (18 January 2017 - 09:55 PM)
hello, does anyone play terraria?
aerstone Icon : (18 January 2017 - 09:47 PM)
hey guys is gta 4 still playable?
Goliats Icon : (18 January 2017 - 09:42 PM)
Meshuggah BG Icon : (18 January 2017 - 09:39 PM)
i am logged in :hmm:
Bisounours Icon : (18 January 2017 - 09:33 PM)
hi, i'm unable to log in too
wessel1105 Icon : (18 January 2017 - 09:00 PM)
im unable to log in?
Mike Harper Icon : (18 January 2017 - 05:29 PM)
Hi there :)
Phylelitas Icon : (18 January 2017 - 05:24 PM)
hello
Mike Harper Icon : (18 January 2017 - 04:55 PM)
What version of the game do you have? Maybe you have a compressed version of the game. This error can come up if those .ff files are missing, or if the server is using different files than you have ;)
SLAYER_69 Icon : (18 January 2017 - 04:48 PM)
im unable to join servers
SLAYER_69 Icon : (18 January 2017 - 04:48 PM)
can someone tell me what is the error ....... .ff(extension is .ff) in mw1?
nerone2222 Icon : (18 January 2017 - 03:39 PM)
6thhjtu6 :whistling:
Mike Harper Icon : (18 January 2017 - 03:27 PM)
What help do you need, mate? :)
Mike Harper Icon : (18 January 2017 - 03:27 PM)
Hey :)
cakaa Icon : (18 January 2017 - 03:26 PM)
help me please?
cakaa Icon : (18 January 2017 - 03:26 PM)
help*
cakaa Icon : (18 January 2017 - 03:25 PM)
hi can somebody hrlp?
LastOnline Icon : (18 January 2017 - 01:12 PM)
Dark souls 3 есть тут
Mike Harper Icon : (18 January 2017 - 07:58 AM)
@I.G.I.-2, Du kannst sehen das Deutsch forum: https://www.tunngle..../#category_1151 :)
Mike Harper Icon : (18 January 2017 - 07:57 AM)
Hello mates :) @all
I.G.I.-2 Icon : (18 January 2017 - 02:18 AM)
spricht hier einer deutsch?
FatalSoldier93 Icon : (18 January 2017 - 01:02 AM)
AGREGENME Y HABLAMOS PARA CUANDO JUGAR LISTO
FatalSoldier93 Icon : (18 January 2017 - 01:01 AM)
AGREGENME ESTE ES MI WHATSAAP 3116398120
FatalSoldier93 Icon : (18 January 2017 - 01:01 AM)
QUIEN PARA JUGAR YA
FatalSoldier93 Icon : (18 January 2017 - 01:01 AM)
HOLAS
mortaza1o2 Icon : (17 January 2017 - 11:13 PM)
pleass
mortaza1o2 Icon : (17 January 2017 - 11:08 PM)
help
mortaza1o2 Icon : (17 January 2017 - 11:07 PM)
i need a patch for arma 3 from v1.62.137494 to v1.66 my game is from nosteam
mortaza1o2 Icon : (17 January 2017 - 11:06 PM)
hello
VavyanDee Icon : (17 January 2017 - 06:07 PM)
Hello! Van itt magyar felhasználó? :hmm: Kéne egy kis segítség! ;(
Resize Chat Area