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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 F{y!B8xg7ui delta 16790 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 H=EVO4OV*%B 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.44.0