diff --git a/.gitignore b/.gitignore index 8bf37c4..895afc2 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,6 @@ *.ilc *.hlp *.tds -*.zip *.db *.htm *.xls diff --git a/AntiWebMiner.cbproj b/AntiWebMiner.cbproj index 976f04a..0033fe5 100644 --- a/AntiWebMiner.cbproj +++ b/AntiWebMiner.cbproj @@ -19,17 +19,15 @@ true + rtl.lib;vcl.lib true vcl.bpi;rtl.bpi;bcbie.bpi;vclx.bpi;vclactnband.bpi;xmlrtl.bpi;bcbsmp.bpi;dbrtl.bpi;vcldb.bpi;vcldbx.bpi;bdertl.bpi;dsnap.bpi;dsnapcon.bpi;TeeUI.bpi;TeeDB.bpi;Tee.bpi;adortl.bpi;vclib.bpi;ibxpress.bpi;IndyCore.bpi;IndySystem.bpi;IndyProtocols.bpi;vclie.bpi;inet.bpi;inetdbbde.bpi;inetdbxpress.bpi;soaprtl.bpi;vclribbon.bpi;dbexpress.bpi;DbxCommonDriver.bpi;DataSnapIndy10ServerTransport.bpi;DataSnapProviderClient.bpi;DataSnapServer.bpi;DbxClientDriver.bpi;DBXInterBaseDriver.bpi;DBXMySQLDriver.bpi;dbxcds.bpi;DBXSybaseASEDriver.bpi;DBXSybaseASADriver.bpi;DBXOracleDriver.bpi;DBXMSSQLDriver.bpi;DBXInformixDriver.bpi;DBXDb2Driver.bpi;VclSmp.bpi;gbutton.bpi;ggrid.bpi;gsearch.bpi;metro.bpi;tmsd2009.bpi;wevent.bpi;tmsexd2009.bpi;tmswizd2009.bpi;tmsxlsd2009.bpi;pls2009.bpi;cefd.bpi - rtl.bpi;vcl.bpi CppVCLApplication rtl.lib;vcl.lib exe <_TCHARMapping>wchar_t JPHNE NO_STRICT - true - true C:\CBuilder5\Projects\AntiWebMiner;$(CG_BOOST_ROOT)\boost\tr1\tr1;$(BDS)\include;$(BDS)\include\dinkumware;$(BDS)\include\vcl;$(CG_BOOST_ROOT);C:\Program Files\tmsssoftware\TMS Component Pack\Builder2009;$(IncludePath) C:\CBuilder5\Projects\AntiWebMiner;$(BDS)\lib\obj;$(BDS)\lib\psdk;C:\Program Files\tmsssoftware\TMS Component Pack\Builder2009;$(ILINK_LibraryPath) false @@ -61,12 +59,6 @@ None - - 0 - - - 3 -
frmMain
main.h @@ -75,6 +67,17 @@ 1 + + 0 + + + 3 + + + vista_man.rc +
vista_man.res
+ 4 +
Base @@ -158,6 +161,9 @@ CodeGear C++Builder Office 2000 Servers Package CodeGear C++Builder Office XP Servers Package + + C:\CBuilder5\Projects\AntiWebMiner\ + 12 diff --git a/AntiWebMiner.cpp b/AntiWebMiner.cpp index 51035f8..46b1241 100644 --- a/AntiWebMiner.cpp +++ b/AntiWebMiner.cpp @@ -12,6 +12,7 @@ WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int) { Application->Initialize(); Application->MainFormOnTaskBar = true; + Application->Title = "Anti-WebMiner"; Application->CreateForm(__classid(TfrmMain), &frmMain); Application->Run(); } diff --git a/AntiWebMiner.dsk b/AntiWebMiner.dsk index 7d62b34..1f01782 100644 --- a/AntiWebMiner.dsk +++ b/AntiWebMiner.dsk @@ -12,18 +12,22 @@ File_9=TSourceModule,'C:\CBuilder5\Projects\vista_logon\visla\about.cpp',0,1,41, [Modules] Module0=C:\CBuilder5\Projects\AntiWebMiner\main.cpp -Module1=C:\CBuilder5\Projects\AntiWebMiner\AntiWebMiner.cbproj -Module2=C:\CBuilder5\Projects\AntiWebMiner\SSLCon.cpp -Module3=C:\CBuilder5\Projects\AntiWebMiner\SSLCon.h -Module4=C:\CBuilder5\Projects\AntiWebMiner\StdAfxs.h -Module5=default.htm -Count=6 +Module1=C:\CBuilder5\Projects\AntiWebMiner\vista_man.rc +Module2=C:\CBuilder5\Projects\AntiWebMiner\AntiWebMiner.cbproj +Module3=C:\CBuilder5\Projects\AntiWebMiner\SSLCon.cpp +Module4=C:\CBuilder5\Projects\AntiWebMiner\SSLCon.h +Module5=C:\CBuilder5\Projects\AntiWebMiner\StdAfxs.h +Module6=default.htm +Count=7 EditWindowCount=1 [C:\CBuilder5\Projects\AntiWebMiner\main.cpp] ModuleType=TSourceModule FormState=1 -FormOnTop=1 +FormOnTop=0 + +[C:\CBuilder5\Projects\AntiWebMiner\vista_man.rc] +ModuleType=TSourceModule [C:\CBuilder5\Projects\AntiWebMiner\AntiWebMiner.cbproj] ModuleType=TBaseProject @@ -47,7 +51,7 @@ FormOnTop=0 ModuleType=TURLModule [EditWindow0] -ViewCount=7 +ViewCount=8 CurrentEditView=C:\CBuilder5\Projects\AntiWebMiner\main.cpp View0=0 View1=1 @@ -56,6 +60,7 @@ View3=3 View4=4 View5=5 View6=6 +View7=7 PercentageSizes=1 Create=1 Visible=1 @@ -75,16 +80,16 @@ BorlandEditorCodeExplorer=BorlandEditorCodeExplorer@EditWindow0 TopPanelSize=0 LeftPanelSize=1891 LeftPanelClients=PropertyInspector,DockSite3 -LeftPanelData=00000800787800000000131000000000000001630700000000000001000000005C0E000009000000446F636B53697465330100000000931C00001100000050726F7065727479496E73706563746F72FFFFFFFF +LeftPanelData=00000800A8A800000000900F00000000000001630700000000000001000000005C0E000009000000446F636B53697465330100000000AB1B00001100000050726F7065727479496E73706563746F72FFFFFFFF RightPanelSize=2000 RightPanelClients=DockSite2,ToolForm -RightPanelData=00000800181800000000131000000000000001D00700000000000001000000004412000009000000446F636B53697465320100000000931C000008000000546F6F6C466F726DFFFFFFFF -BottomPanelSize=1574 +RightPanelData=00000800E8E800000000900F00000000000001D00700000000000001000000004412000009000000446F636B53697465320100000000AB1B000008000000546F6F6C466F726DFFFFFFFF +BottomPanelSize=1806 BottomPanelClients=MessageView@EditWindow0,DockSite1 -BottomPanelData=00000800F8F80000000072450000000000000226060000000000000100000000B922000009000000446F636B53697465310100000000724500000B0000004D65737361676556696577FFFFFFFF +BottomPanelData=00000800D8D80100000009000000446F636B53697465317245000000000000020E070000000000000100000000724500000B0000004D65737361676556696577FFFFFFFF BottomMiddlePanelSize=0 BottomMiddlePanelClients=DockSite0 -BottomMiddelPanelData=00000800B8B80100000009000000446F636B53697465302C1900000000000000741B000000000000FFFFFFFF +BottomMiddelPanelData=00000800F8F80100000009000000446F636B53697465302C1900000000000000741B000000000000FFFFFFFF [View0] CustomEditViewType=TWelcomePageView @@ -97,12 +102,12 @@ CustomEditViewType=TDisassemblyEditView CustomEditViewType=TEditView Module=C:\CBuilder5\Projects\AntiWebMiner\main.cpp CursorX=1 -CursorY=62 -TopLine=25 +CursorY=63 +TopLine=43 LeftCol=1 Elisions= -Bookmarks={1,245,1}{2,47,1} -EditViewName=Borland.FormDesignerView +Bookmarks={0,494,17}{1,1221,37}{2,1073,43} +EditViewName=C:\CBuilder5\Projects\AntiWebMiner\main.cpp [View3] CustomEditViewType=TEditView @@ -117,6 +122,17 @@ EditViewName=C:\CBuilder5\Projects\AntiWebMiner\AntiWebMiner.cpp [View4] CustomEditViewType=TEditView +Module=C:\CBuilder5\Projects\AntiWebMiner\vista_man.rc +CursorX=9 +CursorY=1 +TopLine=1 +LeftCol=1 +Elisions= +Bookmarks= +EditViewName=C:\CBuilder5\Projects\AntiWebMiner\vista_man.rc + +[View5] +CustomEditViewType=TEditView Module=C:\CBuilder5\Projects\AntiWebMiner\SSLCon.cpp CursorX=1 CursorY=300 @@ -126,7 +142,7 @@ Elisions= Bookmarks= EditViewName=C:\CBuilder5\Projects\AntiWebMiner\SSLCon.cpp -[View5] +[View6] CustomEditViewType=TEditView Module=C:\CBuilder5\Projects\AntiWebMiner\StdAfxs.h CursorX=17 @@ -137,7 +153,7 @@ Elisions= Bookmarks= EditViewName=C:\CBuilder5\Projects\AntiWebMiner\StdAfxs.h -[View6] +[View7] CustomEditViewType=TEditView Module=C:\CBuilder5\Projects\AntiWebMiner\SSLCon.h CursorX=24 @@ -163,19 +179,26 @@ Docked=1 State=0 Left=0 Top=0 -Width=4979 -Height=1173 +Width=3828 +Height=1413 MaxLeft=-1 MaxTop=-1 -ClientWidth=4979 -ClientHeight=1173 +ClientWidth=3828 +ClientHeight=1413 TBDockHeight=212 LRDockWidth=13604 Dockable=1 StayOnTop=0 [Breakpoints] -Count=0 +Count=7 +Breakpoint0='C:\CBuilder5\Projects\AntiWebMiner\main.cpp',1406,'',0,1,'',1,0,0,'',1,'','','',0 +Breakpoint1='C:\CBuilder5\Projects\AntiWebMiner\main.cpp',1415,'',0,1,'',1,0,0,'',1,'','','',0 +Breakpoint2='C:\CBuilder5\Projects\AntiWebMiner\main.cpp',1426,'',0,1,'',1,0,0,'',1,'','','',0 +Breakpoint3='C:\CBuilder5\Projects\AntiWebMiner\main.cpp',494,'',0,1,'',1,0,0,'',1,'','','',0 +Breakpoint4='C:\CBuilder5\Projects\AntiWebMiner\main.cpp',63,'',0,1,'',1,0,0,'',1,'','','',0 +Breakpoint5='C:\CBuilder5\Projects\AntiWebMiner\main.cpp',1047,'',0,1,'',1,0,0,'',1,'','','',0 +Breakpoint6='C:\CBuilder5\Projects\AntiWebMiner\main.cpp',1073,'',0,1,'',1,0,0,'',1,'','','',0 [AddressBreakpoints] Count=0 @@ -198,7 +221,7 @@ ClientWidth=10000 ClientHeight=9779 BottomPanelSize=8917 BottomPanelClients=EditWindow0 -BottomPanelData=0000080098980000000000000000000000000000000000000000000100000000000000000C0000004564697457696E646F775F30FFFFFFFF +BottomPanelData=0000080028280000000000000000000000000000000000000000000100000000000000000C0000004564697457696E646F775F30FFFFFFFF [ProjectManager] PercentageSizes=1 @@ -228,11 +251,11 @@ State=0 Left=0 Top=528 Width=2000 -Height=2519 +Height=2279 MaxLeft=-1 MaxTop=-1 ClientWidth=2000 -ClientHeight=2519 +ClientHeight=2279 TBDockHeight=7019 LRDockWidth=2000 Dockable=1 @@ -268,12 +291,12 @@ Docked=1 State=0 Left=0 Top=0 -Width=4979 -Height=1173 +Width=3828 +Height=1413 MaxLeft=-1 MaxTop=-1 -ClientWidth=4979 -ClientHeight=1173 +ClientWidth=3828 +ClientHeight=1413 TBDockHeight=413 LRDockWidth=4953 Dockable=1 @@ -287,12 +310,12 @@ Docked=1 State=0 Left=0 Top=0 -Width=4979 -Height=1173 +Width=3828 +Height=1413 MaxLeft=-1 MaxTop=-1 -ClientWidth=4979 -ClientHeight=1173 +ClientWidth=3828 +ClientHeight=1413 TBDockHeight=212 LRDockWidth=7406 Dockable=1 @@ -310,12 +333,12 @@ Docked=1 State=0 Left=0 Top=0 -Width=4979 -Height=1173 +Width=3828 +Height=1413 MaxLeft=-1 MaxTop=-1 -ClientWidth=4979 -ClientHeight=1173 +ClientWidth=3828 +ClientHeight=1413 TBDockHeight=1538 LRDockWidth=3484 Dockable=1 @@ -329,12 +352,12 @@ Docked=1 State=0 Left=0 Top=0 -Width=4979 -Height=1173 +Width=3828 +Height=1413 MaxLeft=-1 MaxTop=-1 -ClientWidth=4979 -ClientHeight=1173 +ClientWidth=3828 +ClientHeight=1413 TBDockHeight=2058 LRDockWidth=3484 Dockable=1 @@ -452,11 +475,11 @@ State=0 Left=0 Top=420 Width=1891 -Height=3558 +Height=3317 MaxLeft=-1 MaxTop=-1 ClientWidth=1891 -ClientHeight=3558 +ClientHeight=3317 TBDockHeight=7019 LRDockWidth=1891 Dockable=1 @@ -465,8 +488,8 @@ SplitPos=111 [PropInspDesignerSelection] ArrangeBy=Name -SelectedItem=Name,Action -ExpandedItems=MenuAnimation=0 +SelectedItem=Name, +ExpandedItems=Anchors=0,Constraints=0,MenuAnimation=0,Font=0,ImageMargins=0,Margins=0 [ModelViewTool] PercentageSizes=1 @@ -493,7 +516,7 @@ Create=1 Visible=0 Docked=1 State=0 -Left=-3801 +Left=-3982 Top=-102 Width=1844 Height=3144 @@ -514,12 +537,12 @@ Docked=1 State=0 Left=0 Top=0 -Width=4979 -Height=1173 +Width=3828 +Height=1413 MaxLeft=-1 MaxTop=-1 -ClientWidth=4979 -ClientHeight=1173 +ClientWidth=3828 +ClientHeight=1413 TBDockHeight=1548 LRDockWidth=8740 Dockable=1 @@ -556,15 +579,15 @@ Create=1 Visible=1 Docked=1 State=0 -Left=960 +Left=0 Top=23 -Width=5000 -Height=1413 +Width=10000 +Height=1654 MaxLeft=-1 MaxTop=-1 -ClientWidth=5000 -ClientHeight=1413 -TBDockHeight=1413 +ClientWidth=10000 +ClientHeight=1654 +TBDockHeight=1654 LRDockWidth=4328 Dockable=1 StayOnTop=0 @@ -620,23 +643,23 @@ HostDockSite=DockBottomPanel DockSiteType=1 PercentageSizes=1 Create=1 -Visible=1 +Visible=0 Docked=1 State=0 -Left=0 +Left=960 Top=23 -Width=4979 -Height=1413 +Width=3828 +Height=1654 MaxLeft=-1 MaxTop=-1 -ClientWidth=4979 -ClientHeight=1413 -TBDockHeight=1413 +ClientWidth=3828 +ClientHeight=1654 +TBDockHeight=1654 LRDockWidth=3828 Dockable=1 StayOnTop=0 TabPosition=1 -ActiveTabID=WatchWindow +ActiveTabID=DebugLogView TabDockClients=DebugLogView,BreakpointWindow,ThreadStatusWindow,CallStackWindow,WatchWindow,LocalVarsWindow [DockSite2] diff --git a/AntiWebMiner.res b/AntiWebMiner.res index bed960e..ec5a9b1 100644 Binary files a/AntiWebMiner.res and b/AntiWebMiner.res differ diff --git a/LICENSE.TXT b/LICENSE.TXT new file mode 100644 index 0000000..c7b774a --- /dev/null +++ b/LICENSE.TXT @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2017 Greatis Software http://www.greatis.com + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/antiwebminesetup.zip b/antiwebminesetup.zip new file mode 100644 index 0000000..a26ab31 Binary files /dev/null and b/antiwebminesetup.zip differ diff --git a/images/antiminer.png b/images/antiminer.png new file mode 100644 index 0000000..675476e Binary files /dev/null and b/images/antiminer.png differ diff --git a/images/antiminer16.png b/images/antiminer16.png new file mode 100644 index 0000000..7bee25e Binary files /dev/null and b/images/antiminer16.png differ diff --git a/images/antiminer32.png b/images/antiminer32.png new file mode 100644 index 0000000..735949a Binary files /dev/null and b/images/antiminer32.png differ diff --git a/images/error.png b/images/error.png new file mode 100644 index 0000000..b15e12d Binary files /dev/null and b/images/error.png differ diff --git a/images/icons8-Delete-48.png b/images/icons8-Delete-48.png new file mode 100644 index 0000000..00816b3 Binary files /dev/null and b/images/icons8-Delete-48.png differ diff --git a/images/icons8-Download-48.png b/images/icons8-Download-48.png new file mode 100644 index 0000000..2349d89 Binary files /dev/null and b/images/icons8-Download-48.png differ diff --git a/images/icons8-Info-48.png b/images/icons8-Info-48.png new file mode 100644 index 0000000..df8764d Binary files /dev/null and b/images/icons8-Info-48.png differ diff --git a/images/icons8-Ok-48.png b/images/icons8-Ok-48.png new file mode 100644 index 0000000..599b740 Binary files /dev/null and b/images/icons8-Ok-48.png differ diff --git a/images/icons8-Unavailable-48.png b/images/icons8-Unavailable-48.png new file mode 100644 index 0000000..2ac9f2f Binary files /dev/null and b/images/icons8-Unavailable-48.png differ diff --git a/images/warning.png b/images/warning.png new file mode 100644 index 0000000..3cc4292 Binary files /dev/null and b/images/warning.png differ diff --git a/install.bat b/install.bat new file mode 100644 index 0000000..eed6d38 --- /dev/null +++ b/install.bat @@ -0,0 +1,14 @@ +call code.bat C:\CBuilder5\Projects\AntiWebMiner\Debug\AntiWebMiner.exe +copy C:\CBuilder5\Projects\AntiWebMiner\Debug\AntiWebMiner.exe D:\internet\greatis\new\antiwebminer +copy C:\CBuilder5\Projects\AntiWebMiner\LICENSE.TXT D:\internet\greatis\new\antiwebminer +copy C:\CBuilder5\Projects\AntiWebMiner\README.md D:\internet\greatis\new\antiwebminer +copy C:\CBuilder5\Projects\AntiWebMiner\AntiWebMiner.ini D:\internet\greatis\new\antiwebminer +copy C:\CBuilder5\Projects\AntiWebMiner\blacklist.txt D:\internet\greatis\new\antiwebminer + +"C:\Program Files\Inno Setup 554\Compil32.exe" /cc D:\internet\greatis\new\AntiWebMiner.iss +call D:\internet\greatis\new\cert\verisign16\sha-256\1signright.bat D:\internet\greatis\new\AntiWebMineSetup.exe +d: +cd \internet\greatis\new +zip antiwebminesetup.zip AntiWebMineSetup.exe +copy antiwebminesetup.zip C:\CBuilder5\Projects\AntiWebMiner + diff --git a/main.cpp b/main.cpp index 71b3e0f..68820ab 100644 --- a/main.cpp +++ b/main.cpp @@ -23,9 +23,9 @@ __fastcall TfrmMain::TfrmMain(TComponent* Owner) LogFileName=ExtractFilePath(ParamStr(0))+"debug.log"; bDebugMode=true; strHosts=new TStringList; - sLocalBlackListVersion=""; - + sLocalBlackListVersion="0.0"; + Caption=MAIN_LABEL+" "+MAIN_VERS; if(bDebugMode) { try @@ -136,7 +136,7 @@ bool __fastcall TfrmMain::ReadMainStatus() } else { - sCriticalError =constHosstCannotRead->Caption+" "+constSystemError->Caption+" "+SysErrorMessage(GetLastError()); + sCriticalError =constHosstCannotRead->Caption+" "+constSystemError->Caption+": "+SysErrorMessage(GetLastError()); WriteLogMessage(sCriticalError); DisplayStatus(DISP_FATAL_ERROR); bResult= false; @@ -1011,13 +1011,17 @@ int __fastcall GetInternetRequest(String sURL, String &sOutResult) } -void __fastcall TfrmMain::CheckUpdateBlackList() +void __fastcall TfrmMain::CheckUpdates() { MSG Msg; - - FThread = new TSSLThread(true, URL_BLACKLIST); + String sURL=URL_BLACKLIST; + if(bCheckProgramUpdate) + { + sURL=URL_PROGRAM_VERSION; + } + FThread = new TSSLThread(true, sURL); FThread->OnTerminate = ThreadDone; FThread->Resume(); if(FThread) @@ -1040,16 +1044,41 @@ void __fastcall TfrmMain::ThreadDone(TObject *Sender) WriteLogMessage("Update thread finished. Returned (bytes): "+String(FThread->FResult.Length())); int iResult=FThread->iResult; + if(bCheckProgramUpdate) + { + sRemoteProgramVersion=sGetVersionFromMemoryIni( FThread->FResult); + + if(!IsLocalVersUptodate(sRemoteProgramVersion, MAIN_VERS)) + { + DisplayStatus(DISP_FOUND_PROGRAM_UPDATES); + + } + else + { + ReadMainStatus(); + } + } + else + { if( UpdateLocalBlackListFromRemote(FThread->FResult)) { bNeedUpdateHosts=true; - DisplayStatus(DISP_FOUND_UPDATES); + if(sHostsBlackListVersion.IsEmpty()) + { + DisplayStatus(DISP_INSTALL_TO_HOSTS); + } + else + { + DisplayStatus(DISP_FOUND_UPDATES); + } } else { - ReadMainStatus(); + // ReadMainStatus(); + timProgramCheckUpdate->Enabled=true; } + } } } catch(...) @@ -1068,6 +1097,21 @@ void __fastcall TfrmMain::DisplayStatus(int iStatus) switch(iStatus) { + case DISP_FATAL_ERROR: lblStatus->Caption= sCriticalError; + imgStatus->Picture->Assign(imgError->Picture); + btInstall->Enabled=false; + + if(sHostsBlackListVersion.IsEmpty()) + { + btUninstall->Enabled=false; + } + else + { + btUninstall->Enabled=true; + } + + + break; case DISP_ALL_DONE: lblStatus->Caption=constYourcomputerisprotected->Caption+"\n"+constDatabaseversion->Caption+": "+sHostsBlackListVersion; if(iInstallDate>0) @@ -1127,9 +1171,25 @@ void __fastcall TfrmMain::DisplayStatus(int iStatus) case DISP_CHECK_UPDATE: lblStatus->Caption=constCheckingforupdates->Caption; DisplayPreloader(true); + break; + case DISP_CHECK_PROGRAM_UPDATE: + lblStatus->Caption=constCheckingforprogramsupdates->Caption; + DisplayPreloader(true); + break; + case DISP_FOUND_PROGRAM_UPDATES: + lblStatus->Caption=constFoundnewversion->Caption+": "+sRemoteProgramVersion+"\n"+constClickDownload->Caption; + imgStatus->Picture->Assign( imgDownload->Picture); + try + { + btDownload->Visible=true; + btDownload->SetFocus(); + } + catch(...) + { + } + break; - break; } } @@ -1157,6 +1217,8 @@ bool bResult=false; try { str->SaveToFile(sFile); + WriteLogMessage("New Blacklist was saved: "+sFile); + sLocalBlackListVersion= sRemoteBlackListVersion; bResult=true; } catch(...) @@ -1250,8 +1312,10 @@ __fastcall TSSLThread::TSSLThread(bool CreateSuspended, String URL) void __fastcall TfrmMain::timUpdateTimer(TObject *Sender) { timUpdate->Enabled=false; + + bCheckProgramUpdate=false; DisplayStatus(DISP_CHECK_UPDATE); - CheckUpdateBlackList(); + CheckUpdates(); } //--------------------------------------------------------------------------- @@ -1362,8 +1426,8 @@ void __fastcall TfrmMain::imgPreloaderClick(TObject *Sender) if(FThread!=NULL) { FThread->Terminate(); - ReadMainStatus(); } + ReadMainStatus(); } catch(...) { @@ -1371,3 +1435,57 @@ void __fastcall TfrmMain::imgPreloaderClick(TObject *Sender) } //--------------------------------------------------------------------------- +String __fastcall TfrmMain::sGetVersionFromMemoryIni(String sRemoteText) +{ +TStringList *str=NULL; + String sResult; + try + { + str=new TStringList; + str->Text= sRemoteText; + sResult= sGetDBVersionFromStrings(str); + } + catch(...) + { + + } + + delete str; + + return sResult; +} + +void __fastcall TfrmMain::timProgramCheckUpdateTimer(TObject *Sender) +{ + timProgramCheckUpdate->Enabled=false; + + bCheckProgramUpdate=true; + DisplayStatus(DISP_CHECK_UPDATE); + CheckUpdates(); + +} +//--------------------------------------------------------------------------- + +void __fastcall TfrmMain::btDownloadClick(TObject *Sender) +{ + // + ShellExecute(NULL,L"open",L"https://github.com/greatis/Anti-WebMiner",NULL,NULL,SW_SHOW); +} +//--------------------------------------------------------------------------- + + +void __fastcall TfrmMain::btLicenseClick(TObject *Sender) +{ + String sLicense=ExtractFilePath(ParamStr(0))+"LICENSE.TXT"; + ShellExecute(NULL,L"open",sLicense.t_str(),NULL,NULL,SW_SHOW); + +} +//--------------------------------------------------------------------------- + +void __fastcall TfrmMain::lblCopyrightClick(TObject *Sender) +{ + ShellExecute(NULL,L"open",L"http://www.greatis.com",NULL,NULL,SW_SHOW); + +} +//--------------------------------------------------------------------------- + diff --git a/main.dfm b/main.dfm index e3e3310..ea0d543 100644 --- a/main.dfm +++ b/main.dfm @@ -4,7 +4,7 @@ object frmMain: TfrmMain BorderIcons = [biSystemMenu, biMinimize] BorderStyle = bsSingle Caption = 'Anti-WebMiner' - ClientHeight = 431 + ClientHeight = 511 ClientWidth = 719 Color = clBtnFace DoubleBuffered = True @@ -18,13 +18,35 @@ object frmMain: TfrmMain Position = poScreenCenter PixelsPerInch = 96 TextHeight = 15 + object lblCopyright: TLabel + Left = 0 + Top = 388 + Width = 719 + Height = 30 + Cursor = crHandPoint + Align = alBottom + Alignment = taRightJustify + AutoSize = False + Caption = + 'Free of charge. Apache License 2.0. Copyright 2017 Greatis Softw' + + 'are http://www.greatis.com ' + Font.Charset = DEFAULT_CHARSET + Font.Color = clGrayText + Font.Height = -12 + Font.Name = 'Segoe UI' + Font.Style = [] + ParentFont = False + Layout = tlCenter + OnClick = lblCopyrightClick + ExplicitTop = 368 + end object pnlTop: TPanel Left = 0 Top = 0 Width = 719 Height = 105 Align = alTop - TabOrder = 4 + TabOrder = 0 object imgIcon: TImage Left = 16 Top = 16 @@ -108,11 +130,11 @@ object frmMain: TfrmMain object lblSubHeader: TLabel Left = 80 Top = 66 - Width = 451 + Width = 446 Height = 15 Caption = - 'Anti-WebMiner blocks the hosts with JS scripts, used for coin mi' + - 'ning in web browser. ' + 'Protects your PC against web coin miners (JS mining scripts exec' + + 'uted in the browser)' end object btMoreInfo: TButton Left = 573 @@ -125,7 +147,7 @@ object frmMain: TfrmMain end end object btInstall: TButton - Left = 88 + Left = 83 Top = 168 Width = 225 Height = 97 @@ -136,20 +158,20 @@ object frmMain: TfrmMain Font.Name = 'Segoe UI' Font.Style = [] ParentFont = False - TabOrder = 0 + TabOrder = 1 OnClick = btInstallClick end object pnlStatus: TPanel Left = 0 - Top = 338 + Top = 418 Width = 719 Height = 93 Align = alBottom BevelOuter = bvNone Color = clScrollBar ParentBackground = False - TabOrder = 3 - ExplicitTop = 400 + TabOrder = 4 + ExplicitTop = 398 object lblStatus: TLabel Left = 99 Top = 16 @@ -199,6 +221,7 @@ object frmMain: TfrmMain Top = 43 Width = 50 Height = 50 + Cursor = crHandPoint AutoSize = True Picture.Data = { 0954474946496D61676547494638396132003200F7F400354A5F9AA4AF3E5266 @@ -1821,10 +1844,12 @@ object frmMain: TfrmMain end end object pnlImages: TPanel - Left = 472 - Top = 282 + Left = 613 + Top = 225 Width = 385 Height = 258 + Color = clFuchsia + ParentBackground = False TabOrder = 5 Visible = False object imgInfo: TImage @@ -1895,27 +1920,101 @@ object frmMain: TfrmMain 071871762FE50A621B6617001566C3EC92B88DAEFFD5C0B6561EE02F5CCDAF40 33AA8E2D0000000049454E44AE426082} end + object imgDownload: TImage + Left = 21 + Top = 168 + Width = 48 + Height = 48 + AutoSize = True + Picture.Data = { + 0954506E67496D61676589504E470D0A1A0A0000000D49484452000000300000 + 003008060000005702F987000001654944415478DAED98414EC33010456780AE + A944BBE7069413109F006E40901A891D1CA147805DA55422DCA03D81C3092837 + 609F22857581C1668522D1403C716A346FD345E3CC7FAAFD25172170B0EB0022 + D07580AD131826396DFABE4823D699222002DB26E01B11A812FC16120111080C + 11A812FC161201111001111081FA90639D01E239AB39D17D3153B11701CB20D1 + 39029EB064077A58A52A6AB2B6B1403FD6FD5E0F72F38A23C7F84FEB354465A6 + 4AAF029661A24766C3DB5F62BF5174A05713202A52B56C9AC1F9405909F39AC7 + 66ABE9D8253C8B80E520D1F10EE0DD5FD67C005DBCA42A739DCD566946E2C648 + 5CFD32FCAD097FCD3197B59307633D47C4D34DCF10D1623553675C335905EA9B + C9AD715A17F892B8D4877BEFB0AC36936D9CB75D189553F5CC39AF952B65B55E + 39EAD2AB80E57B3371358E57018B39D413FB690EEDA4AD19F2AF44D7FC5F81BA + 8B896F7EBA08898008B425100A22D035C10B7C029DFFB331F52AFAA400000000 + 49454E44AE426082} + end + object imgError: TImage + Left = 70 + Top = 16 + Width = 48 + Height = 48 + AutoSize = True + Picture.Data = { + 0954506E67496D61676589504E470D0A1A0A0000000D49484452000000300000 + 003008060000005702F987000002824944415478DAD5D84F6B13411806F077B2 + 891AB2C5DCC49305F16C1452AF6B235E3CB4DF407A2C5EFC031EFD06524F8AE8 + A114054FD2422F82D1F522D880D6B314F20D44DC5249DC8EB31B1A1CBAD9ECBC + F38C6EDE43D89DC0EEF3DB6CDED95941335EE27F072825E02068CDFFF64EACA9 + 832F8F46644831DDF1C3DE6EE90151D06EC90ABD1742348F7D29E58AFFAEB75E + 5A406E78470818A05078070808C0283C18610D60850722AC0056E14108360012 + 1E806001A0E12D11C60027E12D104600A7E19988C20093F0DEC5CB74EAE1136D + ECD7BD558ABF7E86230A014CAFBC35C0003115C0B96D208082885C00F79E8701 + 0A2026026CFEB050C0144426C0BADB347C6A6C75B5A1FDA58EFA8878801CC431 + 00AA5536DE7ED201D7AED81C6E22420320FBBC134006620C48978195DA17D424 + E50C90542C2F1D2D4FC7809F9D854DB5B3843A8753805A63FBDDDE551DB0D8FE + 8E7C44700B20F2BB3B4203448B0B7DB5776E76019DF6BADABD0903246D54B5D3 + 51FA68D446412589B6E6BA3BCB1A4006AD66E4D5FA82C469C449EA6A22ABA809 + 2DA94335811DA8890C135EFEA8C6C3563DDCED6B80A4D236EA518840B80024E1 + 454CC1DF2FC8B2273210025959E1330165444C0A3F118040883367A97AFD46BA + 1D7FFC40877BDFE0E173015688E461EEE5A6EA7573E321CED3E8B4F053015C44 + 72E54FDE7FA08D0D379ED360E319347C21000751397F81EA4F5F686383C76B34 + 7CFD0A1ABE308083487F855B77D3EDE19BED14800E6F04E0204CCB34BC31C025 + 82139E057081E086670390089BF0560004C236BC35C00681080F017010A8F030 + 800902191E0A288240878703F2102EC23B01A461D5F274DFAB3D222902296453 + 9D26ACC683DB47CBC0D203FE65CD3CE00F6F37E440EC5D90CC0000000049454E + 44AE426082} + end end object btUninstall: TButton - Left = 343 - Top = 224 - Width = 161 + Left = 469 + Top = 199 + Width = 225 Height = 41 Caption = 'Uninstall' - TabOrder = 2 + TabOrder = 3 OnClick = btUninstallClick end object btUpdate: TButton - Left = 343 - Top = 168 + Left = 533 + Top = 119 Width = 161 Height = 41 Caption = 'Check for Updates...' - TabOrder = 1 + TabOrder = 2 + Visible = False OnClick = mnCheckupdateClick end + object btDownload: TButton + Left = 83 + Top = 296 + Width = 225 + Height = 41 + Caption = 'Download' + TabOrder = 6 + Visible = False + OnClick = btDownloadClick + end + object btLicense: TButton + Left = 527 + Top = 328 + Width = 167 + Height = 25 + Caption = 'License Information...' + TabOrder = 7 + OnClick = btLicenseClick + end object timUpdate: TTimer Enabled = False + Interval = 100 OnTimer = timUpdateTimer Left = 656 end @@ -1962,11 +2061,20 @@ object frmMain: TfrmMain Caption = 'Checking for updates...' end object constNewdatabaseversion: TMenuItem - Caption = 'Found new database version:' + Caption = 'Found new database version' + end + object constCheckingforprogramsupdates: TMenuItem + Caption = 'Checking for program'#39's updates...' + end + object constFoundnewversion: TMenuItem + Caption = 'Found new version' + end + object constClickDownload: TMenuItem + Caption = 'Click Download' end end object MainMenu: TMainMenu - Left = 608 + Left = 496 Top = 8 object F1: TMenuItem Caption = 'File' @@ -2008,4 +2116,11 @@ object frmMain: TfrmMain end end end + object timProgramCheckUpdate: TTimer + Enabled = False + Interval = 50 + OnTimer = timProgramCheckUpdateTimer + Left = 656 + Top = 64 + end end diff --git a/main.h b/main.h index 0d3308c..2943d92 100644 --- a/main.h +++ b/main.h @@ -74,6 +74,15 @@ class TfrmMain : public TForm TMenuItem *constCheckingforupdates; TButton *btMoreInfo; TMenuItem *constNewdatabaseversion; + TTimer *timProgramCheckUpdate; + TMenuItem *constCheckingforprogramsupdates; + TMenuItem *constFoundnewversion; + TButton *btDownload; + TMenuItem *constClickDownload; + TImage *imgDownload; + TImage *imgError; + TLabel *lblCopyright; + TButton *btLicense; void __fastcall timUpdateTimer(TObject *Sender); void __fastcall mnExitClick(TObject *Sender); void __fastcall mnUninstallClick(TObject *Sender); @@ -85,6 +94,10 @@ class TfrmMain : public TForm void __fastcall btUninstallClick(TObject *Sender); void __fastcall btInstallClick(TObject *Sender); void __fastcall imgPreloaderClick(TObject *Sender); + void __fastcall timProgramCheckUpdateTimer(TObject *Sender); + void __fastcall btDownloadClick(TObject *Sender); + void __fastcall btLicenseClick(TObject *Sender); + void __fastcall lblCopyrightClick(TObject *Sender); private: // User declarations TStringList *strHosts; @@ -93,6 +106,7 @@ class TfrmMain : public TForm String sRemoteBlackListVersion; String sHostsBlackListVersion; + String sRemoteProgramVersion; int iInstallDate; // date of install into Hosts String sCriticalError; @@ -100,6 +114,8 @@ class TfrmMain : public TForm TSSLThread *FThread; bool bNeedUpdateHosts; + bool bCheckProgramUpdate; + String __fastcall TfrmMain::sExpandEnvStrings(String sSource); String __fastcall TfrmMain::sGetHostsPath(); String __fastcall TfrmMain::AddLastSlash(String sSource); @@ -131,11 +147,12 @@ class TfrmMain : public TForm String __fastcall TfrmMain::sGetBlackListVersion(String sFile); bool __fastcall TfrmMain::IsLocalVersUptodate(String RemoteVers, String LocalVers); - void __fastcall TfrmMain::CheckUpdateBlackList(); + void __fastcall TfrmMain::CheckUpdates(); void __fastcall TfrmMain::ThreadDone(TObject *Sender); String __fastcall TfrmMain::sGetDBVersionFromStrings(TStringList *str); bool __fastcall TfrmMain::UpdateLocalBlackListFromRemote(String sRemoteText); + String __fastcall TfrmMain::sGetVersionFromMemoryIni(String sRemoteText); // UI functions @@ -168,13 +185,15 @@ void __fastcall WriteLogMessage(AnsiString sText); #define BLACKLIST_DB String("blacklist.txt") #define URL_BLACKLIST String("https://raw.githubusercontent.com/greatis/Anti-WebMiner/master/blacklist.txt") - +#define URL_PROGRAM_VERSION String("https://raw.githubusercontent.com/greatis/Anti-WebMiner/master/AntiWebMiner.ini") #define DISP_ALL_DONE 0 #define DISP_INSTALL_TO_HOSTS 1 #define DISP_FOUND_UPDATES 2 #define DISP_NO_BLACKLIST 3 #define DISP_CHECK_UPDATE 4 +#define DISP_CHECK_PROGRAM_UPDATE 6 +#define DISP_FOUND_PROGRAM_UPDATES 76 #define DISP_FATAL_ERROR -1 diff --git a/vista_man.rc b/vista_man.rc new file mode 100644 index 0000000..a6b2537 --- /dev/null +++ b/vista_man.rc @@ -0,0 +1 @@ +1 24 "xp.manifest" \ No newline at end of file diff --git a/xp.manifest b/xp.manifest new file mode 100644 index 0000000..386fba5 --- /dev/null +++ b/xp.manifest @@ -0,0 +1,20 @@ + + + + + + + + + +