本文目录一览:

Service如何添加安装权限白名单

先介绍Android中常用的几种安装方式,好针清汪对这几种御轮进行修改

1、 直接调用安装接口。

Uri mPackageURI = Uri.fromFile(new File(Environment.getExternalStorageDirectory() + apkName));int installFlags = 0;

PackageManager pm = getPackageManager();try{

PackageInfo pi = pm.getPackageInfo(packageName,

PackageManager.GET_UNINSTALLED_PACKAGES); if(pi != null) {

installFlags |= PackageManager.REPLACE_EXISTING_PACKAGE;

}

}catch (NameNotFoundException e){}

PackageInstallObserver observer = new PackageInstallObserver();

pm.installPackage(mPackageURI, observer, installFlags);1234567891011121314

这种修改需要直接修改packageManagerService。对应下面的第一种方法。

2、通过Intent机制,调用packageInstaller进行安装。

String fileName = Environment.getExternalStorageDirectory() + apkName;

Uri uri = Uri.fromFile(new File(fileName));

Intent intent = new Intent(Intent.ACTION_VIEW);

intent.setDataAndType(Uri, application/vnd.android.package-archive");

startActivity(intent);12345

因为应用是通过packageInstaller进行安装的,相当于隔了一层代理,所以在packageManagerService并无法判断正在调用安装的是哪个app,只能在packageInstaller中进行修改,参考下面的第二中方法。

3、通过命令进行安装 pm install,参考第三种方法修改。

修改方法:

1、packageManagerService修改

packageManagerService的修改,我们在其中添加几个接口及代码来控制apk安装。

1)增加以下函数:

/*add for installer white list*/

private boolean isInstallerEnable(String packagename){

ArrayListString whiteListApp = new ArrayListString(); try{

BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream("/system/镇正信etc/WhiteListAppFilter.properties"))); String line =""; while ((line = br.readLine()) != null){

whiteListApp.add(line);

}

br.close();

}catch(java.io.FileNotFoundException ex){ return false;

}catch(java.io.IOException ex){ return false;

}

IteratorString it = whiteListApp.iterator(); while (it.hasNext()) { String whitelisItem = it.next(); if (whitelisItem.equals(packagename)) { return true;

}

} return false;

}12345678910111213141516171819202122232425262728293031

isInstallerEnable函数会去读取白名单文件/system/etc/WhiteListAppFilter.properties,然后和我们传进来的包名进行匹配,在白名单中返回true,其他情况均返回false。

2)获取调用的包名

这个可以在installPackageWithVerificationAndEncryption函数中来获取,

if (uid == Process.SHELL_UID || uid == 0) {

if (DEBUG_INSTALL) {

Slog.v(TAG, "Install from ADB");

}

filteredFlags = flags | PackageManager.INSTALL_FROM_ADB;

} else {

filteredFlags = flags ~PackageManager.INSTALL_FROM_ADB;

}

verificationParams.setInstallerUid(uid);

//add for installer white list

mCallingApp = mContext.getPackageManager().getNameForUid(uid);

Log.d(TAG, "!!!!!!!!!!!!!callingApp = " + mCallingApp);

//end

final Message msg = mHandler.obtainMessage(INIT_COPY);

msg.obj = new InstallParams(packageURI, observer, filteredFlags, installerPackageName,

verificationParams, encryptionParams, user);

mHandler.sendMessage(msg);123456789101112131415161718192021

接下来要在installPackageLI函数对调用安装的apk进行匹配,判断是否在白名单中,如果不在的话则提示错误,错误码是-xxx(自己定义),这个错误码会给packageInstaller,packageInstaller中需要做什么,就由自己定义了。

//add for installer white list

boolean caninstall =false; if(mCallingApp != null isInstallerEnable(mCallingApp)){

caninstall = true;

} if(!caninstall){

Toast.makeText(mContext, R.string.install_error, Toast.LENGTH_LONG).show();

res.returnCode = -xxx; return;

}

//end if (DEBUG_INSTALL) Slog.d(TAG, "installPackageLI: path=" + tmpPackageFile);

// Retrieve PackageSettings and parse package

int parseFlags = mDefParseFlags | PackageParser.PARSE_CHATTY

| (forwardLocked ? PackageParser.PARSE_FORWARD_LOCK : 0)

| (onSd ? PackageParser.PARSE_ON_SDCARD : 0); ...省略12345678910111213141516171819

3)

/system/etc/WhiteListAppFilter.properties内容如下,在编译时可以在mk中修改拷贝到etc目录下,例如下面就是允许这三个包名有安装权限。

com.xxx.xxx1

com.xxx.xxx2

com.xxx.xxx3

2、packageInstaller的修改

还是参考packageManagerService的修改,增加isInstallerEnable函数,去读取白名单文件/system/etc/WhiteListAppFilter.properties,然后进行包名匹配,在白名单中返回true,其他情况均返回false。

我们在packageInstaller的PackageInstallerActivity.java中增加以下修改// add for installer enable/disable ,不在白名单中的app,会直接提示不允许安装后退出。

protected void onCreate(Bundle icicle) { super.onCreate(icicle); // get intent information

final Intent intent = getIntent();

mPackageURI = intent.getData();

mPm = getPackageManager(); final int uid = getOriginatingUid(intent);

String callingApp = mPm.getNameForUid(uid); final File sourceFile = new File(mPackageURI.getPath());

PackageParser.Package parsed = PackageUtil.getPackageInfo(sourceFile);

mPkgInfo = PackageParser.generatePackageInfo(parsed, null,

PackageManager.GET_PERMISSIONS, 0, 0, null, new PackageUserState()); // add for installer enable/disable

if (!isInstallerEnable(callingApp)) {

Toast.makeText(this, R.string.install_not_allow, Toast.LENGTH_LONG).show(); this.finish();

}

mOriginatingURI = intent.getParcelableExtra(Intent.EXTRA_ORIGINATING_URI);

...省略12345678910111213141516171819202122

3、pm install的修改

禁止pm install,因为有些APK安装竟然是调用pm install命令去安装的。

修改要在pm.java修改,修改方法和上面基本一致。

可以看到,pm install其实调用的是run再去判断参数。

public static void main(String[] args) {

new Pm().run(args);

}

public void run(String[] args) { ...省略 if ("install".equals(op)) {

runInstall(); return;

} ...省略1234567891011

那我们要添加的话,先获取app名,再和packageManagerService一样,增加isInstallerEnable去判断是不是要调用runInstall()就OK了。

String callingApp = ""; try {

callingApp = mPm.getNameForUid(Binder.getCallingUid());

} catch(RemoteException re) {

Log.e("Pm", Log.getStackTraceString(new Throwable()));

}123456

狂求表示心情的英语形容词

A

aback

abandoned

abashed

abducted

abhorred

abject

able

abnormal

abominable

about

abrasive

absent-minded

absolved

absorbed

absorbent

abstemious

abstract

abstracted

abused

abusive

abysmal

abyssal

accelerated

acceptable

accepted

accepting

accessible

accident-prone

acclaimed

acclimated

accommodated

accommodating

accomplished

accosted

accosting

accountable

accusatory

accused

accusing

acerbic

aching

acknowledged

acquiescent

acquisitive

acrimonious

activated

active

actualized

adamant

addicted

adept

adequate

admirable

admiration

admired

admiring

admonished

adorable

adored

adoring

adrift advanced

adventurous

adverse

affable

affected

affection

affectionate

affirmed

afflicted

affluent

affronted

afraid

against

agape

aggravated

aggressive

aghast

agitated

aglow

agnostic

agog

agonized

agony

agoraphobic

agreeable

ahead

aimless

airy

alarmed

alert

alienated

alive

allied

allured

alluring

alone

aloof

altruistic

amazed

amazing

ambiguous

ambitious

ambivalent

ambushed

amenable

amiable

amorous

amused

amusing

analyzed

anarchistic

anesthetized

angry

anguish

anguished

anhedonic

animated

annihilated

annoyed

annoying

anonymous

antagonistic

antagonized

anticipation

antiquated

antisocial

antsy

anxiety

anxious

apart

apathetic

apologetic

appalled

appealed

appealing

appeased

applauded

appraised

appreciated

appreciative

apprehension

apprehensive

approachable

appropriate

approved

approved of

archaic

ardent

argued with

argumentative

aristocratic

aroused

arrogant

artful

articulate

artificial

artistic

artless

ascetic

ashamed

asinine

asocial

assaulted

assertive

assessed

assuaged

assured

astonished

astounded

at ease

at home

at peace

at peril

at risk

at war

atrophied

attached

attacked

attentive

attracted

attractive

audacious

austere

authentic

authoritarian

authoritative

autocratic

available

avaricious

avid

avoided

awake

awakened

aware

awe

awed

awesome

awestruck

awful

awkward

B

babied

backward

bad

badgered

baffled

baited

balanced

bamboozled

banished

bankrupt

banned

bantered

bare

barraged

barred

barren

bashful

battered

battle-weary

battle-worn

bearable

beaten

beaten down

beatific

beautiful

beckoned

bedazzled

bedeviled

befriended

befuddled

beguiled

behind

beholden

beleaguered

belittled

belligerent

belonging

beloved

bemused

benevolent

bent

berated

bereaved

bereft

beseeched

beset

besieged

besmirched

bestial

betrayed

better

bewildered

bewitched

bewitching

biased

big

bitchy

bitter

blackmailed

blah

blamed

blaming

blank

blasé‚

blasphemous

blasted

bleak

blind

bliss

blissful

blithe

blocked

blown away

blue

boastful

bogus

boiling

boisterous

bold

bombastic

bonkers

bored

boring

bossed-around

bossy

bothered

bothersome

bought

bound

bound-up

boxed-in

braced

brainwashed

brash

brave

brazen

breathless

breezy

bridled

bright

brilliant

brisk

bristling

broken

broken-down

broken-up

brooding

bruised

brushed-off

brutal

bubbly

bugged

buggered

bullied

bullish

bullshitted

bummed

bummed out

buoyant

burdened

burdensome

buried

burned

burned-out

burned-up

bursting

bushed

bypassed

C

caged

cajoled

calculating

callous

callow

calm

calmed down

canny

cantankerous

capable

capricious

captious

captivated

captured

cared about

cared for

carefree

careful

careless

caring

carried away

cast

cast about

cast out

castigated

categorized

caught

cautious

cavalier

censored

censured

centered

certain

chafed

chagrined

chained

challenged

challenging

changed

changing

chaotic

charged

charismatic

charitable

charmed

charming

chased

chaste

chastised

chatty

cheap

cheapened

cheated

cheated on

cheeky

cheerful

cheerless

cheery

cherished

chic

chicken

chided

childish

childless

childlike

chipper

chivalrous

choked

choked-up

chosen

churlish

circumspect

circumvented

civil

civilized

classy

claustrophobic

clean

cleansed

clear

clear-headed

clenched

clever

close

closed

closed in

closed-minded

clouded

clueless

clumsy

coarse

cocky

coddled

coerced

cold

cold-blooded

cold-hearted

collapsed

collapsing

collected

combative

comfortable

comforted

comfy

committed

common

commonplace

communicative

comparative

compared

compassionate

compatible

compelled

competent

competitive

complacent

complete

complex

compliant

complicated

complementary

complimented

complimentary

composed

compressed

compulsive

conceited

concentrated

concerned

condemned

condescended to

condescending

confident

confined

confirmed

confirming

conflicted

conforming

confused

congenial

connected

conned

conniving

conquered

conscientious

consecrated

conservative

considerate

considered

consistent

consoled

consoling

conspicuous

constrained

constricted

constructive

consumed

contained

contaminated

contemplative

contempt

contemptible

contemptuous

content

contented

contentious

contrite

controlled

controlling

convenient

conventional

convicted

convinced

convincing

cool

cooperative

cordial

cornered

correct

corrupt

corrupted

counterfeit

counter-productive

courageous

courteous

courtly

coveted

covetous

cowardly

coy

cozy

crabby

crafty

cranky

crappy

crass

craving

crazed

crazy

creative

credulous

crestfallen

criminal

crippled

critical

criticized

cross

crossed

cross-examined

crotchety

crowded

crucified

crude

cruel

crushed

cryptic

cuckoo

cuddled

cuddly

culled

culpable

cultivated

cultured

cunning

curious

cursed

cut

cut-down

cute

cut-off

cynical

D

daffy

dainty

damaged

damned

dangerous

dared

daring

dark

dashed

dashing

daunted

dauntless

dazed

dead

dear

debased

debated

debauched

debilitated

debonair

deceitful

deceived

decent

deceptive

decided

decimated

decrepit

dedicated

defamed

defeated

defective

defenseless

defensive

deferent

defiant

deficient

defiled

definite

deflated

deformed

degenerate

degraded

dehumanized

dejected

delicate

delighted

delightful

delinquent

delirious

delivered

deluded

demanding

demeaned

demented

demoralized

demoted

demotivated

demure

denatured

denigrated

denounced

denurtured

dependable

dependent

depleted

deported

depraved

deprecated

depreciated

depressed

deprived

derailed

derided

desecrated

deserted

deserving

desirable

desire

desired

desirous

desolate

despair

despairing

desperate

despicable

despised

despondent

destroyed

destructive

detached

deteriorated

determined

detest

detestable

detested

devastated

deviant

devious

devoid

devoted

devoured

diagnosed

dictated to

dictatorial

different

difficult

diffident

dignified

diligent

dim

diminished

diplomatic

direct

directionless

dirty

disabled

disaffected

disagreeable

disappointed

disappointing

disapproved of

disapproving

disbelieved

disbelieving

discarded

disciplined

discombobulated

disconcerted

disconnected

disconsolate

discontent

discontented

discounted

discouraged

discredited

discreet

disdain

disdained

disdainful

disempowered

disenchanted

disenfranchised

disentangled

disfavored

disgraced

disgruntled

disgust

disgusted

disgusting

disharmonious

disheartened

disheveled

dishonest

dishonorable

dishonored

disillusioned

disinclined

disingenuous

disintegritous *

disinterested

disjointed

dislike

disliked

dislocated

dislodged

disloyal

dismal

dismayed

dismissed

dismissive

disobedient

disobeyed

disorderly

disorganized

disoriented

disowned

disparaged

dispassionate

dispensable

dispirited

displaced

displeased

disposable

dispossessed

disputed

disregarded

disrespected

disruptive

dissatisfied

dissected

dissed

dissident

dissociated

distant

distorted

distracted

distraught

distressed

distrusted

distrustful

disturbed

diverted

divided

divorced

docile

dogged

dogmatic

doleful

domestic

domesticated

dominant

dominated

dominating

domineered

domineering

done

doomed

double-crossed

doubted

doubtful

dowdy

down

downcast

downhearted

downtrodden

drained

dramatic

drawn away

drawn back

drawn in

drawn toward

dread

dreaded

dreadful

dreamy

dreary

dried-up

driven

droopy

dropped

drowning

drubbed

drummed

dubious

dull

dumb

dumbfounded

dumped

dumped on

duped

dutiful

dwarfed

dynamic

E

eager

early

earnest

earthy

eased

easy

easy-going

ebullient

eccentric

eclectic

eclipsed

ecstatic

edgy

edified

edifying

educated

effaced

effective

effeminate

effervescent

efficacious

efficient

effusive

egocentric

egotistic

egotistical

elastic

elated

elderly

electric

electrified

elegant

elevated

elitist

eloquent

elusive

emancipated

emasculated

embarrassed

embittered

eminent

emmerlinged

emotional

emotionless

emotive

empathetic

empathic

emphatic

empowered

empty

enabled

enamored

enchanted

enclosed

encompassed

encouraged

encroached upon

encumbered

endangered

energetic

energized

enervated

engaged

engrossed

enhanced

enigmatic

enjoyment

enlightened

enmeshed

ennobled

enraged

enraptured

enriched

enslaved

entangled

enterprising

entertained

enthralled

enthusiastic

enticed

entitled

entombed

entrapped

entrenched

entrepreneurial

entrusted

envied

envious

equipped

equitable

eradicated

erasable

erased

eros

essential

established

esteemed

estranged

ethereal

euphoric

evaded

evaluated

evasive

evicted

evil

eviscerated

exacerbated

exacerbating

examined

exasperated

exasperating

excellent

excessive

excitable

excited

excluded

excoriated

exculpated

execrated

exempt

exempted

exhausted

exhilarated

exiled

exonerated

exorcised

exotic

expansive

expectant

experienced

experimental

exploitative

exploited

explosive

exposed

expressive

expunged

extraordinary

extravagant

extricated

extroverted

exuberant

exultant

Emmerlinged: A new word I made up when Rob Emmerling was trying to discredit me in April 2005. I would define it as "being misrepresented by someone who feels threatened by you in an attempt to discredit you so as to protect that person's own interests."

F

fabulous

facetious

factious

failful *

faint

fainthearted

fair

faithful

fake

fallen

fallible

fallow

false

falsely

falsely accused

faltering

famished

famous

fanatical

fanciful

fantabulous

fantasizing

fantastic

farcical

fascinated

fascinating

fascination

fashionable

fast

fastidious

fatalistic

fathered

fatherless

fatigued

fatuous

favored

fawned

fawned over

fawning

fear

feared

fearful

fearless

fed up

feeble

feeling

feisty

felicitous

feminine

fermenting

ferocious

fervent

festive

fettered

fickle

fidgety

fiendish

fierce

fiery

filthy

fine

finicky

finished

fired

firm

first

first-class

first-rate

fit

fixated

flabbergasted

flagellated

flaky

flamboyant

flammable

flappable

flat

flattered

flawed

fledgling

fleeced

flexible

flighty

flippant

flipped-out

flirtatious

floored

floundering

flourishing

flush

flustered

fluttering

focused

focussed

foiled

followed

fond

foolhardy

foolish

forbidden

forced

forceful

foreign

fore-sighted

forgetful

forgettable

forgivable

forgiven

forgiving

forgotten

forlorn

formed

formidable

forsaken

fortified

fortunate

forward

关于chattyapp的信息

fouled-up

fractured

fragile

fragmented

frail

framed

frank

frantic

fraudulent

frazzled

free

frenetic

frenzied

fresh

fretful

fretting

friendless

friendly

frightened

frigid

frisky

frivolous

frolicsome

frowning

frugal

frustrated

fulfilled

full

fuming

fun

funky

funloving

funny

furious

fury

fussy

futile

G

gallant

galled

game

gauche

gaudy

gawky

gay

generous

genial

gentle

genuine

giddy

gifted

giggly

gilded

giving

glad

glamorous

gleeful

glib

gloomy

glorious

glowing

glum

gluttonous

goaded

good

good-looking

good-natured

gorgeous

graceful

gracious

graded

grand

grandiose

granted

grateful

gratified

grave

great

greedy

gregarious

grief

grief-stricken

grieved

grieving

grim

groovy

gross

grossed-out

grotesque

grouchy

grounded

groveling

grumpy

guarded

guided

guilt-free

guilt-tripped

guiltless

guilty

gullible

gushy

gutless

gutsy

gutted

gypped

H

haggard

haggled

hallowed

hampered

handicapped

hapless

happy

happy-go-lucky

harangued

harassed

hard

hardened

hard-headed

hard-hearted

hard-pressed

hard-working

hardy

harmless

harmonious

harnessed

harried

hassled

hasty

hate

hated

hateful

hatred

haughty

haunted

headstrong

heady

healed

health-conscious

healthy

heard

heartbroken

heartened

heartful

heartless

heartsick

heart-to-heart

hearty

heavy

heavy-hearted

heckled

heeded

held dear

helped

helpful

helpless

henpecked

herded

heroic

hesitant

hideous

high

high-spirited

hilarious

hindered

hoaxed

hollow

homely

homesick

honest

honorable

honored

hoodwinked

hopeful

hopeless

horrible

horrified

horror

horror-stricken

hospitable

hostile

hot-headed

hounded

huge

humane

humble

humbled

humiliated

humored

humorous

hung up

hungry

hunted

hurried

hurt

hustled

hyped-up

hyper

hyperactive

hypervigilent

hypnotized

hypocritical

hysterical

I

idealistic

idiosyncratic

idiotic

idolized

ignorant

ignored

ill

ill at ease

ill-humored

illicit

ill-tempered

imaginative

imbalanced

immaculate

immature

immobile

immobilized

immodest

immoral

immortal

immune

impaired

impartial

impassioned

impassive

impatient

impeccable

impeded

impelled

imperfect

imperiled

imperious

impermanent

impermeable

impertinent

imperturbable

impervious

impetuous

impious

implacable

impolite

important

imposed-upon

imposing

impotent

impressed

imprisoned

impudent

impugned

impulsive

impure

in

in a huff

in a quandary

in a stew

in control

in despair

in doubt

in fear

in harmony

in pain

in the dumps

in the way

in touch

in tune

inaccessible

inadequate

inappropriate

inattentive

incapable

incapacitated

incensed

incoherent

incommunicative

incompetent

incomplete

inconclusive

inconsiderate

inconsistent

inconsolable

inconspicuous

inconvenienced

inconvenient

incorrect

incorrigible

incredible

incredulous

inculcated

indebted

indecent

indecisive

indefinite

independent

indescribable

indestructible

indicted

indifferent

indignant

indirect

indiscreet

indoctrinated

indolent

indulgent

industrious

inebriated

ineffective

inept

infallible

infamous

infantile

infantilized

infatuated

infected

inferior

infirm

inflamed

inflammatory

inflated

inflexible

influenced

influential

informed

infuriated

infused

ingenious

ingenuous

ingratiated

ingratiating

inhibited

inhospitable

inhumane

inimical

injured

innocent

innovative

inquiring

inquisitive

insane

insatiable

insecure

insensitive

inside-out

insightful

insignificant

insincere

insistent

insolent

insouciant

inspired

instilled

instructive

insufficient

insulted

insulting

insurgent

intact

integritous *

intellectual

intelligent

intense

intent

interested

interesting

interfered with

interfering

interrelated

interrogated

interrupted

intimate

intimidated

intimidating

intolerant

intrepid

intrigued

introspective

introverted

intruded upon

intrusive

intuitive

invalidated

invalidating

inventive

invigorated

invisible

invited

inviting

involved

invulnerable

irascible

irate

irked

irrational

irreligious

irreproachable

irresistible

irresolute

irresponsible

irreverent

irritable

irritated

isolated

J

jaded

jaundiced

jaunty

jealous

jealousy

jeered

jeopardized

jerked around

jilted

jinxed

jittery

jocular

jolly

jolted

jostled

jovial

joyful

joyless

joyous

jubilant

judged

judgmental

judicious

juggled

jumpy

just

justified

K

keen

kept

kept away

kept out

kicked

kicked around

kidded

kind

kindhearted

kindly

kinky

knackered

knocked

knocked down

knocked out

knowledgeable

L

labeled

lackadaisical

lacking

lackluster

lagging behind

laid-back

lambasted

lame

lamentful *

lamenting

languid

languishing

lascivious

late

laughed at

lavished

lax

lazy

leaned on

leaning

lecherous

lectured to

leery

left out

legitimate

let down

lethargic

level-headed

lewd

liable

liberal

liberated

licentious

lied about

lied to

lifeless

lifted

light

light-hearted

likable

liked

limited

limp

lionhearted

listened to

listless

lively

livid

loath

loathed

loathsome

logical

lonely

lonesome

longing

loopy

loose

loosed

lorded over

lost

loud

lousy

lovable

love

loved

loveless

lovely

loving

low

lowly

low-spirited

loyal

luckless

lucky

ludicrous

luminous

lured

luring

lust

lustful

lusty

lynched

M

macho

mad

made fun of

magical

magnificent

maimed

maladjusted

malcontent

malevolent

malicious

malignant

maligned

manageable

managed

managerial

mangled

maniacal

manic

manipulable

manipulated

manipulative

manly

marauding

marauding

marginalized

married

marvelous

masochistic

masterful

materialistic

maternal

mature

maudlin

meager

mean

mechanical

medicated

mediocre

meditative

meek

melancholic

melancholy

melded

mellow

melodramatic

menaced

menacing

merciful

merry

mesmerized

messy

methodical

meticulous

micro-managed

miffed

mighty

mindful

minimized

mirthful

misanthropic

mischievous

misdiagnosed

miserable

miserly

misgiving

misinformed

misinterpreted

misled

misrepresented

mistaken

mistreated

mistrusted

mistrustful

misunderstood

misused

mixed-up

mobilized

mocked

mocking

modern

modest

molded

molested

mollified

monitored

monopolized

moody

moping

moral

moralistic

N

nagged

nailed

naive

naked

nameless

nannied

narcissistic

narrow-minded

nasty

natural

naughty

nauseated

neat

needed

needled

needy

negated

negative

neglected

negligent

nervous

nervy

nestled

nettled

neurotic

neutral

nice

niggardly

nihilistic

nit-picked

nit-picking

nit-picky

noble

noisy

nomadic

nonchalant

noncommittal

nonconforming

nonplused

normal

nosey

nostalgic

nosey

nothing

noticed

nourished

nourishing

numb

numbed

nursed

nurturing

nuts

nutty

O

obedient

obeyed

objectified *

obligated

obliged

obliging

obliterated

oblivious

obnoxious

obscene

obscured

observant

observed

obsessed

obsessive

obstinate

obstructed

obvious

odd

off

off the hook

offended

offensive

officious

okay

old

old-fashioned

omnipotent

on

on call

on display

on time

one-upped

open

open-minded

opinionated

opportunistic

opposed

oppressed

optimistic

opulent

orderly

organized

ornery

orphaned

ostentatious

ostracized

ousted

out of balance

out of control

out of place

out of sorts

out of touch

out of tune

outdone

outgoing

outlandish

outnumbered

outraged

outrageous

outranked

outspoken

over

over-done

over-protected

over-ruled

over-controlled

overanxious

overbearing

overcome

overdrawn

overestimated

overjoyed

overloaded

overlooked

overpowered

oversensitive

over-simplified

overwhelmed

overworked

overwrought

owed

owing

owned

owning

owning

P

pacified

paid off

pain

pained

paired

paired-off

paired-up

pampered

panic

panicked

panicky

paralyzed

paranoid

pardoned

parsimonious

partial

passed by

passed off

passed over

passionate

passive

pastoral

paternal

pathetic

patient

patronized

peaceful

pedantic

pedestalized *

pedestrian

peeved

peevish

pell-mell

penetrable

penetrated

pensive

perceived

perceptive

peremptory

perfect