From a923938a45e3cb7328adfdf5b7d93b531916af38 Mon Sep 17 00:00:00 2001 From: AceVest Date: Wed, 9 Mar 2016 21:42:02 +0800 Subject: [PATCH] hehe --- .gitignore | 1 + beta/boot/multiboot.S | 6 +- beta/kernel/Makefile | 2 +- beta/lib/csu/start.S | 8 +-- beta/lib/libc/sysenter.S | 1 + documents/MySQLInjection.md | 4 +- tools/AceBox/AceBox.xcodeproj/project.pbxproj | 8 ++- .../UserInterfaceState.xcuserstate | Bin 28731 -> 32620 bytes .../Ace.xcuserdatad/xcschemes/AceBox.xcscheme | 13 ++-- .../AceBox/AceBox/Base.lproj/LaunchScreen.xib | 9 +-- .../AceBox/AceBox/Base.lproj/Main.storyboard | 57 +++++++----------- tools/AceBox/AceBox/FirstViewController.swift | 1 + .../AppIcon.appiconset/Contents.json | 5 ++ .../first.imageset/Contents.json | 3 + .../second.imageset/Contents.json | 3 + tools/AceBox/AceBox/Info.plist | 4 +- tools/AceBox/AceBoxTests/Info.plist | 4 +- 17 files changed, 68 insertions(+), 61 deletions(-) diff --git a/.gitignore b/.gitignore index 1311e67..6522803 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ *.o +*.a *.out *.pyc ish diff --git a/beta/boot/multiboot.S b/beta/boot/multiboot.S index 79530f5..667c2a6 100644 --- a/beta/boot/multiboot.S +++ b/beta/boot/multiboot.S @@ -14,8 +14,6 @@ #define ASM #include -.section .init - .global BETA_ENTRY .extern kernel_end @@ -24,7 +22,7 @@ .text .code32 -.align 32 +.align 8 BETA_ENTRY: /* Reset eflags */ pushl $0 @@ -62,7 +60,7 @@ _loop: hlt jmp _loop -.align 32 +.align 8 /* Multiboot header. */ multiboot_header: magic: .long MULTIBOOT_HEADER_MAGIC diff --git a/beta/kernel/Makefile b/beta/kernel/Makefile index cda916e..2856d7e 100644 --- a/beta/kernel/Makefile +++ b/beta/kernel/Makefile @@ -1,5 +1,5 @@ CC = gcc -CFLAGS = -c -I../include -fno-builtin +CFLAGS = -m32 -c -I../include -fno-builtin CSOUCE_FILES = $(wildcard *.c) SSOUCE_FILES = $(wildcard *.S) diff --git a/beta/lib/csu/start.S b/beta/lib/csu/start.S index df70823..c4c7c85 100644 --- a/beta/lib/csu/start.S +++ b/beta/lib/csu/start.S @@ -7,10 +7,10 @@ * ------------------------------------------------------------------------ */ - .text - .global _start - .type _start, @function - _start: +.text +.code32 +.global _start +_start: nop diff --git a/beta/lib/libc/sysenter.S b/beta/lib/libc/sysenter.S index 91531a4..761279b 100644 --- a/beta/lib/libc/sysenter.S +++ b/beta/lib/libc/sysenter.S @@ -12,6 +12,7 @@ *-------------------------------------------------------------------------- */ .text +.code32 .global beta_sysenter beta_sysenter: diff --git a/documents/MySQLInjection.md b/documents/MySQLInjection.md index 125fdaf..aab15cf 100644 --- a/documents/MySQLInjection.md +++ b/documents/MySQLInjection.md @@ -1,4 +1,4 @@ -#MYSQL注入笔记 +# MYSQL注入总结 ##数据库信息 设数据库```security```里有如下```users```表。 @@ -110,7 +110,7 @@ if($row) { 其它与IntegerBased相似。如获取当前数据库的名字为```-1' UNION ALL SELECT NULL, DATABASE(), NULL AND '1'='``` -##构造SQL注入之三 +##构造SQL注入之三【GET - Blind - BoolianBased】 ###1.漏洞代码 ``` $id=$_GET['id']; diff --git a/tools/AceBox/AceBox.xcodeproj/project.pbxproj b/tools/AceBox/AceBox.xcodeproj/project.pbxproj index cf18b9f..792eba5 100644 --- a/tools/AceBox/AceBox.xcodeproj/project.pbxproj +++ b/tools/AceBox/AceBox.xcodeproj/project.pbxproj @@ -159,7 +159,8 @@ 50A4F26D1AF2154100DB7E36 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0630; + LastSwiftUpdateCheck = 0720; + LastUpgradeCheck = 0720; ORGANIZATIONNAME = Ace; TargetAttributes = { 50A4F2741AF2154100DB7E36 = { @@ -280,6 +281,7 @@ COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -349,6 +351,7 @@ INFOPLIST_FILE = AceBox/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.2; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.tencent.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Debug; @@ -360,6 +363,7 @@ INFOPLIST_FILE = AceBox/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.2; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.tencent.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Release; @@ -378,6 +382,7 @@ ); INFOPLIST_FILE = AceBoxTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.tencent.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AceBox.app/AceBox"; }; @@ -393,6 +398,7 @@ ); INFOPLIST_FILE = AceBoxTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.tencent.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AceBox.app/AceBox"; }; diff --git a/tools/AceBox/AceBox.xcodeproj/project.xcworkspace/xcuserdata/Ace.xcuserdatad/UserInterfaceState.xcuserstate b/tools/AceBox/AceBox.xcodeproj/project.xcworkspace/xcuserdata/Ace.xcuserdatad/UserInterfaceState.xcuserstate index 06b1c0f5664e501d3cc67fd858f90f890844ac27..f5fbf3a39d12e0f44b4c0b654d1368a1b2df39d7 100644 GIT binary patch literal 32620 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 delta 16790 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 Bphy4! diff --git a/tools/AceBox/AceBox.xcodeproj/xcuserdata/Ace.xcuserdatad/xcschemes/AceBox.xcscheme b/tools/AceBox/AceBox.xcodeproj/xcuserdata/Ace.xcuserdatad/xcschemes/AceBox.xcscheme index a6a831d..555fac5 100644 --- a/tools/AceBox/AceBox.xcodeproj/xcuserdata/Ace.xcuserdatad/xcschemes/AceBox.xcscheme +++ b/tools/AceBox/AceBox.xcodeproj/xcuserdata/Ace.xcuserdatad/xcschemes/AceBox.xcscheme @@ -1,6 +1,6 @@ + shouldUseLaunchSchemeArgsEnv = "YES"> @@ -62,15 +62,18 @@ ReferencedContainer = "container:AceBox.xcodeproj"> + + @@ -86,10 +89,10 @@ diff --git a/tools/AceBox/AceBox/Base.lproj/LaunchScreen.xib b/tools/AceBox/AceBox/Base.lproj/LaunchScreen.xib index 903d8cb..152f073 100644 --- a/tools/AceBox/AceBox/Base.lproj/LaunchScreen.xib +++ b/tools/AceBox/AceBox/Base.lproj/LaunchScreen.xib @@ -1,7 +1,8 @@ - + - + + @@ -11,8 +12,8 @@ - @@ -56,15 +57,15 @@ - diff --git a/tools/AceBox/AceBox/FirstViewController.swift b/tools/AceBox/AceBox/FirstViewController.swift index 0b17823..27f6022 100644 --- a/tools/AceBox/AceBox/FirstViewController.swift +++ b/tools/AceBox/AceBox/FirstViewController.swift @@ -13,6 +13,7 @@ class FirstViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. + view.backgroundColor = UIColor.redColor() } override func didReceiveMemoryWarning() { diff --git a/tools/AceBox/AceBox/Images.xcassets/AppIcon.appiconset/Contents.json b/tools/AceBox/AceBox/Images.xcassets/AppIcon.appiconset/Contents.json index 9d284b1..0052e14 100644 --- a/tools/AceBox/AceBox/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/tools/AceBox/AceBox/Images.xcassets/AppIcon.appiconset/Contents.json @@ -63,6 +63,11 @@ "idiom" : "ipad", "filename" : "AceBoxIcon-76@2x.png", "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "83.5x83.5", + "scale" : "2x" } ], "info" : { diff --git a/tools/AceBox/AceBox/Images.xcassets/first.imageset/Contents.json b/tools/AceBox/AceBox/Images.xcassets/first.imageset/Contents.json index 33a7451..215ee93 100644 --- a/tools/AceBox/AceBox/Images.xcassets/first.imageset/Contents.json +++ b/tools/AceBox/AceBox/Images.xcassets/first.imageset/Contents.json @@ -8,5 +8,8 @@ "info" : { "version" : 1, "author" : "xcode" + }, + "properties" : { + "template-rendering-intent" : "original" } } \ No newline at end of file diff --git a/tools/AceBox/AceBox/Images.xcassets/second.imageset/Contents.json b/tools/AceBox/AceBox/Images.xcassets/second.imageset/Contents.json index 03bd9c9..5acf838 100644 --- a/tools/AceBox/AceBox/Images.xcassets/second.imageset/Contents.json +++ b/tools/AceBox/AceBox/Images.xcassets/second.imageset/Contents.json @@ -8,5 +8,8 @@ "info" : { "version" : 1, "author" : "xcode" + }, + "properties" : { + "template-rendering-intent" : "original" } } \ No newline at end of file diff --git a/tools/AceBox/AceBox/Info.plist b/tools/AceBox/AceBox/Info.plist index a8bf772..222ac74 100644 --- a/tools/AceBox/AceBox/Info.plist +++ b/tools/AceBox/AceBox/Info.plist @@ -3,11 +3,11 @@ CFBundleDevelopmentRegion - en + zh_CN CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - com.tencent.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/tools/AceBox/AceBoxTests/Info.plist b/tools/AceBox/AceBoxTests/Info.plist index 82c8783..b9bb880 100644 --- a/tools/AceBox/AceBoxTests/Info.plist +++ b/tools/AceBox/AceBoxTests/Info.plist @@ -3,11 +3,11 @@ CFBundleDevelopmentRegion - en + zh_CN CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - com.tencent.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName -- 2.55.0