dh取名

三堂网 > | 发布时间:2023-06-06T05:54:14 更新时间:2024-11-08T00:00:33

【日本著名品牌有哪些?】

1、资生堂

资生堂(Shiseido),是日本著名的化妆品品牌。中文名取名源自中文《易经》中的“至哉坤元,万物资生”,资生堂的涵义为孕育新生命,创造新价值。

这一名称正是资生堂公司形象的反映,是将东方的美学及意识与西方的技术及商业实践相结合,将先进技术与传统理念相结合,用西方文化诠释含蓄的东方文化。

2、索尼

索尼(日语:ソニー株式会社,英语:Sony?Corporation),是日本一家全球知名的大型综合性跨国企业集团。总部设于日本东京都港区港南1-7-1。

索尼是世界视听、电子游戏、通讯产品和信息技术等领域的先导者,是世界最早便携式数码产品的开创者,是世界最大的电子产品制造商之一、世界电子游戏业三大巨头之一、美国好莱坞六大电影公司之一。

3、卡西欧

卡西欧(CASIO,カシオ计算器株式会社)是日本一家生产电子仪器、电子计算器公司旗下的品牌。该品牌于1946年4月由樫尾忠雄创立,他是一名精通装配的工程师。品牌的名字来自樫尾的日语读音Kashio。?

卡西欧TR系列的初衷也是为女性打造TOP的美颜拍摄感受,最新的光影美颜功能即便在暗处拍摄也能展现自然肌肤状态。

4、东芝

东芝(Toshiba),是日本最大的半导体制造商,也是第二大综合电机制造商,隶属于三井集团。公司创立于1875年7月,原名东京芝浦电气株式会社,1939年由东京电气株式会社和芝浦制作所合并而成。东芝业务领域包括数码产品、电子元器件、社会基础设备、家电等。

5、明治

明治乳业自1917年创立以来,一直以提供“健康美味”的高质量牛奶与乳制品为宗旨,通过不断的研究发展,成功地推出以“乳品”为中心的多元产品,包括牛乳、乳酸菌饮品、酸奶、冰淇淋、乳酪、黄油、植物性黄油、婴幼儿奶粉、婴儿食品、营养食品、冷冻食品等。

-明治

-东芝

-卡西欧

-索尼

-资生堂

【谁知道18罗汉都叫什么名字啊?】

十八罗汉

--------------------------------------------------------------------------------

时间:2005-11-2816:49:10

十六罗汉主要流行于唐代,至唐末,开始出现十八罗汉,到宋代时,则盛行十八罗汉了。

十八罗汉的出现;可能与中国文化中对十八的传统偏好有关,“十八”这个数是一个吉数,中国文化中的许多数量表达都用“十八”,如“十八世”、“十八侯”、“十八般武艺”、“十八学士”等。佛教中也有许多“十八”,,如“《十八部论》、“十八界;、“十八变”;“十八层地狱”等,“十六罗汉”变为“十八罗汉”显然与这种“十八”情结有关。

十八罗汉是在十六罗汉的基础上加上另两位而形成的。

最早记录这件事的是宋代苏轼,他在《自南海归过清远峡宝林寺敬赞禅月所画十八大罗汉》;文中一一列举出十八罗汉的姓名,前十六位罗汉即《法住记》中列的十六罗汉名,新增补的两位罗汉,第十七位是“庆友尊者”,即《法住记》的作者;第十八位是“宾头卢尊者”。这与第一位其实是同一位,只不过一个用全称,一个用尊称。后来,宋代志磐在《佛祖统计》卷三十三中提出新见解,认为第十七位应是迦叶尊者;第十八位应是君徒钵叹尊者,也就是“四大罗汉”中不在“十六罗汉”中的那两位。

但是,到清代乾隆年间,皇帝和章嘉呼图克图认为第十七位罗汉应是降龙罗汉即迦叶尊者;第十八位应是伏虎罗汉,即弥勒尊者。皇帝钦定,自此十八罗汉就以御封为准了。

藏传佛教十八罗汉的第十七位是释迦牟尼的母亲摩耶夫人,第十八位是弥勒。

十八罗汉取代十六罗汉后,影响越来越大,十八罗汉的石窟雕像不多,但在寺庙中则比较常见,一般塑在大雄宝殿中,作为释佛或“竖三世佛”的环卫存在。

回答者:哈迷VS玉米-魔法学徒一级12-614:54

回答者:yinlong2004-举人四级12-615:03

1、因竭陀尊者ArhatAngaja

按乾隆时期章嘉国师所编《三百佛像集》所定十八尊者次第,因竭陀尊者应为第一。相传他有出生于火中的不凡身世。长大后非常富有,他将自己的全部财产施舍与四方众人成为比丘,后来获阿罗汉果位。

因竭陀尊者双手合掌于胸前,持住拂子和吊起的香炉,一印度信徒跪拜于前,尊者身旁根雕供桌上,供有经书和无量寿佛。上界为无著。

2、阿氐多尊者

ArhatAiita

阿氐多尊者,出生于古印度一富人之家,由于从不去追求财物,其善德使他成为具有广博智慧和成就之人,并获得了阿罗汉果位,阿氐多的意思是“不可击败的

人”。

阿氐多尊者头戴披巾,双手结禅定印,结跏趺坐于石上静修。身旁侍者持幢而立,前方一白鹿翘首缓步而米。上界为萨迦五祖贡嘎宁布和其修行本尊大千摧破佛母。

3、伐那婆斯尊者

ArhatVanavasin

伐那婆斯尊者垂足坐于山石上,面带微笑地注视着前方的风鸟,他右手结期克印,可以降克各种火害和妖魔;左手持拂子,信徒受到拂子的凉风可以避免“三恶业”。树叶间为无著弟子世亲,正在辩绎说法;红色光环围绕的是白度母。尊者下藏文之意为:“居住在森林中的人”。

4、迦里迦尊者

arhatKalika

迦里迦尊者,出生于古印度一富豪之家,出生时身上散发出甜蜜的豆蔻花香气,因此得名,后皈依佛法获阿罗汉果位。

迦里迦尊者身着绿红两色汉式僧装,双手持握金臂钏,结跏趺坐于松下石上,弟子手持香甜听其说法。上界为光明佛母,龙树之再传弟子阿仁德瓦坐于苍松之间。

5、伐阇罗佛多尊者

ArllatVajriputra

伐阇罗佛多尊者,父亲为古印度一国王,母叫多吉姆(金刚女),伐阇罗佛多,

藏语意译即为“金刚女之子”。在圣者引导下,他舍弃王位继承权出家为僧,后

获阿罗汉果位。伐阇罗佛多尊者左手持拂子,右手结期克印,食指尖射出一束光芒,照亮一片祥云,云中坐尊胜佛母,萨迦五祖之第五祖巴思巴结跏趺坐于松枝间

6、迦诺迦伐蹉尊者

Arhatkanakavatsa

迦诺迦伐蹉尊者,意为“金象仔”,出生于古印度一富人之家,时一母象也产下一只能屙金的象仔,遂得此名,后骑金象出家为僧,并获得阿汉果位。

迦诺迦伐蹉尊者手持袈裟背绳,半跏趺坐于岩石上,与手托袱系法钵的侍者一同向下注视着前来献宝的龙王。上界有智行佛母化现树叫,及六庄严之一的释迦光。

7、跋陀罗尊者

ArhatBhadra

跋陀罗尊者之父饶桑,曾为释迦牟尼之父净饭王的马车御手。跋陀罗是一位知识渊博的学者,后出家为僧,系统钻研佛法,获得阿罗汉果位。

跋陀罗尊者右手持经书,左手结印,半跏趺坐于一巨大山石上。侧旁立舞狮侍者,前有仙鹤振翅起舞。岩石上置鲜桃及袱系法钵。上界为观音菩萨坐于光环和祥云之中,印度祖师乘浮云而至,山腰间建有佛塔。

8、迦诺迦跋黎堕阇尊者

Arhatkanankabharadhvaja

迦诺迦跋黎堕阎尊者,出生于古印度一富人之家,据说出生时掌中握一枚金币,每当拿走一枚又新生一枚,奇妙之极,故取名“具金”。长大后他常将财富施舍众人,后出家被释迦牟尼收为弟子,获阿罗汉果位。

迦诺迦跋黎堕阇尊者双手结禅定印,结跏趺坐于岩石上。法称大师坐于树问,绶带鸟落于大师身旁,祥云之上为随求佛母。

9、巴古拉尊者

ArhatBakula

巴古拉尊者,于释迦牟尼出生前七十年出生,出家为苦行僧人后,只用树皮作衣

衫,潜心研究佛法,终获阿罗汉果位,“巴古拉”是一种树的名称。

巴古拉尊者于捧口吐各色市珠的鼬鼠,含义是凡触摸或看见过尊者手中鼬鼠的信徒都将获得“五欲”的快乐。身旁设有行供桌,摆放着经书、蜡烛、法钵和香炉。身后寺心、佛塔隐约山间,瀑布层层垂落。祥云托出弥勒佛,树间显现龙树大

10、罗喉罗尊者

ArhartRahula

罗喉罗尊者,十六罗汉中释迦牟尼之子,因遍学小乘和大乘渚教法,获得阿罗汉果位,“罗喉”意为能引起日月食的魔。

罗喉罗尊者垂足坐于胡椅中,脚踏莲花,手捧金冠,那是他到三十三天化缘时所

得赠物,具有去除内心欲念之法力。侍者手捧经书及如意宝钵。上界为莲花生大师和燃灯佛

11、注荼半托迦尊者

ArhatChudapanthaka

注荼半托迦尊者者生性愚钝,常因背不下经而遭嘲笑,但他却坚定不移地修持佛

法,终成阿罗汉果。释迦牟尼将他说成是改变他人观念的比丘中最杰出的一位。

注荼半托迦尊者双手作禅定印,结跏趺坐于山石卜,神情专注。座前是怀抱小狮戏耍雄狮的侍者。树间化现金刚手菩萨和阿底峡大师。

12、宾度罗跋罗堕尊者

ArhatPindolaBharadhvaja

宾度罗跋罗堕尊者舒式坐于松树下,左手托钵,右手持笔翻挑石桌上经书,书旁香炉青烟袅袅。侍者持羽扇而立。祥云托文殊菩萨,松枝间为喇嘛丹巴·索南坚赞。

13、半托迦尊者

ArhatPanthaka

半托迦尊者手托经书,结跏趺坐于岩石上。祥云问有着印度僧装的尊者携眷属前往上方三十三天传播佛法,那里有天神送给尊者的礼物——被称作“花蕊”的美丽岩宫。上界有大孔雀佛母和萨迦五祖之第二祖索南孜摩。

14、那迦犀尊者

ArhatNagasena

那迦犀尊者,原为北印度色玛一王子,长大后放弃王位继承权出家为僧,获阿罗汉果位,释迦牟尼称赞他为断绝尘缘弟子中最好的一位。

那迦犀尊者左手持禅杖,右手持插有鲜花的宝瓶,半跏趺坐于树下。两只小猴摘下鲜桃献与尊者,气氛生动活泼。树梢问化现绿度母,山石间有萨迦五祖之第三祖扎巴坚赞坐于莲花座上。

15、戒博迦尊者

ArhatGopaka

戒博迦尊者出生于古印度洛玛巾,因出生后全身疮疤,常用布缠,因此得名,意为“隐者”。长大后听释迦牟尼讲法,心生敬意,出家为僧,后获阿罗汉果位。

戒博迦尊者双手捧经书端于胸前,半跏趺坐于石上,侍者持禅杖立于其后,脚下伏卧一只猛虎。松间为萨迦五祖之第四祖萨迦班智达,上界为其修行本尊。

16、阿秘特尊者

ArhatAbheda

阿秘特尊者,出生于印度王舍城一富有的婆罗门家庭,生来十分漂亮,因此得名,意为“无比的”,释迦牟尼称赞他是弟子中慈悲心最大的。

阿秘特尊者双手持菩提佛塔,据说是尊者到须弥山北面的罗刹居地去时,为帮助他禳除罗刹魔力,由释迦牟尼赠与他的。山石供桌上摆有经书、香炉和宝瓶等供物,前面有西藏的祥瑞动物嬉戏追逐,身后为湍急的河水自天边而落。上界有金刚手菩萨化现山间,大乘法王居于古松枝间。

17、达摩多罗尊者

Dharmatala

达摩多罗尊者右手持禅杖,左手持拂子,身背经箧,头罩华盖,奔走途中,身旁猛虎相随。前方可见无量光佛坐于塔中,另有粉色祥云前托佛塔,延绵而下至世间,这种画法来自汉地明代罗汉画像。上界有光芒四射的白度母化现。

18、布袋和尚

Havashang

上界为萨迦五祖之一的八思巴。

参考资料:

【晞字取名好吗】

晞字取名好,意思是天刚亮、破晓之意。

晞拼音:xī,部首:日部,部外笔画:7画,总笔画:11画

五笔86:JQDH,五笔98:JRDH,仓颉:AKKB,郑码:KOGL

四角:64027,结构:左右,电码:2522,统一码:665E

释义:

1、干,干燥。

2、破晓。

扩展资料

汉字演变只有楷体:

相关组词:

1、晞晒[xīshài]?

曝晒,日晒。

2、晞块[xīkuài]?

干土。

3、晞避[xībì]?

向往与退避。

4、晞曜[xīyào]?

曝于日中。

5、晞圣[xīshèng]?

仰慕圣人。

6、晞灭[xīmiè]?

受日照而消失。

【跪求同益起名大师3.62版注册码!】

正确获得同益起名大师v337的注册号――解读moon帮主的妙文

【作者】gzgzlxg

【声明】只是好奇,没有别的目的,如有,我就把注册机发表了(已经写好了),不要发信向我要注册机,我不会发表的,这也是看雪老大的要求,其实我觉得这篇文章已经很过分。按这篇文章,你100%可以得到正确的注册码。

【工具】IDA,OllyDBG

【软件】使用我在【ACProtect1.41--同益起名大师v3.36、v3.37、vp3.33(专业版)完美脱壳】中所完美脱壳后的GoodName.Exev3.37版。使用脱壳版,跟踪比较容易,当然你也可以直接使用原版,但会困难一些。

【注】读此文前,请先读moon帮主的【谜----同益起名大师3.36注册算法分析】,

本文同时发表在看雪论坛和DFCG,转载时请保持完整,版主如果觉得不合适可以删除。

前言:

同益起名的注册码验证遍布全程序,在主窗体建立,子窗口建立,按键操作,对注册码和注册申请码的验证无所不在,而且计算方法来回重复,例如获取注册申请码就有三个完全相同的过程,DES算法也有完整的两套。我们用来分析注册码取的是注册操作部分,其实在主窗口建立、子窗口建立的过程中都可以进行,因为他们是完全相同的。

这是注册窗口(Tfxhm)VMT表中的方法表部分,(全表太长)。这些代码都是在IDA中分析得到的。

代码:--------------------------------------------------------------------------------

......

0055647FTfxhmMethodTabledw6

00556481dw16h

00556483ddoffsetTfxhm@suiButton2Click;退出按键

00556487aSuibutton2clickdb0Fh,'suiButton2Click'

00556497dw10h

00556499ddoffsetTfxhm@FormClose;关闭窗口

0055649DaFormclose_0db9,'FormClose'

005564A7dw11h

005564A9ddoffsetTfxhm@FormCreate;建立窗口

005564ADaFormcreate_0db0Ah

005564ADdb'FormCreate'

005564B8dw16h

005564BAddoffsetTfxhm@suiButton1Click;注册按键

005564BEaSuibutton1clickdb0Fh,'suiButton1Click'

005564CEdw0Fh

005564D0ddoffsetTfxhm@get_text;suiButton1Click调用的校验注册申请码

;和注册码并注册的子过程

005564D4aGet_textdb8,'get_text'

005564DDdw0Fh

005564DFddoffsetTfxhm@FormShow;显示窗口

005564E3aFormshow_0db8,'FormShow'

005564ECTfxhmdb5,'Tfxhm';类名

005564F2word_5564F2dw5

005564F4ddoffsetTsuiForm@VMT@Prt;父辈TsuiForm的VMT表指针地址

......

--------------------------------------------------------------------------------

我们分析的所有代码都是属于Tfxhm@get_text过程和它的子过程的。Tfxhm@get_text起始地址:0055986C

一、获取注册码第28位

确定你想注册姓氏的正确笔划数(必须和同益数据库中slzik所查到的相同,以繁体字笔画数为准,同益库中有些字的笔画数并不正确,这时你可以在同益起名的姓名分析中获得姓氏的笔画数)。在下面的字符串中从左到右查寻,得到第28位注册码:例如,吕:繁体字为7划。(从0开始数)

0123456789012345678901234567890

0AH6CD3BEF4TRS2PUV5K1MN78YZ9GIJ

得到的字母为B,这样我们的注册码有如下形式:(31位)下面是我们的起始注册码

1234567890123456789012345678901

123456789ABCDEFGHIJKLMNOPQRSTUV

加入第28个字母B,得如下注册码:

123456789ABCDEFGHIJKLMNOPQRBTUV

根据moon提出的换位法(4*i+1位和4*(i+1)位互换,i=0,1,2,...,末尾不足4位时,最后两位互换),25<->28位对调,这个B应该在第25位

为了便于调位,写了几句Delphi的小程序来完成:(这种操作,还是汇编容易,所以实际还是汇编写的)

代码:--------------------------------------------------------------------------------

procedureTForm1.Button2Click(Sender:TObject);

var

Str:String;

begin

Str:=Edit1.Text;

asm

PushA

XorEdx,Edx

MovEsi,Str

MovEcx,7

@1:

MovAl,[Esi+Edx]

XchgAl,[Esi+Edx+3]

XchgAl,[Esi+Edx]

DecEcx

AddEdx,4

CmpEcx,0

Jnz@1

MovAl,[Esi+Edx+1]

XchgAl,[Esi+Edx+2]

XchgAl,[Esi+Edx+1]

PopA

end;

Edit2.Text:=Str;

end;

--------------------------------------------------------------------------------

在Edit1中输入123456789ABCDEFGHIJKLMNOPQRBTUV,按Button2键得到下面的新注册码:

新注册码为:

1234567890123456789012345678901

42318675CAB9GEFDKIJHOMNLBQRPTVU

具体分析请看moon的解释。

二、获取注册码23~27位注册码

用OD载如UNGDN.exe(脱壳后的程序)

代码:--------------------------------------------------------------------------------

Tfxhm@get_text

......

......

0055CF7Emoveax,ds:AppIDAndName_CryHex@Prt;注册申请号加姓氏和1FH异或得到的结果

0055CF83moveax,[eax]

0055CF85callsub_4FED88;EncodeFunction1

0055CF8Aleaeax,[ebp+var_94];这里断下获取计算23-27位的三个字符

0055CF8A;按照moon帮主的给出的算法可以获得

0055CF90puseax

0055CF91leaedx,[ebp+var_98]

0055CF97moveax,ds:Serial_CryHex@Prt;注册号和1FH异或得到的结果

0055CF9Cmoveax,[eax]

0055CF9EcallCycleConversionStr;经过1FH异或,即还原

0055CFA3moveax,[ebp+var_98]

0055CFA9movecx,5

0055CFAEmovedx,17h

0055CFB3callLStrCopy;取第23~27位

0055CFB8moveax,[ebp+var_94]

0055CFBEleaedx,[ebp+var_90]

0055CFC4callsub_4F0048;进行计算得到三个字符,如果和上面计算得到的三个字符相同,则过

0055CFC9movedx,[ebp+var_90]

0055CFCFmoveax,[ebp+var_C]

0055CFD2callLStrCmp;关键比较,比较两种方式和数据计算得到的三个字符

0055CFD7jnzloc_55D157

0055CFDDleaeax,[ebp+var_A0]

0055CFE3pusheax

0055CFE4leaedx,[ebp+var_A4]

0055CFEAmoveax,ds:Serial_CryHex@Prt

0055CFEFmoveax,[eax]

0055CFF1callCycleConversionStr

0055CFF6moveax,[ebp+var_A4]

0055CFFCmovecx,5

0055D001movedx,17h;取注册号23~27

0055D006callLStrCopy

0055D00Bmoveax,[ebp+var_A0]

0055D011leaedx,[ebp+var_9C]

0055D017callsub_4F0048

0055D01Cmovedx,[ebp+var_9C]

0055D022moveax,[ebp+var_C]

0055D025callLStrCmp;关键比较,比较两种方式和数据计算得到的三个字符,和前面相同

0055D02Ajnzloc_55D0EA

0055D030leaeax,[ebp+var_A8]

0055D036pusheax

0055D037leaedx,[ebp+var_AC]

0055D03Dmoveax,ds:Serial_CryHex@Prt

0055D042moveax,[eax]

0055D044callCycleConversionStr

0055D049moveax,[ebp+var_AC]

0055D04Fmovecx,3

0055D054movedx,1Dh;取注册号29~31位

0055D059callLStrCopy

0055D05Emoveax,[ebp+var_A8]

0055D064call31decimalToHex;对29~31位注册码进行31进制到十六进制的转换

0055D069movebx,eax

0055D06Bleaeax,[ebp+var_B0]

0055D071pusheax

0055D072leaedx,[ebp+var_B4]

0055D078moveax,ds:Serial_CryHex@Prt;取注册号(经过1FH异或处理)

0055D07Dmoveax,[eax]

0055D07FcallCycleConversionStr;经过相同的过程还原

0055D084moveax,[ebp+var_B4]

0055D08Amovecx,1Ch

0055D08Fmovedx,1;取注册号1~28位

0055D094callLStrCopy

0055D099moveax,[ebp+var_B0]

0055D09FcallSumSerial_1to28;做1~28位累加(中间还有判断是否大于27000,见moon帮主的解释)

0055D0A4cmpebx,eax;关键比较,将前面进制转换得到的数和累加和比较,在这里下断点

0055D0A6jnzloc_55D157;因为注册码没有完成,为了能够继续,暂时将这句Nop掉

0055D0ACmoveax,offseta111_2;"111"

0055D0B1callCheckSerial_17to22;这里是获取17~22位注册码的入口

0055D0B6mov[ebp+var_1],al

0055D0B9cmp[ebp+var_1],0

0055D0BDjzshortloc_55D0CC

0055D0BFleaeax,[ebp+var_C]

0055D0C2movedx,offseta111_2;"111"

0055D0C7callLStrLAsg

0055D0CC

0055D0CCloc_55D0CC:

0055D0CCcmp[ebp+var_1],0

0055D0D0jzloc_55D157

0055D0D6moveax,[ebp+var_C]

0055D0D9movedx,offseta111_2;"111"

0055D0DEcallLStrCmp

0055D0E3jnzshortloc_55D0EA

0055D0E5callCheckSerial_1to16;这里是获取1~16位注册码的入口

--------------------------------------------------------------------------------

在0055CF8A处下断点,F9运行,出现同益启动画面后选‘注册’->‘输入注册码',注册申请码是不能修改的,由你的机器的CPU和硬盘的参数变化而来。在【起名的姓氏】中输入你的姓氏,我这里是输入‘吕’,在【输入注册码】中将上面的123456789ABCDEFGHIJKLMNOBWRSTUV注册码拷贝到输入窗口。按【注册】键,中断在0055CF8A,清除断点(或关闭),由[ebp-c]中的内容,得到三个字符VRB,记录下这三个字符,用moon帮主给出的方法:

求逆方法:

1.执行到00559D0A,然后下:d[ebp-c],记下数据区显示的正确值x,y,z;

2.对3个字节的正确值进行调位,得到5个字节a,b,c,d,e,调位方法为:

0,0,0,x7,x6,x5,x4,x3

0,0,0,x2,x1,x0,y5,y4

0,0,0,0,y3,y2,y1,y0

0,0,0,y7,y6,z7,z6,z5

0,0,0,z4,z3,z2,z1,z0

3.根据5个字节查表"0KMT1EIJ2AB34FGH56PYZ7NRS89CDUVX",得到5位注册码即为23~27位。

--摘自moon帮主文

我用Delphi写了几句小程序完成这个转换,程序如下:

代码:--------------------------------------------------------------------------------

procedureTForm1.Button1Click(Sender:TObject);

const

Str='0KMT1EIJ2AB34FGH56PYZ7NRS89CDUVX';

var

X1,X2:Integer;

x,y,z:Char;

a,b,c,d,e:string;

Pin:string;

begin

Pin:=Edit1.Text;

x:=Pin[1];

y:=Pin[2];

z:=Pin[3];

x1:=(Byte(x)shr3)and$1F;

a:=Copy(Str,x1+1,1);

x1:=((Byte(x)shl2)and$1C)or((Byte(y)shr4)and$03);

b:=Copy(Str,x1+1,1);

x1:=Byte(y)and$0F;

c:=Copy(Str,x1+1,1);

x1:=((Byte(y)shr3)and$18)+((Byte(z)shr5)and$07);

d:=Copy(Str,x1+1,1);

x1:=(Byte(z)and$1F);

e:=Copy(Str,x1+1,1);

Edit2.Text:=a+b+c+d+e;

end;

--------------------------------------------------------------------------------

在Edit1输入VRB按Button1键,在Edit2窗口中给出我们要的结果B8MBM。现在来继续完善我们的注册码。将得到的字符串替换原注册码中第23~27位:

1234567890123456789012345678901

123456789ABCDEFGHIJKLMB8MBMBTUV

用前面的小程序进行调位,得新注册码如下:

1234567890123456789012345678901

42318675CAB9GEFDKIJH8MBLBBMMTVU

三、获得的17~22位注册码:

在OD中按Ctrl-F2组合键,重新运行程序,将0055D0A6的jnzloc_55D157Nop掉

代码:--------------------------------------------------------------------------------

0055D0A6jnzloc_55D157;因为注册码没有完成,为了能够继续,暂时将这句Nop掉

0055D0ACmoveax,offseta111_2;"111"

0055D0B1callCheckSerial_17to22;这里是获取17~22位注册码的入口

跟进0055D0B1callCheckSerial_17to22

......

......省略

0050C705movedx,[ebp+var_20]

0050C708moveax,[ebp+var_1C]

0050C70BcallDES_EncryStr;在这里进行DES的EncryStr加密运算,运算结果再经过

0050C70B;另一过程处理,这个子过程我们后面还要用到

0050C710movedx,[ebp+var_60];moon文中提到在这个位置获取17~22位注册码,可能

0050C710;是帮主写文章时粗心了,正确的位置应该在下面删除第5位

0050C710;相同字母后才取结果。

0050C713leaeax,[ebp+var_20]

0050C716callLStrLAsg

0050C71Bleaecx,[ebp+var_64]

0050C71Emoveax,[ebp+var_20]

0050C721movdl,[eax+5];取出EncryStr运算结果的字符串的第5位

0050C724moveax,[ebp+var_20]

0050C727callDelChr;将EncryStr运算结果中凡是和第5位相同的字母删除

0050C72Cmovedx,[ebp+var_64]

0050C72Fleaeax,[ebp+var_20];这里下断点,从Edx中取前6位,即我们要的第17-22位

......

......省略

--------------------------------------------------------------------------------

在0050C72C处下断点,按F9运行,出现同益启动画面后选‘注册’->‘输入注册码',在【起名的姓氏】中输入你的姓氏,我这里是输入‘吕’,在【输入注册码】中将上面的最后得到的注册码(42318675CAB9GEFDKIJH8MBLBBMMTVU)拷贝过去。点击【注册】按键。中断在0050C72F,在Edx返回一个长度为30的字符串(这个字符串的长度是不一定为30的,要看删除相同字符的数目而定),取前6为,即为我们要的注册码的第17~22位,在我们的例子中得到的字符串是:DEDAHI。现在我们来修改我们的注册码:

1234567890123456789012345678901

123456789ABCDEFGDEDAHIB8MBMBTUV

用前面的小程序调位后得新注册码:

1234567890123456789012345678901

42318675CAB9GEFDAEDD8IBHBBMMTVU

四、获取1~16位注册码

我们首先来看看程序的代码,从前面列出的程序最后一句:

代码:--------------------------------------------------------------------------------

0055D0E5callCheckSerial_1to16;这里是获取1~16位注册码的入口

跟进callCheckSerial_1to16

......

......省略

00508EEBleaedx,[ebp+var_18]

00508EEEmoveax,ds:AppIDAndName_CryHex@Prt

00508EF3moveax,[eax]

00508EF5callConversionHex10To16

00508EFAleaeax,[ebp+var_18]

00508EFDleaedx,[ebp+var_8]

00508F00callConversionHexAndFNameToStr

00508F05leaeax,[ebp+var_20]

00508F08pusheax

00508F09leaedx,[ebp+var_24]

00508F0Cmoveax,ds:Serial_CryHex@Prt

00508F11moveax,[eax]

00508F13callCycleConversionStr

00508F18moveax,[ebp+var_24]

00508F1Bmovecx,10h

00508F20movedx,1;取注册号1~16位

00508F25callLStrCopy

00508F2Amoveax,[ebp+var_20]

00508F2Dleaecx,[ebp+var_1C]

00508F30movedx,[ebp+var_8]

00508F33callDES_DecryStr;这是DES的逆运算,我们再跟进

00508F38moveax,[ebp+var_1C]

00508F3Bleaedx,[ebp+var_18]

00508F3EcallConversionHex10To16

00508F43leaeax,[ebp+var_18]

00508F46pusheax

00508F47leaedx,[ebp+var_38]

00508F4Amoveax,ds:AppIDAndName_CryHex@Prt

00508F4Fmoveax,[eax]

00508F51callsub_4FBA70

00508F56moveax,[ebp+var_38]

00508F59leaedx,[ebp+var_34];这里是我们要下断点的地方

......

......省略

跟进callDES_DecryStr

......

......省略

004F788Eleaedx,[ebp+var_C]

004F7891moveax,[ebp+var_4]

004F7894callsub_4E97BC

004F7899movecx,ebx

004F789Bmovedx,[ebp+var_8]

004F789Emoveax,[ebp+var_C]

004F78A1callDecryStr;DES逆运算

004F78A6xoreax,eax;这里是moon帮主提出下断点处,还有一些其他相应的做法

;请看moon原文。

......

......省略

--------------------------------------------------------------------------------

在OD中按Ctrl-F2,重新启动,在00508F59下断点,同上,将0055D0A6的jnzloc_55D157Nop掉,按F9运行,出现同益启动画面后选‘注册’->‘输入注册码',在【起名的姓氏】中输入你的姓氏,我这里是输入‘吕’,在【输入注册码】中将上面的最后得到的注册码(42318675CAB9GEFDAEDD8IBHBBMMTVU)拷贝过去。点击【注册】按键。中断在00508F59,下面是堆栈内容:

代码:--------------------------------------------------------------------------------

EBP-380012F91000F303D0ASCII"5FF51115"

EBP-340012F91400000000

EBP-300012F91800000000

EBP-2C0012F91C00000000

EBP-280012F92000000000

EBP-240012F92400F30038ASCII"123456789ABCDEFGDEDAHIB8MBMBTUV"

EBP-200012F92800F29F5CASCII"123456789ABCDEFG"

EBP-1C0012F92C00F3009C

EBP-180012F930C338FAD3

EBP-140012F934DD5CB3D0

EBP-100012F938D5D42656

EBP-C0012F93CA2BB6C94

EBP-80012F94000F2FFF8ASCII"M9BJBBRIDE88TNP4"

EBP-40012F94400000000

--------------------------------------------------------------------------------

注意:EBP-38000F2A130ASCII"5FF51115"这是我们要的DES加密的明文。

EBP-80>00F2FFE4ASCII"M9BJBBRIDE88TNP4"这是Key。

按moon帮主的方法,修改两句代码,进行逆运算,但我经过努力,总是没有成功,可能是对moon的方法不能深刻的理解,于是决定改用其他的方法。我们注意到如下代码:

代码:--------------------------------------------------------------------------------

004F788Eleaedx,[ebp+var_C]

004F7891moveax,[ebp+var_4]

004F7894callsub_4E97BC

004F7899movecx,ebx

004F789Bmovedx,[ebp+var_8]

004F789Emoveax,[ebp+var_C]

004F78A1callDecryStr;DES逆运算

--------------------------------------------------------------------------------

在最后一句CallDecryStr做的其实是DES的逆运算,前面还有一个辅助的运算,我认为,同益的代码中一定有一个DES的正向运算,即EncryStr,所以我找了一下,其实就在上面第三节--【获得的17~22位注册码】中出现过,下面我们跟进这个Call:

代码:--------------------------------------------------------------------------------

0050C70BcallDES_EncryStr

跟进

......

......省略

004F781Aleaecx,[ebp+var_C];返回地址

004F781Dmovedx,[ebp+var_8];Key=M9BJBBRIDE88TNP4

004F7820moveax,[ebp+var_4];Str=5FF51115

004F7823callEncryStr

004F7828movedx,ebx

004F782Amoveax,[ebp+var_C]

004F782Dcallsub_4E63F4

004F7832xoreax,eax;这里下断点

......

......省略

--------------------------------------------------------------------------------

可以看出,它和上面的代码正好相反,我们用下面的方法来获得1~16位的代码。

接前面,我们中断在

代码:--------------------------------------------------------------------------------

00508F59leaedx,[ebp+var_34]

--------------------------------------------------------------------------------

在代码窗口中按Ctrl-G,输入004F781A,转移到004F781A。按Ctrl-*,将Eip地址改到004F781A。

我们要做的工作其实就是修改堆栈的地址,下面是具体操作。

代码:--------------------------------------------------------------------------------

EBP-380012F91000F303D0ASCII"5FF51115"

EBP-340012F91400000000

EBP-300012F91800000000

EBP-2C0012F91C00000000

EBP-280012F92000000000

EBP-240012F92400F30038ASCII"123456789ABCDEFGDEDAHIB8MBMBTUV"

EBP-200012F92800F29F5CASCII"123456789ABCDEFG"

EBP-1C0012F92C00F3009C

EBP-180012F930C338FAD3

EBP-140012F934DD5CB3D0

EBP-100012F938D5D42656

EBP-C0012F93CA2BB6C94结果返回地址,这里改为0,程序运行时会自行分配新的内存

EBP-80012F94000F2FFF8ASCII"M9BJBBRIDE88TNP4"

EBP-40012F94400000000这里是Str所以将这里改为00F303D0,也就是[EBP-38]指向的地址。

【HTML里面一般用到ID选择器时怎样给ID取名字啊?我很纠结起什么名字好?】

这就考验前段工程师的开发经验了,其实命名也没个准则,习惯不同而已,能保证自己和其他的人看得懂就Ok啦。举个例子,对于头部的div,可以命名为#head,尾部则为#foot,当然啦,ID选择器很少用,一般用的class选择器,ID的一般是用来控制前段javascript表现或者后台调用的。

dh取名相关文章:

dh的好听名字
dh的好听名字

我非主流末页乍苦阿潇潇潇*ˊ流氓!脑残的青春青春ヤ关山的仇恨鸟潇魂蝶)〕°々猪猪头包子我们卡卡傻春堇色°"影青苔入画笑起来好可怜烟久黑毛茎长白勺小仙我有痘但我真的...