160 - 1 Acid burn

环境:Windows XP sp3

先打开,看看长什么样:


OD载入,右键->查找->所有参考文本字串

找到Sorry,The serial is incorect

找到后就在反汇编窗口跟随,往上翻:


0042F998  /.  55            push ebp
0042F999  |.  8BEC          mov ebp,esp
0042F99B  |.  33C9          xor ecx,ecx
0042F99D  |.  51            push ecx
0042F99E  |.  51            push ecx
0042F99F  |.  51            push ecx
0042F9A0  |.  51            push ecx
0042F9A1  |.  51            push ecx
0042F9A2  |.  51            push ecx
0042F9A3  |.  53            push ebx
0042F9A4  |.  56            push esi
0042F9A5  |.  8BD8          mov ebx,eax
0042F9A7  |.  33C0          xor eax,eax
0042F9A9  |.  55            push ebp
0042F9AA  |.  68 67FB4200   push Acid_bur.0042FB67
0042F9AF  |.  64:FF30       push dword ptr fs:[eax]
0042F9B2  |.  64:8920       mov dword ptr fs:[eax],esp
0042F9B5  |.  C705 50174300>mov dword ptr ds:[0x431750],0x29  		;注意这里把0x29放进[431750]
0042F9BF  |.  8D55 F0       lea edx,[local.4]
0042F9C2  |.  8B83 DC010000 mov eax,dword ptr ds:[ebx+0x1DC]
0042F9C8  |.  E8 8BB0FEFF   call Acid_bur.0041AA58
0042F9CD  |.  8B45 F0       mov eax,[local.4]
0042F9D0  |.  E8 DB40FDFF   call Acid_bur.00403AB0
0042F9D5  |.  A3 6C174300   mov dword ptr ds:[0x43176C],eax
0042F9DA  |.  8D55 F0       lea edx,[local.4]
0042F9DD  |.  8B83 DC010000 mov eax,dword ptr ds:[ebx+0x1DC]
0042F9E3  |.  E8 70B0FEFF   call Acid_bur.0041AA58
0042F9E8  |.  8B45 F0       mov eax,[local.4]
0042F9EB  |.  0FB600        movzx eax,byte ptr ds:[eax]
0042F9EE  |.  8BF0          mov esi,eax
0042F9F0  |.  C1E6 03       shl esi,0x3
0042F9F3      2BF0          sub esi,eax
0042F9F5  |.  8D55 EC       lea edx,[local.5]
0042F9F8  |.  8B83 DC010000 mov eax,dword ptr ds:[ebx+0x1DC]
0042F9FE  |.  E8 55B0FEFF   call Acid_bur.0041AA58
0042FA03  |.  8B45 EC       mov eax,[local.5]
0042FA06  |.  0FB640 01     movzx eax,byte ptr ds:[eax+0x1]
0042FA0A  |.  C1E0 04       shl eax,0x4
0042FA0D  |.  03F0          add esi,eax
0042FA0F  |.  8935 54174300 mov dword ptr ds:[0x431754],esi
0042FA15  |.  8D55 F0       lea edx,[local.4]
0042FA18  |.  8B83 DC010000 mov eax,dword ptr ds:[ebx+0x1DC]
0042FA1E  |.  E8 35B0FEFF   call Acid_bur.0041AA58
0042FA23  |.  8B45 F0       mov eax,[local.4]
0042FA26  |.  0FB640 03     movzx eax,byte ptr ds:[eax+0x3]
0042FA2A  |.  6BF0 0B       imul esi,eax,0xB
0042FA2D  |.  8D55 EC       lea edx,[local.5]
0042FA30  |.  8B83 DC010000 mov eax,dword ptr ds:[ebx+0x1DC]
0042FA36  |.  E8 1DB0FEFF   call Acid_bur.0041AA58
0042FA3B  |.  8B45 EC       mov eax,[local.5]
0042FA3E  |.  0FB640 02     movzx eax,byte ptr ds:[eax+0x2]
0042FA42  |.  6BC0 0E       imul eax,eax,0xE
0042FA45  |.  03F0          add esi,eax
0042FA47  |.  8935 58174300 mov dword ptr ds:[0x431758],esi
0042FA4D  |.  A1 6C174300   mov eax,dword ptr ds:[0x43176C]          ;  拿出输入的名称
0042FA52  |.  E8 D96EFDFF   call Acid_bur.00406930
0042FA57  |.  83F8 04       cmp eax,0x4                              ;  和4比较
0042FA5A  |.  7D 1D         jge XAcid_bur.0042FA79                   ;  长度大于4
0042FA5C  |.  6A 00         push 0x0
0042FA5E  |.  B9 74FB4200   mov ecx,Acid_bur.0042FB74                ;  Try Again!
0042FA63  |.  BA 80FB4200   mov edx,Acid_bur.0042FB80                ;  Sorry , The serial is incorect ! 找到这里来
0042FA68  |.  A1 480A4300   mov eax,dword ptr ds:[0x430A48]
0042FA6D  |.  8B00          mov eax,dword ptr ds:[eax]
0042FA6F  |.  E8 FCA6FFFF   call Acid_bur.0042A170
0042FA74  |.  E9 BE000000   jmp Acid_bur.0042FB37
0042FA79  |>  8D55 F0       lea edx,[local.4]
0042FA7C  |.  8B83 DC010000 mov eax,dword ptr ds:[ebx+0x1DC]
0042FA82  |.  E8 D1AFFEFF   call Acid_bur.0041AA58                   ;  算出输入名称的个数
0042FA87  |.  8B45 F0       mov eax,[local.4]
0042FA8A  |.  0FB600        movzx eax,byte ptr ds:[eax]              ;  拿出首字母x
0042FA8D  |.  F72D 50174300 imul dword ptr ds:[0x431750]             ;  x = x*29
0042FA93  |.  A3 50174300   mov dword ptr ds:[0x431750],eax
0042FA98  |.  A1 50174300   mov eax,dword ptr ds:[0x431750]
0042FA9D  |.  0105 50174300 add dword ptr ds:[0x431750],eax          ;  x = x*2
0042FAA3  |.  8D45 FC       lea eax,[local.1]
0042FAA6  |.  BA ACFB4200   mov edx,Acid_bur.0042FBAC                ;  CW
0042FAAB  |.  E8 583CFDFF   call Acid_bur.00403708
0042FAB0  |.  8D45 F8       lea eax,[local.2]
0042FAB3  |.  BA B8FB4200   mov edx,Acid_bur.0042FBB8                ;  CRACKED
0042FAB8  |.  E8 4B3CFDFF   call Acid_bur.00403708
0042FABD  |.  FF75 FC       push [local.1]
0042FAC0  |.  68 C8FB4200   push Acid_bur.0042FBC8                   ;  -
0042FAC5  |.  8D55 E8       lea edx,[local.6]
0042FAC8  |.  A1 50174300   mov eax,dword ptr ds:[0x431750]
0042FACD  |.  E8 466CFDFF   call Acid_bur.00406718
0042FAD2  |.  FF75 E8       push [local.6]
0042FAD5  |.  68 C8FB4200   push Acid_bur.0042FBC8                   ;  -
0042FADA  |.  FF75 F8       push [local.2]
0042FADD  |.  8D45 F4       lea eax,[local.3]
0042FAE0  |.  BA 05000000   mov edx,0x5
0042FAE5  |.  E8 C23EFDFF   call Acid_bur.004039AC                   ;  将serial拼接生成
0042FAEA  |.  8D55 F0       lea edx,[local.4]                        ;  CW-[431750]-CRACKED
0042FAED  |.  8B83 E0010000 mov eax,dword ptr ds:[ebx+0x1E0]         ;  这里[431750]的值要转为10进制
0042FAF3  |.  E8 60AFFEFF   call Acid_bur.0041AA58                   ;  拿到输入的serial
0042FAF8  |.  8B55 F0       mov edx,[local.4]
0042FAFB  |.  8B45 F4       mov eax,[local.3]
0042FAFE  |.  E8 F93EFDFF   call Acid_bur.004039FC                   ;  比较生成的和输入的
0042FB03  |.  75 1A         jnz XAcid_bur.0042FB1F                   ;  不对就跳
0042FB05  |.  6A 00         push 0x0
0042FB07  |.  B9 CCFB4200   mov ecx,Acid_bur.0042FBCC                ;  Congratz !!
0042FB0C  |.  BA D8FB4200   mov edx,Acid_bur.0042FBD8                ;  Good job dude =)
0042FB11  |.  A1 480A4300   mov eax,dword ptr ds:[0x430A48]
0042FB16  |.  8B00          mov eax,dword ptr ds:[eax]
0042FB18  |.  E8 53A6FFFF   call Acid_bur.0042A170
0042FB1D  |.  EB 18         jmp XAcid_bur.0042FB37
0042FB1F  |>  6A 00         push 0x0
0042FB21  |.  B9 74FB4200   mov ecx,Acid_bur.0042FB74                ;  Try Again!
0042FB26  |.  BA 80FB4200   mov edx,Acid_bur.0042FB80                ;  Sorry , The serial is incorect !
0042FB2B  |.  A1 480A4300   mov eax,dword ptr ds:[0x430A48]
0042FB30  |.  8B00          mov eax,dword ptr ds:[eax]
0042FB32  |.  E8 39A6FFFF   call Acid_bur.0042A170
0042FB37  |>  33C0          xor eax,eax
0042FB39  |.  5A            pop edx
0042FB3A  |.  59            pop ecx
0042FB3B  |.  59            pop ecx
0042FB3C  |.  64:8910       mov dword ptr fs:[eax],edx
0042FB3F  |.  68 6EFB4200   push Acid_bur.0042FB6E
0042FB44  |>  8D45 E8       lea eax,[local.6]
0042FB47  |.  E8 243BFDFF   call Acid_bur.00403670
0042FB4C  |.  8D45 EC       lea eax,[local.5]
0042FB4F  |.  BA 02000000   mov edx,0x2
0042FB54  |.  E8 3B3BFDFF   call Acid_bur.00403694
0042FB59  |.  8D45 F4       lea eax,[local.3]
0042FB5C  |.  BA 03000000   mov edx,0x3
0042FB61  |.  E8 2E3BFDFF   call Acid_bur.00403694
0042FB66  \.  C3            retn


得出serial,取输入首字符x,

k = dec(x)*2*41

serial为:CW-k-CRACKED



2.另一个Serial:


方法也是查找字符串,这里是:

Failed! Try Again!!

只找Try Again的话会有两个的


这次要找的是0042F58C这个字符串:

双击反汇编窗口跟随,分析如下:

0042F470  /.  55            push ebp
0042F471  |.  8BEC          mov ebp,esp
0042F473  |.  33C9          xor ecx,ecx
0042F475  |.  51            push ecx
0042F476  |.  51            push ecx
0042F477  |.  51            push ecx
0042F478  |.  51            push ecx
0042F479  |.  53            push ebx
0042F47A  |.  8BD8          mov ebx,eax
0042F47C  |.  33C0          xor eax,eax
0042F47E  |.  55            push ebp
0042F47F  |.  68 2CF54200   push Acid_bur.0042F52C
0042F484  |.  64:FF30       push dword ptr fs:[eax]
0042F487  |.  64:8920       mov dword ptr fs:[eax],esp
0042F48A  |.  8D45 FC       lea eax,[local.1]
0042F48D  |.  BA 40F54200   mov edx,Acid_bur.0042F540                ;  Hello
0042F492  |.  E8 7142FDFF   call Acid_bur.00403708                   ;  hello跑到local.1这里了 	 1
0042F497  |.  8D45 F8       lea eax,[local.2]
0042F49A  |.  BA 50F54200   mov edx,Acid_bur.0042F550                ;  Dude!
0042F49F  |.  E8 6442FDFF   call Acid_bur.00403708                   ;  dude!跑到local.2这里了	 2
0042F4A4  |.  FF75 FC       push [local.1]
0042F4A7  |.  68 60F54200   push Acid_bur.0042F560                   ;  这个是空格			 3
0042F4AC  |.  FF75 F8       push [local.2]
0042F4AF  |.  8D45 F4       lea eax,[local.3]
0042F4B2  |.  BA 03000000   mov edx,0x3
0042F4B7  |.  E8 F044FDFF   call Acid_bur.004039AC                   ;  拼接上面3个               —.—
0042F4BC  |.  8D55 F0       lea edx,[local.4]
0042F4BF  |.  8B83 E0010000 mov eax,dword ptr ds:[ebx+0x1E0]
0042F4C5  |.  E8 8EB5FEFF   call Acid_bur.0041AA58                   ;  拿到自己输入的
0042F4CA  |.  8B45 F0       mov eax,[local.4]
0042F4CD  |.  8B55 F4       mov edx,[local.3]
0042F4D0  |.  E8 2745FDFF   call Acid_bur.004039FC                   ;  比较
0042F4D5  |.  75 1A         jnz XAcid_bur.0042F4F1                   ;  不同就跳
0042F4D7  |.  6A 00         push 0x0
0042F4D9  |.  B9 64F54200   mov ecx,Acid_bur.0042F564                ;  Congratz!
0042F4DE  |.  BA 70F54200   mov edx,Acid_bur.0042F570                ;  God Job dude !! =)
0042F4E3  |.  A1 480A4300   mov eax,dword ptr ds:[0x430A48]
0042F4E8  |.  8B00          mov eax,dword ptr ds:[eax]
0042F4EA  |.  E8 81ACFFFF   call Acid_bur.0042A170
0042F4EF  |.  EB 18         jmp XAcid_bur.0042F509
0042F4F1  |>  6A 00         push 0x0
0042F4F3  |.  B9 84F54200   mov ecx,Acid_bur.0042F584                ;  Failed!
0042F4F8  |.  BA 8CF54200   mov edx,Acid_bur.0042F58C                ;  Try Again!!
0042F4FD  |.  A1 480A4300   mov eax,dword ptr ds:[0x430A48]
0042F502  |.  8B00          mov eax,dword ptr ds:[eax]
0042F504  |.  E8 67ACFFFF   call Acid_bur.0042A170
0042F509  |>  33C0          xor eax,eax
0042F50B  |.  5A            pop edx
0042F50C  |.  59            pop ecx
0042F50D  |.  59            pop ecx
0042F50E  |.  64:8910       mov dword ptr fs:[eax],edx
0042F511  |.  68 33F54200   push Acid_bur.0042F533
0042F516  |>  8D45 F0       lea eax,[local.4]
0042F519  |.  E8 5241FDFF   call Acid_bur.00403670
0042F51E  |.  8D45 F4       lea eax,[local.3]
0042F521  |.  BA 03000000   mov edx,0x3
0042F526  |.  E8 6941FDFF   call Acid_bur.00403694
0042F52B  \.  C3            retn


所以这里要填的是:

Hello Dude!

记得有个空格


3.去除Nag窗口

打开程序的时候会弹出一个窗口

OD载入,运行,窗口弹出的时候,回到OD

按下F12,然后Alt+F9回到程序领空

程序来到这里:

0042A19C  |.  64:8920       mov dword ptr fs:[eax],esp
0042A19F  |.  8B45 08       mov eax,[arg.1]
0042A1A2  |.  50            push eax                                 ; /Style
0042A1A3  |.  57            push edi                                 ; |Title
0042A1A4  |.  56            push esi                                 ; |Text
0042A1A5  |.  8B43 24       mov eax,dword ptr ds:[ebx+0x24]          ; |
0042A1A8  |.  50            push eax                                 ; |hOwner
0042A1A9  |.  E8 FAB5FDFF   call <jmp.&user32.MessageBoxA>           ; \MessageBoxA
0042A1AE  |.  8945 FC       mov [local.1],eax			     ; 来到这里

根据右下角栈的内容,找到了这个:

0012FE1C   0012FE50  指向下一个 SEH 记录的指针
0012FE20   0042A1D0  SE处理程序
0012FE24   0012FE40
0012FE28   7C930228  ntdll.7C930228
0012FE2C   0042F610  Acid_bur.0042F610
0012FE30   009D1DB0
0012FE34   00000000
0012FE38   00000000
0012FE3C   019D207C
0012FE40   0012FF88
0012FE44   0042F79C  Acid_bur.0042F79C
0012FE48   00000000
0012FE4C   00425643  返回到 Acid_bur.00425643	;选到这里按回车
0012FE50   0012FE5C  指向下一个 SEH 记录的指针
0012FE54   0042564D  SE处理程序

反汇编窗口来到这里:



00425618   .  55            push ebp
00425619   .  68 4D564200   push Acid_bur.0042564D
0042561E   .  64:FF30       push dword ptr fs:[eax]
00425621   .  64:8920       mov dword ptr fs:[eax],esp
00425624   .  8B45 FC       mov eax,dword ptr ss:[ebp-0x4]
00425627   .  66:83B8 CE010>cmp word ptr ds:[eax+0x1CE],0x0
0042562F   .  74 12         je XAcid_bur.00425643
00425631   .  8B5D FC       mov ebx,dword ptr ss:[ebp-0x4]
00425634   .  8B55 FC       mov edx,dword ptr ss:[ebp-0x4]
00425637   .  8B83 D0010000 mov eax,dword ptr ds:[ebx+0x1D0]
0042563D   .  FF93 CC010000 call dword ptr ds:[ebx+0x1CC]  		 ;那就是在这里启动那个Nag窗口的
00425643   >  33C0          xor eax,eax					 ;回车之后光标停在这里
00425645   .  5A            pop edx
00425646   .  59            pop ecx
00425647   .  59            pop ecx


00425637下断点,F7跟进去

call的内容是这样的:

0042F784      6A 00         push 0x0
0042F786      B9 A0F74200   mov ecx,Acid_bur.0042F7A0                ;  hello you have to kill me!
0042F78B      BA BCF74200   mov edx,Acid_bur.0042F7BC                ;  Welcome to this Newbies Crackme made by ACiD BuRN [CracKerWoRlD]
0042F790      A1 480A4300   mov eax,dword ptr ds:[0x430A48]
0042F795      8B00          mov eax,dword ptr ds:[eax]
0042F797      E8 D4A9FFFF   call Acid_bur.0042A170
0042F79C   .  C3            retn

0042F797那个Call就是调用MessageBox了,那就在 0042F784 push 0x0这里直接retn 填充


0042F784      C3            retn
0042F785      90            nop
0042F786      B9 A0F74200   mov ecx,Acid_bur.0042F7A0                ;  hello you have to kill me!
0042F78B      BA BCF74200   mov edx,Acid_bur.0042F7BC                ;  Welcome to this Newbies Crackme made by ACiD BuRN [CracKerWoRlD]
0042F790      A1 480A4300   mov eax,dword ptr ds:[0x430A48]
0042F795      8B00          mov eax,dword ptr ds:[eax]
0042F797      E8 D4A9FFFF   call Acid_bur.0042A170
0042F79C   .  C3            retn

保存下来就好了







本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/376498.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

跟树有关的数据结构学习系列之概览

1.Binary Search Tree&#xff08;BST&#xff09; 二叉搜索树 2.B-Tree 3.BTree 4.B*Tree转载于:https://www.cnblogs.com/devindong/p/3233041.html

在社会实践中长本领

暑假回到家&#xff0c;家里要我在自家店里帮忙&#xff0c;做员工。因为我家跟舅舅家合资开了一家家禽冻品批发部&#xff0c;生意兴旺&#xff0c;越做越大&#xff0c;忙得不可开交。在自家店里做员工&#xff0c;当然&#xff0c;家里人都很高兴&#xff0c;我也乐意。在员…

Animating Layout Changes(展开收起)

原文地址&#xff1a;https://developer.android.com/training/animation/layout.html#add &#xff08;1&#xff09;设置布局文件&#xff1a; <LinearLayout android:id"id/container"android:animateLayoutChanges"true"... /> &#xff08;2&am…

160 - 2 Afkayas.1

环境&#xff1a; Windows Xp sp3 OD载入&#xff1a; 运行&#xff0c;然后输入&#xff1a; 然后回到OD&#xff0c;按F12来暂停&#xff0c; 然后ALTF9回到程序领空&#xff0c;把弹出的那个错误消息框点掉&#xff0c;这时OD来到这里&#xff1a; 004025F9 . 68 E81…

POJ 2125 Destroying The Graph (二分图最小点权覆盖集+输出最小割方案)

题意 有一个图&#xff0c; 两种操作&#xff0c;一种是删除某点的所有出边&#xff0c;一种是删除某点的所有入边&#xff0c;各个点的不同操作分别有一个花费&#xff0c;现在我们想把这个图的边都删除掉&#xff0c;需要的最小花费是多少。 思路 很明显的二分图最小点权覆盖…

160 - 3 Afkayas.2

环境&#xff1a; Windows xp sp3 这次的目标有两个&#xff1a; 1.去除Nag窗口 2.找出Serial的算法 1.这次去除Nag窗口用了另外两个程序&#xff1a; &#xff08;1&#xff09;VBLocalize v1.1.0.0 &#xff08;2&#xff09;UltraEdit &#xff08;3&#xff09;VBEx…

class threading.Thread()说明:

class threading.Thread()说明&#xff1a; class threading.Thread(groupNone, targetNone, nameNone, args(), kwargs{}) This constructor should always be called with keyword arguments. Arguments are: group should be None; reserved for future extension when a Th…

并行编程——内存模型之顺序一致性

1 定义 Sequential consistency , 简称 SC&#xff0c;定义如下 … the result of any execution is the same as if the operations of all the processors were executed in some sequential order, and the operations of each individual processor appear in this sequen…

160 - 4 ajj.1

环境&#xff1a; Windows Xp sp3 输入Name和Serial&#xff0c;无错误提示。看说明&#xff0c;只有正确时才有提示 OD载入&#xff0c;搜索字符串&#xff0c;发现两个字符串&#xff1a; Panel1DblClick和Panel1Click 一个双击一个单击 先跟随单击的&#xff1a; 00457…

JS判断是否安装flash player及当前版本

function flashChecker() {var hasFlash 0;     //是否安装了flashvar flashVersion 0;   //flash版本if(document.all) {var swf new ActiveXObject(ShockwaveFlash.ShockwaveFlash);if(swf) {hasFlash 1;VSwf swf.GetVariable("$version");flashVersion…

Daily Scrum 11.18

今日完成任务&#xff1a; 1.在提问问题的时候为问题创建索引 2.解决了修改个人资料后刷新没有更新的问题 3.初步加入了采纳功能&#xff08;没完善UI设计&#xff09; 遇到困难&#xff1a;创建索引之后&#xff0c;跳转到主页&#xff0c;需要重新登录&#xff0c;找了半天不…

160 - 5 ajj.2

环境&#xff1a; Windows xp sp3 打开&#xff0c;输入点东西到输入框&#xff08;这里把第一个输出框称为text1&#xff09;里面&#xff0c;点一下注册&#xff0c;什么反应都没有。 到处都点一点&#xff0c;每张图片都点一下&#xff0c;还是什么反应都没有。 查壳&…

移动平台WEB前端开发技巧汇总

原名《移动平台3G手机网站前端开发布局技巧汇总》&#xff0c;由武方博整理的&#xff0c;让我们了解下移动设备上的WEB站点开发的基础知识&#xff0c;多些时间和精力去优化其他细节&#xff0c;我这里对原文的标签格式做了细微的调整&#xff0c;阅读查看起来明晰些&#xff…

0809

来自网销协会消息&#xff1a;8月8日&#xff0c;第八届豫商大会新闻发布会在郑州举行&#xff0c;由河南省政协主办&#xff0c;省商务厅、省工商联、省豫商联合会协办&#xff0c;安阳市人民政府承办的第八届豫商大会将于8.28如期举行。本次大会会期两天&#xff0c;其中&…

160 - 6 aLoNg3x.1

环境&#xff1a; Windows xp sp3 查壳&#xff0c;这次不用脱壳了&#xff0c;但是还是Delphi程序。 打开后看随便输点东西进去&#xff0c;发现Nome什么都能输入&#xff0c;但最多10个字符&#xff0c;而 Codice可以是数字或者是“$”&#xff0c;在输入“$”后就可以输入…

hyper-v 用户无法再 创建外部配置存储 0x80070005

windows server 2008R2 刚安装的hyper-v 重启过。 修改配置文件到d:\Hyper-V目录下&#xff0c; hyper-V 创建 服务器遇到错误 操作失败 创建外部配置存储:一般性拒绝访问错误 虚拟机ID 0x80070005 d:\hyper-V 安全权限为 everyone 所有&#xff0c;users 所有&#xff0c;admi…

160 - 7 aLoNg3x.2

环境&#xff1a; Windows Xp sp3 打开程序&#xff0c;看了帮助发现要求还是看到那个logo&#xff0c; 但是这次少了个按钮&#xff0c;真棒&#xff01; 但是这次的Codice却是什么都可以输入进去了。 查一下壳发现还是Delphi程序。 因为还是Delphi的程序&#xff0c;有了前…

Spring 中的国际化Message的简单例子(ApplicationContext) 不跟框架集成的版本

首先&#xff0c;建立一个描述message的XML文件&#xff0c;名为messages.xml <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-bean…

简述进程间通信方式

进程间通信方式通常有共享内存 信号量 消息队列 管道 FIFO Socket等几种。 共享内存的模型&#xff0c;它是最有效率的进程间通信方式进程间信号量是进程间同步主要方式&#xff0c;信号量操作为负的时候&#xff0c;进程阻塞。直到信号量为正 内存映射是一种特殊的共享内存…

辅助的写与数据库交互的XML文件的类

现在企业级WEB应用中与数据库交互的XML文件都是通过插件自动生成的&#xff0c;不过有些时候修改比较老的项目的时候也是需要手动的来做这一动作的&#xff01;如下代码就是一个实现上述的功能的辅助类&#xff0c;在此记录一下以备后用&#xff01; package com.cn.common.uti…