Граф коммитов

56 Коммитов

Автор SHA1 Сообщение Дата
Stephen Fewer 9aa633008d Bug 1372849 - Improve the security of WindowsDllDetourPatcher. r=dmajor
--HG--
extra : rebase_source : d5afe76d17a4af5c54d041cde29bce2f34477742
2017-06-14 14:46:39 -05:00
Arthur Edelstein 355ed44adc Bug 1344034 - Auto-enforce W^X for WindowsDllInterceptor hook pages. r=dmajor 2017-06-09 14:44:00 -04:00
Carl Corcoran 3ec4012254 Bug 1367899: Add handling for call reg opcode; r=dmajor
MozReview-Commit-ID: 2ncXsGf2H95

--HG--
extra : rebase_source : 70419541bf28844af4ce6348e343691d073556c3
2017-05-25 19:39:43 +02:00
Carl Corcoran f203b4e69b Bug 1367899: Add handling for test r/m32, r32 and jne rel8 opcodes; r=dmajor
MozReview-Commit-ID: 3Cnx5tYrqMT

--HG--
extra : rebase_source : 723d961913e8d2788dcf3ce9b18aa6dffee4e963
2017-05-26 01:56:07 +02:00
Carl Corcoran 42a16ea02c Bug 1343149: Add handling for movups opcode; r=dmajor
MozReview-Commit-ID: 3fDrr2FkfD

--HG--
extra : rebase_source : 09b094868e0c6d754abf8e92b696699c70976382
2017-05-25 22:52:16 +02:00
David Parks 51b34f2689 Bug 1363290 - Part 4: Extend DLL interceptor to handle mov r32, imm32. r=dmajor
The code already handles this if the r32 is eax.  This allows it to use the other 32-bit registers.

--HG--
extra : histedit_source : 1cff5b54640cc48a0574b0b4323ad909e8a7e7b2
2017-05-16 14:48:56 -07:00
David Parks efb6b228f4 Bug 1363290 - Part 2: Add movxsd instruction to WindowsDllInterceptor. r=dmajor
movxsd moves 32-bit register values to 64-bit registers, sign-extending them.  It is used by SetCursorPos.
2017-05-16 14:42:58 -07:00
Cervantes Yu 2dc8565a99 Bug 1348747 - Part 2: Support stub functions starting with jmp rel8 in WindowsDllDetourPatcher. r=handyman
MozReview-Commit-ID: 5hPBmxtBCnu

--HG--
extra : rebase_source : 52a1d43c9f57c9c8b70ded93cbcb76218922ea8b
extra : amend_source : 6377d7eb2246b38e69b95b2a7f507a0f86e300b1
extra : histedit_source : 5cc91dfb4613431466ccde12610a36578361bf53
2017-05-19 15:53:54 +08:00
Cervantes Yu cd7a0759ce Bug 1348747 - Part 1: Fix WindowsDllDetourPatcher that generates extra 0xff byte when generating a x64 jmp instruction. r=handyman
MozReview-Commit-ID: 8TfcwXh6GUN

--HG--
extra : rebase_source : dae5e7e517bdac97eae0983fe4eedacd59f33deb
extra : amend_source : 8332240c2eeff58bc6cd9ea6e6175f2b860777f8
extra : histedit_source : f287291c7405a283f62c15e7ad2a9d8a1c283e06
2017-05-19 15:53:44 +08:00
David Major a063c99655 Bug 1349444: Teach the disassembler about "cmp byte ptr [relative], imm8". r=handyman 2017-05-03 17:11:59 -04:00
Phil Ringnalda 607ccd57d2 Backed out changeset a50a4f9e972b (bug 1322554) for near-permaorange in Win8 debug updater xpcshell tests 2017-04-06 21:00:26 -07:00
Carl Corcoran 08fc406af4 Bug 1322554: Interpose kernel32!BaseThreadInitThunk to add verification of thread start addresses; r=dmajor
MozReview-Commit-ID: CvqZ3gXJyvo
2017-03-29 17:07:37 +02:00
Daniel Holbert 95a650ec1b Bug 1343975: Get rid of all dos/windows linebreaks in Mozilla C++ code. r=ehsan
This is an automated patch, generated by the following command:
find . -name "*.h" -exec fromdos {} \; && \
  find . -name "*.cpp" -exec fromdos {} \; && \
  hg revert -C gfx/angle \
               gfx/sfntly \
               media/webrtc \
               media/libstagefright \
               media/openmax_il \
               other-licenses

MozReview-Commit-ID: Gunlz3vE3h6
2017-03-02 13:08:29 -08:00
David Parks d884f8d253 Bug 1328996 - Add ability for 64-bit MOV instructions (those with REX.W bit set) to be patched in the DLL interceptor harness. r=aklotz
Also adds some ASSERTs to catch failures in the DLL interceptor.

--HG--
extra : rebase_source : 1de8f5f73ca8b802fd5338fa87f33cc742a63e47
2017-02-03 11:58:20 -08:00
David Parks 21bf9d1a88 Bug 1284897 - Add missing hooked methods to TestDllInterceptor. r=aklotz
Added ASSERTions to nsWindowsDllInterceptor in case of a failed detour hook, with an exception for the RET opcode that appears in ImmReleaseContext. Added documentation about TestDllInterceptor.

--HG--
extra : rebase_source : a3c6fe0949f5503979a062bdaa5f35526ddee73b
2017-02-07 12:00:45 -08:00
David Parks 81628820f6 Bug 1284897 - Add opcodes to nsWindowsDllInterceptor for GetSaveFileNameW, GetOpenFileNameW and ImmReleaseContext. r=aklotz
This includes a near-jump CALL instruction in x64, which expands to a far-jump CALL with a 64-bit address as inline data. This requires us to abandon the method where we memcpy the code block into the trampoline and, instead, build the trampoline function as we go.

--HG--
extra : rebase_source : 7f90ce5ba1a82dff731aff1ac17117c684b7b2cf
2017-01-20 16:03:44 -08:00
Sebastian Hengst 1c6c3bfb07 Backed out changeset a176abd99d2b (bug 1284897) for "Unknown sync IPC message PPluginModule::GetFileName"; needs review from an IPC peer now. r=backout on a CLOSED TREE 2017-02-21 23:15:11 +01:00
Sebastian Hengst 5400f1a2d3 Backed out changeset 4e81ec8850dc (bug 1284897) 2017-02-21 23:13:34 +01:00
David Parks 258144b97c Bug 1284897 - Add missing hooked methods to TestDllInterceptor. r=aklotz
Added ASSERTions to nsWindowsDllInterceptor in case of a failed detour hook, with an exception for the RET opcode that appears in ImmReleaseContext. Added documentation about TestDllInterceptor.

--HG--
extra : rebase_source : 48a38a09a1feb63600e12eba997a83f646cd1595
extra : histedit_source : 566cec5c47c400402e2e4dfa0cdc6d53d82b0815
2017-02-07 12:00:45 -08:00
David Parks ad89b9cf9b Bug 1284897 - Add opcodes to nsWindowsDllInterceptor for GetSaveFileNameW, GetOpenFileNameW and ImmReleaseContext. r=aklotz
This includes a near-jump CALL instruction in x64, which expands to a far-jump CALL with a 64-bit address as inline data. This requires us to abandon the method where we memcpy the code block into the trampoline and, instead, build the trampoline function as we go.

--HG--
extra : rebase_source : f0362c4b8200ba3d05191fdd45c5783dccd444bc
extra : histedit_source : 3018adf0c7d5849f87adc5e5459acf9f0e56301c
2017-01-20 16:03:44 -08:00
Phil Ringnalda 87ae1a50e4 Backed out 5 changesets (bug 1284897) for mozilla::SandboxPermissions::RemovePermissionsForProcess crashes
Backed out changeset 19b2fcee13a9 (bug 1284897)
Backed out changeset a5171791437f (bug 1284897)
Backed out changeset 3ea8b8a18515 (bug 1284897)
Backed out changeset 21497a4e3bde (bug 1284897)
Backed out changeset 12e17d5f0fa9 (bug 1284897)
2017-02-16 22:14:15 -08:00
David Parks cb9c91b2bb Bug 1284897 - Add missing hooked methods to TestDllInterceptor. r=aklotz
Added ASSERTions to nsWindowsDllInterceptor in case of a failed detour hook, with an exception for the RET opcode that appears in ImmReleaseContext. Added documentation about TestDllInterceptor.
2017-02-07 12:00:45 -08:00
David Parks e1341ab02e Bug 1284897 - Add opcodes to nsWindowsDllInterceptor for GetSaveFileNameW, GetOpenFileNameW and ImmReleaseContext. r=aklotz
This includes a near-jump CALL instruction in x64, which expands to a far-jump CALL with a 64-bit address as inline data. This requires us to abandon the method where we memcpy the code block into the trampoline and, instead, build the trampoline function as we go.
2017-01-20 16:03:44 -08:00
David Major 65625866dd Bug 1335896 - Shrink maxPatchedFns in WindowsDllInterceptor. r=aklotz
MozReview-Commit-ID: HLHC2l9ElA0
2017-02-10 14:20:43 +13:00
Aaron Klotz 9a3cf49632 Bug 1314183: Ensure that nsWindowsDllInterceptor does not accept RIP-relative displacements on amd64; r=dmajor
MozReview-Commit-ID: DNf3h9UiRkG

--HG--
extra : rebase_source : 5357b972f72ca10579c6a8ba4a73b61ea84870bb
2016-11-02 10:42:07 -06:00
Aaron Klotz d4a8a0d706 Bug 1310056: Part 2 - Additional DLL interceptor enhancements; r=m_kato
MozReview-Commit-ID: 6fFbGjqTHzg
2016-10-25 17:57:16 -06:00
Aaron Klotz bb3855e88a Bug 1310056: Part 1 - DllInterceptor improvements to support InSendMessageEx; r=m_kato
MozReview-Commit-ID: 2I1AHqKGfQi
2016-10-13 15:04:48 -06:00
Aaron Klotz b785d4851f Bug 1218473: Add check for presence of NVIDIA Optimus drivers to WindowsNopSpacePatcher; r=ehsan
MozReview-Commit-ID: 7WhWWbRHOw7
2016-10-13 17:10:52 -06:00
Aaron Klotz 25ab6720e1 Bug 1240848: Adds additional instructions to x64 detour patcher and prevents register clobbering in jmp from trampoline; r=ehsan
MozReview-Commit-ID: 7DCQZc9eoQI
2016-10-13 14:56:23 -06:00
Aaron Klotz dc65cea470 Bug 1240977: DLL interceptor improvements for Windows 10 x64 ntdll APIs; r=ehsan
MozReview-Commit-ID: rM8XWK5y2n
2016-10-13 15:15:22 -06:00
Makoto Kato 893f6698da Bug 1180684 - Part 1. Analyze MOV with GS. r=aklotz
Allow MOV with GS prefix on x64.  Windows 10 uses this opcode on GetKeyState().

MozReview-Commit-ID: CqDSxmWdkiH

--HG--
extra : rebase_source : aa83b2b4c141730eb89f29cad61af79e66cb7a71
2016-09-07 16:15:58 +09:00
Ryan VanderMeulen d05085d0b5 Backed out changeset e135879cff29 (bug 1218473) to fix various Windows startup issues being experienced by some users. a=sledru
--HG--
extra : source : fd105431c25d9c6b4a265c80bfc1208ff468ea03
extra : intermediate-source : 02156c26b928dfdb8076fd09c32ba7ca311ff360
2016-02-11 13:35:48 -05:00
Carsten "Tomcat" Book b1fb989ae0 Backed out changeset 6e4e5e584c32 (bug 1240848) for causing bug 1241921 to reappear 2016-02-11 15:12:51 +01:00
Aaron Klotz 33ea2e8a9e Bug 1240848: Adds additional instructions to x64 detour patcher and prevents register clobbering in jmp from trampoline; r=ehsan
--HG--
extra : rebase_source : c9604e99a0741213676227cfc7f915236c6e67ee
extra : amend_source : 7f2bbe6e661ab4dffc045d24489bf40d0409b093
2016-02-03 16:21:17 -07:00
Ryan VanderMeulen 3b54dc9561 Backed out changeset 9f34b95fa1d0 (bug 1240977) and changeset a786af9186eb (bug 1240848) for suspicion of causing the topcrashes in bug 1241921. a=topcrash 2016-01-22 18:27:10 -05:00
Aaron Klotz 096c338869 Bug 1240977 - DLL interceptor improvements for Windows 10 x64 ntdll APIs; r=ehsan 2016-01-20 10:44:17 -07:00
Aaron Klotz 5c9b0e3676 Bug 1240848: Adds additional instructions to x64 detour patcher; r=ehsan
--HG--
extra : rebase_source : 7c050d496e5cf09343dece8a8bb12551eafc7928
extra : amend_source : 68d46effe9b2b7925eff419b14492f399c55b667
2016-01-19 15:14:24 -07:00
Aaron Klotz 007abcfb31 Bug 1218473: Add check for presence of NVIDIA Optimus drivers to WindowsNopSpacePatcher; r=ehsan
--HG--
extra : rebase_source : 69a2905a9cb631b3f66418d46dcfc6fbd189baaa
2016-01-06 12:54:48 -07:00
Makoto Kato 41219d5981 Bug 1208944 - Part 4. nsWindowsDllInterceptor supports IMM32 API hook. r=ehsan 2015-12-29 22:57:38 +09:00
Sebastian Hengst e082884d78 Backed out 15 changesets (bug 1208944) for failing tests M(2,5) on OSX. r=backout
Backed out changeset c29de223de2f (bug 1208944)
Backed out changeset 3d99da255be1 (bug 1209844)
Backed out changeset 3c915942af38 (bug 1209844)
Backed out changeset 759b425b5503 (bug 1208944)
Backed out changeset bf73cf8f0fda (bug 1208944)
Backed out changeset 0e337d912b7d (bug 1208944)
Backed out changeset 31c47f2980b5 (bug 1208944)
Backed out changeset 3e0d70a6e809 (bug 1208944)
Backed out changeset 7685dcb63e5f (bug 1208944)
Backed out changeset 3c2b9372dd36 (bug 1208944)
Backed out changeset 18160d306493 (bug 1208944)
Backed out changeset 4974e397b655 (bug 1208944)
Backed out changeset fde7e439844d (bug 1208944)
Backed out changeset 4213a355fbdc (bug 1208944)
Backed out changeset 33cfddbbf5f2 (bug 1208944)
2015-12-29 17:42:02 +01:00
Makoto Kato a4309e941a Bug 1208944 - Part 4. nsWindowsDllInterceptor supports IMM32 API hook. r=ehsan 2015-12-29 22:57:38 +09:00
Phil Ringnalda 2ad5117d1a Back out a25efba616ac (bug 1218473) on suspicion of causing Windows 8 shutdown crashes "with exit code 3221225477" 2015-11-29 12:38:30 -08:00
Aaron Klotz 9162a0feda Bug 1218473: Add check for presence of NVIDIA Optimus drivers to WindowsNopSpacePatcher; r=ehsan
--HG--
extra : rebase_source : f179d1f950faccf71415c9a694160bc65d014fbb
2015-11-27 13:01:23 -07:00
David Major 1415ae55cb Bug 1201205 part 2: Restore protection on the nop space separately from the function. r=m_kato
--HG--
extra : rebase_source : c3b5d44c04b41dc4133e9f3f50a0394c964ac673
2015-09-04 14:24:05 -04:00
David Major 2f23a1b1e6 Bug 1201205 part 1: Add an AutoVirtualProtect helper class to make the next patch easier. r=m_kato
--HG--
extra : rebase_source : c32b1cd483bdbfe09760fcb7c0a36cecf3b9940c
2015-09-04 14:23:33 -04:00
David Major 789b31656d Bug 1192844: Accept 0xCC padding in WindowsDllDetourPatcher::CreateTrampoline. r=m_kato
--HG--
extra : rebase_source : 6711e475036ea3fe98bb054b79e10ad8d54692fb
2015-08-12 13:10:04 -04:00
Andrew McCreight 1e0f87e27d Bug 1151541, part 2 - Fix mode lines in xpcom/. r=froydnj 2015-04-09 10:25:05 -07:00
Makoto Kato 9b07a3a0af Bug 1131436 - WindowsDllInterceptor is always failure with --disable-optimize and --enable-debug. r=dmajor 2015-02-12 15:07:57 +09:00
Makoto Kato e9788e3d05 Bug 1121829 - Support redirection of kernel32.dll for hooking function. r=dmajor 2015-01-16 23:07:09 +09:00
Makoto Kato 276b9dd00e Bug 1112709 - CreateFileW isn't hooking properly on Windows 8/8.1. r=ehsan 2014-12-24 13:23:36 +09:00