cleo教程

合集下载

这是二哥的教程

这是二哥的教程
0040D066 8B30 mov esi, dword ptr ds:[eax]
0040D068 66:81C7 8007 add di, 780
0040D06D 8D7406 08 lea esi, dword ptr ds:[esi+eax+8]
0040D071 8938 mov dword ptr ds:[eax], edi
0040D047 68 4C584000 push Notepad.0040584C 填充ERR结构的Hander,当发生异常时系统会自动调用这里。
0040D04C 64:FF35 0000000>push dword ptr fs:[0] 填充ERR结构的Prev
0040D053 64:8925 0000000>mov dword ptr fs:[0], esp 建立SEH链,呵,异常后就会到40584C处的代码继续运行。
0040D05A 66:9C pushfw 关键字1
0040D05C 60 pushad 关键字2
0040D05D 50 push eax
0040D05E 68 00004000 push Notepad.00400000
0040D063 8B3C24 mov edi, dword ptr ss:[esp]
0040D0C3 83C2 0C add edx, 0C
0040D0C6 FC cld
0040D0C7 ^ EB E2 jmp short Notepad.0040D0AB 循环。
0040D0C9 83C2 10 add edx, 10 F4到这里。
0040D0CC 8B5A F4 mov ebx, dword ptr ds:[edx-C]

CLEO编辑【教程】

CLEO编辑【教程】

CLEO编辑下载完成后先解压缩,打开“CLEO编辑器”文件夹,运行“SannyBuilder-v3.04.exe”安装好再点开“Sanny Builder 汉化补丁”这个文件夹,里面有一个简体,一个繁体2种语言,下面是使用方法:将简体、繁体文件夹,复制到X:\Sanny Builder 3\lang 下打开软件->菜单栏->找TOOLS(工具) 下->Options(设置) 选项->Language (语言) 选择->简体/繁体,即可。

使用说明下面是cleo的使用方法的简单介绍,文字很多,下载包内有详细的说明。

怎么让CLEO横向发展,举几个例子就知道了:1、先举一个最简单的:你想在四龙赌场门前停一辆NRG500摩托车,每次打开存档都能看到它,怎么实现呢?有一个“军警车辆”CLEO,作用是把爆爆工厂里停了各种各样的警车及军车。

用Sanny Builder软件打开军警车辆CLEO的Poli_Arm_Cars.cs文件,可以看到有一大段这样的语句:$PC006 = init_parked_car_generator #BARRACKS color -1 -1 1 alarm 0 door_lock 0 0 10000 at -2141.971 -102.694 36.419 angle 270.0这是计算机语言,翻译成人话就是:在(-2141.971,-102.694,36.419)这个点上产生一辆警笛关闭的默认颜色的车头朝东的没锁门的运兵车。

“BARRACKS”是车名,想增加哪个车停放点就改成相应车名,改成NRG500就变成停放NRG500摩托了。

在刷车工具里有各种车辆的中英文名称和图片的对照。

“color -1 -1 1”表示车的颜色,这个如果不会改就不要改。

“alarm 0”表示报警器关闭,不知道有什么用。

“door_lock 0”表示没锁门,也不要改。

10000可能是生命值吧,没改过。

GTA系列 IFP动画文件修改 创建的方法与教程

GTA系列 IFP动画文件修改 创建的方法与教程

GT A系列:IFP动画文件修改、创建的方法与教程翻译: Allen论坛在线讨论:/viewthread.php?tid=12325&page=1&extra=教程分为三步曲:1 )转换动画捕捉软件(Endorphin)的动画到GTA系列!2 )自定义动画(Custom Animations)3 )创建自定义动画文件(Creating Custom IFP's )这三篇教程是相辅相成,缺一不可。

我费了一些心思把他们给翻译了过来。

有一款软件和“Endorphin”功能很相似,如果你学会了本教程,可以尝试用此软件:Poser,和Endorphin一样它也可以与3dsMAX接口。

Poser:/view/1248045.htm?fr=ala0_1_11)转换动画捕捉软件(Endorphin)的动画到GTA系列!原作者(Author):Wesser原贴:/index.php?showtopic=3869171. 需求首先,你要确保你已经有了Endorphin(版本2.5.2)并已经安装了它,如果没有你可以去/topics/130918/认识并下载Endorphin。

3DsMax9英文版(推荐用此版本)或者 3DsMax7英文版Kam's scriptKam's Script 安装方法:(1)解压后将包内MAPS文件包内的两个图片(vehiclespecdot64.tga和xvehicleenv128.tga)文件放到3dmax里的maps里面(2)将包内的scripts文件包内GTA_Tools包放到3dmax安装目录里面的scripts文件包内,将startup包内文件复制到scripts下的startup内即可。

你可以根据下面的教程去做所有步骤:附件:tutorials.rar2. Endorphin好了,那么打开该程序拖动鼠标然后选择当前人物。

现在你可以在底部看到一个彩色区域(时间栏的上面)这代表这个人物已经被选中了。

ollydbg破解教学之万能断点篇

ollydbg破解教学之万能断点篇

ollydbg破解教学之万能断点篇有的只是OD不能下万能断点的断⾔,⼀时⼼恢之极,可是我原来⽤TRW和SICE⽤的挺好,谁知系统⼜跟我闹⽭盾,⼀⽤TRW和SICE就死机,没办法我现在只能⽤OD,我写的⼀些破解⽂章都是⽤OD破的,反复试验,我终于发现OD也能下万能断点,在我以前写的⼀些⽂章中好象有⼀篇简单提到过,但没有说的很详细,这次静下⼼,想写⼀点东西,送给我⼼爱的组织DFCG吧,我的破解是从DFCG组织起步的,很感谢DFCG的⾼⼿们的帮助,在此说声谢谢!为了更明确,这次破解所使⽤的调试器OD是从看雪论坛临时下载的OD1.09的汉化版,没有使⽤我⾃⼰⼿头经过改造的OD,在此也感谢看雪论坛,这⾥真的有很多⾼⼿,在这个论坛我也学到了很多.这次破解的对象是超级XX王,为保护国产软件我隐去了软件相关信息,我不想给⾃⼰带来⿇烦,现在⼯作很忙,能少⼀点⿇烦就尽量少⼀点吧.破解作者yzez[DFCG]破解⼯具ollydbg汉化版,下载https:///softs/58565.html破解⽬的本不为破解⽽破解,只因为技术⽽破解破解环境WINDOWS XP,这个我已经在98和XP下各做了两次,贴图和我这篇⽂章是在XP系统下完成的.破解过程1.检查了⼀下,该程序⽆壳,C++编译,⽤W32DSM反汇编⼀堆乱码,我倒!那就动态调试吧!⽤ollydbg1.09载⼊程序,这次我将教你们如何⽤OD下万能断点,过程我尽可能详细⼀点,下⾯请看.载⼊程序选OD菜单栏上的插件-----命令⾏(快捷键是ALT+F1),在弹出的窗⼝中输⼊万能断点命令:bpx hmemcpy,按ENTER键,结果⼜出现⼀个对话框:Intermodular calls00401164 CALL DWORD PTR DS:[<&USER32.GetWindowRect>] USER32.GetWindowRect0040118F CALL DWORD PTR DS:[<&USER32.GetClientRect>] USER32.GetClientRect00401279 CALL DWORD PTR DS:[<&USER32.GetClientRect>] USER32.GetClientRect004013E1 CALL DWORD PTR DS:[<&USER32.GetClientRect>] USER32.GetClientRect0040190A CALL DWORD PTR DS:[<&KERNEL32.GetThreadLocale>] kernel32.GetThreadLocale0040191C CALL DWORD PTR DS:[<&KERNEL32.GetLocaleInfoA>] kernel32.GetLocaleInfoA还有很多,我就省略了,在这个框⾥右键单击,出现⼀个对话框,选中在每个命令中设置断点(热键是S),单击,你看每⼀⾏都变成了红⾊吧,这表⽰全部设下断点了,后⾯的过程很烦燥,你要⼀边按F9,边按F2把⼀些⽆⽤的断点去掉,有⼀点耐⼼吧,当然也可以不这样做,但遇到断点跳不过的时候,你就得按F2把这个断点去掉.感觉在这⼀点上OD⽐不上TRW和SICE,到出现注册信息框后,你要输⼊注册信息,然后按确定,程序被断下来,我的序列号是:GK342QZ0C6RE03L,我输⼊试验码:123456789098765.程序中断在下⾯:00471F71 CALL DWORD PTR DS:[<&USER32.GetWindowTex>****按确定后回到OD程序中断在此,按F8⾛,在此还没有到关键处!*****************************************************注意这⾥会循环两次,分别处理序列号和试验码,按F8⾛00471F77 LEA ECX,DWORD PTR DS:[EAX+1]00471F7A PUSH ECX00471F7B MOV ECX,DWORD PTR SS:[EBP+10]00471F7E PUSH EAX00471F7F CALL SuperPIM.0043E15D00471F84 PUSH EAX00471F85 PUSH ESI00471F86 CALL DWORD PTR DS:[<&USER32.GetWindowTex>00471F8C MOV ECX,DWORD PTR SS:[EBP+10]00471F8F PUSH -100471F91 CALL SuperPIM.00401D6A00471F96 JMP SHORT SuperPIM.00471FA300471F98 MOV EAX,DWORD PTR SS:[EBP+10]00471F9B PUSH DWORD PTR DS:[EAX]00471F9D PUSH ESI00471F9E CALL SuperPIM.00470B6100471FA4 POP ESI00471FA5 POP EBP00471FA6 RETN 0C*************************************程序第⼆次循环后最后会返回到0040FE99下⾯看代码:----------------------------------------------------------------------------------------------------------0040FE99 LEA EAX,DWORD PTR SS:[EBP-14]****第⼆次循环后会返回到这⾥,注意这就是我们要找的关键地⽅,按F8往下!0040FE9C PUSH EAX0040FE9D CALL SuperPIM.00433D92***********这就是关键CALL,按F7追进,⼀定要进,因为算法就在这⾥⾯!0040FEA2 POP ECX0040FEA3 AND DWORD PTR SS:[EBP-4],00040FEA7 LEA ESI,DWORD PTR DS:[EDI+74]0040FEAA MOV EAX,DWORD PTR DS:[ESI]******试验码⼊EAX0040FEAC CMP DWORD PTR DS:[EAX-C],0******⽐较试验码输⼊了吗?0040FEB0 JE SHORT SuperPIM.0040FF2F******没有输⼊就跳⾛,⼀跳就失败!0040FEB2 PUSH 280040FEB4 LEA EAX,DWORD PTR SS:[EBP-18]0040FEB7 PUSH ESI0040FEB8 PUSH EAX0040FEB9 CALL SuperPIM.0042CEC8**********此CALL对输⼊的注册码进⾏处理,得到⼀个40位的长字符串,有兴趣⾃⼰跟,******************************************我已是头晕的很,不想跟进!0040FEBE LEA ECX,DWORD PTR SS:[EBP-14]0040FEC1 PUSH ECX0040FEC2 PUSH EAX0040FEC3 CALL SuperPIM.0040F9B7**********此CALL对序列号处理,也是得到⼀个40位的长字符串0040FEC8 MOV ECX,DWORD PTR SS:[EBP-18]0040FECB ADD ESP,140040FECE ADD ECX,-100040FED1 MOV BYTE PTR SS:[EBP-D],AL0040FED4 CALL SuperPIM.00401B5D**********此CALL进⾏⽐较,注册码不对,值为00040FED9 CMP BYTE PTR SS:[EBP-D],0*******⽐较是0吗?0040FEDD JE SHORT SuperPIM.0040FF2F******相等就跳,跳就失败,所以⼀定不能跳!0040FEDF PUSH 0**************************不跳往下你就成功了!下⾯代码省略! ...............................................................省略若⼲代码!.........................============================================================================================================= ************************************关键CALL的代码!*******************************************************00433D92 MOV EAX, SuperPIM.0049844E****追进关键CALL后我们来到这⾥!00433D97 CALL SuperPIM.0045090000433D9C PUSH ECX00433D9D PUSH ECX00433D9E AND [LOCAL.5], 000433DA2 LEA EAX, [LOCAL.5]00433DA5 PUSH EAX00433DA6 CALL SuperPIM.00433CA9********此CALL根据电脑硬件信息得到你的序列号,有兴趣跟吧!我是没有兴趣!00433DAB AND [LOCAL.1], 000433DAF PUSH 1400433DB1 LEA EAX, [LOCAL.5]00433DB4 PUSH EAX00433DB5 LEA EAX, [LOCAL.4]00433DB8 PUSH EAX00433DB9 CALL SuperPIM.0042CEC8*******算法CALL(1),按F7跟进!00433DBE PUSH 2800433DC0 LEA EAX, [LOCAL.4]00433DC3 PUSH EAX00433DC4 PUSH [ARG.1]00433DC7 MOV BYTE PTR SS:[EBP-4], 100433DCB CALL SuperPIM.0042CEC800433DD0 MOV ECX, [LOCAL.4]00433DD3 ADD ESP, 1C00433DD6 ADD ECX, -10*****************************省略N⾏代码!********************************************************0043454B RETN=========================================================================================================== ***********************************算法CALL!*********************************************************0042CEC8 MOV EAX, SuperPIM.00497B52********追进算法CALL我们在这⾥!0042CECD CALL SuperPIM.004509000042CED2 SUB ESP, 140042CED5 PUSH EBX0042CED6 PUSH ESI0042CED7 XOR EBX, EBX0042CED9 PUSH EDI0042CEDA MOV [LOCAL.8], EBX0042CEDD CALL SuperPIM.004639B50042CEE2 MOV EDX, DWORD PTR DS:[EAX]0042CEE4 MOV ECX, EAX0042CEE6 CALL DWORD PTR DS:[EDX+C]0042CEE9 LEA EDI, DWORD PTR DS:[EAX+10]0042CEEC MOV [LOCAL.4], EDI0042CEEF MOV EAX, [ARG.2]0042CEF2 MOV EAX, DWORD PTR DS:[EAX]*******序列号:GK342QZ0C6RE03L移⼊EAX0042CEF4 MOV ESI, DWORD PTR DS:[EAX-C]*****序列号的位数15(⼗六进制值是F)送⼊ESI0042CEF7 CMP ESI, EBX**********************⽐较ESI和EBX,ESI的值是F即序列号位数,EBX的初始值是00042CEF9 MOV [LOCAL.1], EBX0042CEFC MOV [LOCAL.8], ESI0042CEFF JE SuperPIM.0042CFB2*************相等就跳,这⾥当然不相等,所以就不会跳!0042CF05 MOV EAX, [ARG.3]******************常数14(⼗进制值是20)送⼊EAX0042CF08 CMP EAX, ESI**********************⽐较EAX和ESI,即14和F⽐较!0042CF0A MOV [LOCAL.6], EAX0042CF0D JG SHORT SuperPIM.0042CF12*******⼤于就跳!0042CF0F MOV [LOCAL.6], ESI0042CF12 CMP [LOCAL.6], EBX****************跳到这⾥!⽐较14和00042CF15 JLE SuperPIM.0042CFB2*************⼩于就跳,这⾥当然不会⼩!所以不跳!0042CF1B MOV EAX, EBX**********************0移⼊EAX0042CF1D CDQ***********************************EDX清0,准备计算!0042CF1E IDIV ESI***************************除,EAX/ESI ,EAX的值是0,ESI的值存放序列号的位数F0042CF20 MOV EAX, [ARG.2]******************赋EAX地址值0042CF23 MOV EAX, DWORD PTR DS:[EAX]*******序列号:GK342QZ0C6RE03L移⼊EAX0042CF25 PUSH EBX***************************EBX⼊栈0042CF26 MOV AL, BYTE PTR DS:[EDX+EAX]*****序列号的第⼀位G(ASCII码值47)⼊AL0042CF29 MOV BYTE PTR SS:[EBP-1C], AL******保存值470042CF2C PUSH [LOCAL.7]0042CF2F CALL SuperPIM.0042CD8E*************算法CALL(2),按F7跟进!代码直接在下⾯给出============================================================================================================== ***************************算法CALL(2)*****************************************************0042CD8E PUSH EBP0042CD8F MOV EBP, ESP0042CD91 PUSH ECX*************************G的ASCII码值47⼊ECX0042CD92 MOVZX EAX, BYTE PTR SS:[EBP+8]****扩展成000000470042CD96 MOV ECX, [ARG.2]****************赋ECX的初始值为00042CD99 MOV [LOCAL.1], EAX0042CD9C MOV EAX, ECX********************ECX的值移⼊EAX0042CD9E IMUL EAX, ECX********************EAX=EAX*ECX=0*00042CDA1 LEA EAX, DWORD PTR DS:[EAX+EAX*2+7]**EAX+EAX*2+7的值7给EAX0042CDA5 IMUL EAX, ECX********************EAX=EAX*ECX=7*00042CDA8 ADD EAX, 0D*********************EAX=EAX+0D=D0042CDAB IMUL EAX, ECX********************EAX=EAX*ECX=D*0=00042CDAE PUSH ESI*************************序列号位数F⼊栈!0042CDAF LEA ESI, DWORD PTR DS:[ECX+5]0042CDB2 PUSH ESI0042CDB3 MOV [ARG.1], EAX0042CDB6 LEA EAX, [ARG.1]0042CDB9 PUSH 40042CDBB PUSH EAX0042CDBC CALL SuperPIM.0042CD2E***********这个CALL也在计算,我实在不想跟进!0042CDC1 PUSH ESI0042CDC2 LEA EAX, [LOCAL.1]0042CDC5 PUSH 40042CDC7 PUSH EAX0042CDC8 CALL SuperPIM.0042CD5E**********这个CALL也是计算CALL,烦!不跟了!0042CDCD MOV EAX, [ARG.1]0042CDD0 ADD ESP, 180042CDD3 XOR EAX, [LOCAL.1]*************这⾥赋EAX的值380000020042CDD6 POP ESI0042CDD7 LEAVE0042CDD8 RETN=========================================================================算法CALL(2)结束================== 0042CF34 POP ECX0042CF35 POP ECX0042CF36 PUSH 2B***************************常数2B⼊栈!0042CF38 XOR EDX, EDX0042CF3A POP ECX**************************把常数2B赋给ECX0042CF3B DIV ECX**************************除,EAX/ECX=38000002/2B=014D6535,余数1B⼊EDX0042CF3D MOV ECX, EDX*********************结果1B⼊ECX0042CF3F ADD CL, 30***********************CL=CL+30=1B+30=4B(对应的字符串是K)0042CF42 CMP CL, 39***********************⽐较是不是数字90042CF45 MOV BYTE PTR SS:[EBP-14], CL*****保存字符串K0042CF48 JLE SHORT SuperPIM.0042CF55******⼩于就跳⾛!0042CF4A CMP CL, 41***********************⽐较是不是A0042CF4D JGE SHORT SuperPIM.0042CF55******⼤于就跳⾛0042CF4F ADD CL, 0F60042CF52 MOV BYTE PTR SS:[EBP-14], CL0042CF55 CMP EBX, [ARG.3]*****************跳到这⾥!⽐较0和140042CF58 JGE SHORT SuperPIM.0042CF67******⼤于等于就跳⾛!0042CF5A PUSH [LOCAL.5]0042CF5D LEA ECX, [LOCAL.4]0042CF60 CALL SuperPIM.00417EAF0042CF65 JMP SHORT SuperPIM.0042CFA5******⽆条件跳0042CF67 MOV EAX, EBX0042CF69 CDQ0042CF6A IDIV [ARG.3]0042CF6D MOVSX ECX, CL0042CF70 PUSH 2B0042CF72 MOV ESI, EDX0042CF74 MOVSX EAX, BYTE PTR DS:[ESI+EDI]0042CF78 LEA EAX, DWORD PTR DS:[EAX+ECX-60]0042CF7C CDQ0042CF7D POP ECX0042CF7E IDIV ECX0042CF80 ADD DL, 300042CF83 CMP DL, 390042CF86 MOV BYTE PTR SS:[EBP-14], DL0042CF89 JLE SHORT SuperPIM.0042CF960042CF8B CMP DL, 410042CF8E JGE SHORT SuperPIM.0042CF960042CF90 ADD DL, 0F60042CF93 MOV BYTE PTR SS:[EBP-14], DL0042CF96 PUSH [LOCAL.5]0042CF99 LEA ECX, [LOCAL.4]0042CF9C PUSH ESI0042CF9D CALL SuperPIM.0042CE4B0042CFA2 MOV ESI, [LOCAL.8]0042CFA5 MOV EDI, [LOCAL.4]***************上⾯跳到这⾥!0042CFA8 INC EBX*************************EBX加10042CFA9 CMP EBX, [LOCAL.6]**************⽐较1和140042CFAC JL SuperPIM.0042CF1B***********⼩于就跳,循环,序列号只有15位,这⾥循环20次,取完后⼜从第⼀位取出! ************************************循环结束后得到的值是:K3L2LPBDW1F2H4B8S0UY这就是我们要的注册码!0042CFB2 MOV ECX, [ARG.1]0042CFB5 LEA EAX, [LOCAL.4]0042CFB8 PUSH EAX0042CFB9 CALL SuperPIM.00401F360042CFBE LEA ECX, DWORD PTR DS:[EDI-10]0042CFC1 CALL SuperPIM.00401B5D0042CFC6 MOV ECX, [LOCAL.3]0042CFC9 MOV EAX, [ARG.1]0042CFCC POP EDI0042CFCD POP ESI0042CFCE POP EBX0042CFCF MOV DWORD PTR FS:[0], ECX0042CFD6 LEAVE0042CFD7 RETN写这篇⽂章的⽬的是想说明如何在OD下万能断点,算法过程太烦琐,就不想多跟了!希望能对⼤家有点启发,如果觉得这篇破⽂还⾏帮我顶⼀下吧!也是希望有更多的⼈能看到,对更多的⼈有益,我也是⼀只菜鸟,请⼤家多多指点!。

火狐参数管理文件-user.js教程和使用说明

火狐参数管理文件-user.js教程和使用说明

关于Firefox的技巧的文档:侧边栏视图、缩略图视图、by江3如此多娇//user.js是Firefox参数管理文件,使用方法先参考这个帖子,//100条user.js参数,可在线生成user.js配置文件//合理编辑user.js,管理的好的user.js就是一个管理最方便的工具,写的乱的就头疼了"//"可以使后面一行变为注释,如果哪条参数不确定,用 // 暂时标记为注释就OK了;请务必确认每个参数的格式正确,常见错误:把( )误写成了{ }, 参数 true 或 false 拼写错误, 注释内容前忘记使用//某行出错,该行以后的参数都不会生效, 使用 user.js 时要记得验证最后一个参数是否在 prefs.js 中生效,如未出现,说明前面有有错误行!最简单的使用方法就是保存为user.js ,放到配置文件夹下就OK了;ChromEdit Plus,Notepad++,注意:保存前先转化为UTF-8编码格式,否则中文参数会出现乱码(建议使用Notepad++编辑)有些参数看个人具体情况而定,比如缓存位置、字体、外部编辑器位置//参数目录,首先按照参数目录或者文档文件夹的格式对参数分类//没必要按照字母顺序排序,只需要按照你的逻辑分类就可以了,方便自己查找//不要以为user.js中少些几个注释就能加速Firefox,那纯粹是隔衣瘙痒//在特定版本的参数最好注明,便于自己Ctrl+F查找//比如,某一条参数是针对FF3之前的,你一定要在参数附近注释上FF3-,//再比如,FF18以后的参数用FF18+,//注意:尽管你使用的版本可能越来越高,但是不要删除老版本的参数,这样一份user.js就能给所有版本通用了//每个版本更新都会有新功能加入,新功能可能并未开启,但是给出了参数//我不建议把新功能都开启,特别是HTML5的,FF没升级一个版本都会增加大约1M体积,其中肯定是与HTML5新标准的支持有关//我建议,把除了与性能有关的不常用的功能都关闭,比如地理位置API等//正则表达式/普通表达式的使用●去除布尔参数值true/false与,号之间的空格,用true替换 true,用false替换 false,重复替换几次,直到true/false前面的空格都被替换掉●同上,用,"替换, ",可去除字符串参数与,号之间的空格●或者,用",替换", 就能删除参数与参数值之间的空格了●同上,去除注释//与参数结尾的;之间的空格,用//替换 //,重复几次,直至所有空格被替换掉●同上,去除注释//后面的空格,用//替换// ,重复几次,直至所有空格被替换掉●同上,去除参考这2个字,把参考替换为空值就行了;替换之后可能留下2个并列逗号,把,,替换为,就行了关于Firefox的技巧的文档:侧边栏视图、缩略图视图、●Firefox参数的本质是什么?●为什么Firefox没有UI?我现在感觉不仅是代码工作量大问题,而且很多Bug都与UI有关,●而且,很多设置选项的参数值范围较大,难以设计出比较合适的UI,但用参数很灵活●首先要了解user.js这个文件;其次,了解火狐参数配置(翻译),转移数据到新的配置中(英),从旧的配置文档中恢复重要数据,●?代表“是否”或“多少”,替代具体的参数值●如何使用注册表(或者叫组策略)全局修改参数?扩展:GPO For Firefox,具体使用方法,如何重置参数?●//如何锁定参数设置?●处理user.js时可能会用到正则表达式:正则表达式PDF,正则表达式在线,●如何清理参数垃圾?参考这个帖子:eCleaner、Preferences Cleaner、FFPCleaner,●谋智公司又制作了一款Firefox修复工具,有问题的可以试试:火狐修复工具,这一治疗这些病,●如何备份参数?:OPIE扩展参数备份、FEBE各种备份、FEBE修改版、CLEO用FEBE备份打包到一个XPI文件、●其他与参数相关扩展:Prefsearch、●//具体扩展参数设置,一些扩展,一些插件,●我的一些帖子有些文件最好与配置文件分开,放在一个单独的地方(比如我这样E:\\FFstuff\\ ),下面有其他扩展的数据:MAF MAF文件ScrapBooks 保存的网页快照sesssion store 会话存储textsave 保存文字到txt扩展的数据zotero 数据OfflineCache 脱机文件数据。

OllyDbg完全教程

OllyDbg完全教程

OLLYDBG完全教程(一) (1)OLLYDBG完全教程(二) (7)OLLYDBG完全教程(三) (13)OLLYDBG完全教程(四) (15)OLLYDBG完全教程(五) (19)OLLYDBG完全教程(六) (20)OLLYDBG完全教程(七) (22)OLLYDBG完全教程(八) (25)OLLYDBG完全教程(九) (28)OLLYDBG完全教程(十) (31)OLLYDBG完全教程(十一) (32)OLLYDBG完全教程(十二) (33)OLLYDBG完全教程(十三) (35)OLLYDBG完全教程(十四) (37)OLLYDBG完全教程(十五) (50)OLLYDBG完全教程(十六) (61)OLLYDBG完全教程(一)一,什么是 OllyDbg?OllyDbg 是一种具有可视化界面的 32 位汇编-分析调试器。

它的特别之处在于可以在没有源代码时解决问题,并且可以处理其它编译器无法解决的难题。

Version 1.10 是最终的发布版本。

这个工程已经停止,我不再继续支持这个软件了。

但不用担心:全新打造的 OllyDbg 2.00 不久就会面世!运行环境: OllyDbg 可以以在任何采用奔腾处理器的 Windows 95、98、ME、NT 或是 XP(未经完全测试)操作系统中工作,但我们强烈建议您采用300-MHz以上的奔腾处理器以达到最佳效果。

还有,OllyDbg 是极占内存的,因此如果您需要使用诸如追踪调试[Trace]之类的扩展功能话,建议您最好使用128MB以上的内存。

支持的处理器: OllyD的数据格式,但是不支持SSE2指令集。

bg 支持所有80x86、奔腾、MMX、3DNOW!、Athlon 扩展指令集、SSE指令集以及相关配置:有多达百余个(天呀!)选项用来设置 OllyDbg 的外观和运行。

数据格式: OllyDbg 的数据窗口能够显示的所有数据格式:HEX、ASCII、UNICODE、16/32位有/无符号/HEX整数、32/64/80位浮点数、地址、反汇编(MASM、IDEAL或是HLA)、PE文件头或线程数据块。

使用OllyDbg从零开始Cracking 第三十二章-OEP寻踪

第三十二章-OEP寻踪在上一章中我们提到了OEP(Original EntryPoint)的概念,也就是应用程序原本要执行的第一行代码,OEP %99的情况位于第一个区段中(本章中有一个例子,OEP就不在第一个区段,我是特意举的这个例子,嘿嘿)。

我们知道当到达OEP后,各个区段在内存中的分布跟原始程序很接近,这个时候我们就可以尝试将其转储到(dump)文件中,完成程序的重建工作(PS:脱壳)。

通常脱壳的基本步骤如下:1:寻找OEP2:转储(PS:传说中的dump)3:修复IAT(修复导入表)4:检查目标程序是否存在AntiDump等阻止程序被转储的保护措施,并尝试修复这些问题。

以上是脱壳的经典步骤,可能具体到不同的壳的话会有细微的差别。

本章我们主要介绍定位OEP的方法。

很多时候我们遇到的壳会想方设法的隐藏原程序的OEP,要定位OEP的话就需要我们尝试各种各样的方法了。

首先我们来看看上一章CRACKME UPX,然后再来看其他的壳。

1)搜索JMP或者CALL指令的机器码(即一步直达法,只适用于少数壳,包括UPX,ASPACK壳)对于一些简单的壳可以用这种方式来定位OEP,但是对于像AsProtect这类强壳(PS:AsProtect在04年算是强壳了,嘿嘿)就不适用了,我们可以直接搜索长跳转JMP(0E9)或者CALL(0E8)这类长转移的机器码,一般情况下(理想情况)壳在解密完原程序各个区段以后,需要一个长JMP或者CALL跳转到原程序代码段中的OEP处开始执行原程序代码。

下面我们将上一章中加了UPX壳的那个CrueHead的CrackMe加载到OD中:这里我们按CTRL+B组合键搜索一下JMP的机器码E9,看看有没有这样一个JMP跳转到原程序的代码段。

多按几次CTRL+L。

搜索到了几处,但都不是跳往第一个区段的,直到定位到如下位置:这个JMP是跳转到第一个区段的,我们在这条指令处设置一个断点,断在这里时,我们按F7键就可以单步跳转到OEP处。

PLATO应用安装支持文件说明书

ANNEXURE-4 Release 14.4.0.0.0 Part No. F31303-01[May][2020]Table of Contents1.ANNEXURE-4 ................................................................................................................................................. 1-1 1.1I NTRODUCTION ......................................................................................................................................... 1-1 1.2H OW TO DO M ULTI N ODE SETUP (H IGH A VAILABILITY A RCHITECTURE) ................................................. 1-11.2.1Configuration Server Related Changes: ............................................................................................... 1-11.2.2Plato UI Configuration Server Related Changes: ................................................................................ 1-21.2.3setDomainEnv.sh related changes: ...................................................................................................... 1-21.2.4Requirement of Load Balancers: ......................................................................................................... 1-3 1.3PLATO LOAD BALANCER SERVICES ............................................................................................... 1-31.3.1Introduction.......................................................................................................................................... 1-31.3.2Configuration and Deployment ............................................................................................................ 1-4 1.4NGINX LOAD BALANCER SERVICES ............................................................................................... 1-41.4.1Installation and Setup........................................................................................................................... 1-51.4.2Load Balancer Route Configurations ................................................................................................... 1-71. ANNEXURE-4 1.1 IntroductionThis guide is a supporting document, while installing PLATO applications. You can find thereference in the respective installation guides.1.2 How to do Multi Node setup (High AvailabilityArchitecture)1.2.1 Configuration Server Related Changes:The below changes are to be made in the PROPERTIES table pointed to by the ConfigurationServer:For the Discovery Server:PLATO Discovery Service should have an entry for its entire peer PLATO Discovery Servicesconfigured through eureka.client.serviceUrl.defaultZone. This will hold a comma-separatedlist of all the peer PLATO Discovery services.In addition, to enable the peer aware mode for the PLATO Discovery Service we should setthe eureka.client.register-with-eureka to true.∙For the Individual Services:Each service should have an entry of all the PLATO Discovery Services configured througheureka.client.serviceUrl.defaultZone. This will hold a comma separated list of all thePLATO Discovery services.1.2.2 Plato UI Configuration Server Related Changes:For each of the product registered in PRODUCT_SERVICES_ENV_LEDGER, we need tochange the URL to point to the Load Balancer of the PLATO API Gateway Service.1.2.3 setDomainEnv.sh related changes:∙For all the Micro Services:Individual MICRO services should now access the PLATO Config Service via the LoadBalancer URI (i.e). configured in the server runtime through the propertyplato.services.config.uri.The plato.services.config.uri must point to the URI of the load balancer. The format of thesame would be as follows:-Dplato.services.config.uri=http://<< IP OF THE LOAD BALANCER>>:<< PORT OF THE LOAD BALANCER >>∙For the UI APPSHELL:UI APPShell should now access the Gateway Service via the Load balancer URI (i.e.)configured in the server runtime. For example, Dapigateway.url.The apigateway.url must point to the host and port of the load balancer. The format of thesame would be as follows:-Dapigateway.url=http://<< IP OF THE LOAD BALANCER >>:<< PORT OFTHE LOAD BALANCER >>1.2.4 Requirement of Load Balancers:Load Balancers are required for PLATO API GATEWAY Service, PLATO Configuration Service, and PLATO UI APP SHELL.1.2.4.1 PLATO API Gateway Service:PLATO API Gateway Service acts as a single point of entry for UI and External Systems toaccess the underlying services. In a multi node deployment where multiple PLATO API Gateway Services are deployed, we would need a single URI for accessing the multi node deployments of the PLATO API Gateway Services. This Load Balancer would help us to achieve thatfunctionality.1.2.4.2 PLATO Configuration Service:All the domain services access PLATO Configuration Service for retrieving their configurations. Ina multi node deployment where multiple PLATO Configuration Services are deployed, we wouldneed a single URI for accessing the multi node deployments of the PLATO ConfigurationServices. This Load Balancer would help us to achieve that functionality.1.2.4.3 PLATO UI APP SHELL:The PLATO UI App Shell acts as the single user interface for the users. In a multi nodedeployment where multiple instances of PLATO UI APP SHELL are deployed, we would need a single URI for accessing the multi node deployments of the PLATO UI APP SHELL. This LoadBalancer would help us to achieve that functionality.1.3 PLATO LOAD BALANCER SERVICESThis section contains the following sub-sections:∙Introduction∙Configuration and Deployment1.3.1 IntroductionPlato Load Balancer Services can be used as an optional Load Balancer for a service whenrequired. It is available as a WAR file and the configuration can be done directly inside the WAR file.1.3.2 Configuration and Deployment1. Open the WAR file using extraction tools and open the web.xml file. The web.xml file isas shown below:<?xml version="1.0"encoding="UTF-8"?><web-app xmlns:wls="/weblogic/weblogic-web-app"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/weblogic/weblogic-web-app"><servlet><servlet-name>HttpClusterServlet</servlet-name><servlet-class>weblogic.servlet.proxy.HttpClusterServlet</servlet-class><init-param><param-name>WebLogicCluster</param-name><param-value>HOST_1:PORT_1|HOST_2:PORT_2|HOST_3:PORT_3</param-value></init-param></servlet><servlet-mapping><servlet-name>HttpClusterServlet</servlet-name>2. Edit the HOST:PORT in the web.xml file. The host and port values must be addedaccording to the requirement.3. After editing the web.xml file, the WAR file can be deployed directly into the managedserver. The HOST:PORT of the plato-load-balancer-services would act as the loadbalancer URL for the mentioned HOST:PORT values in the web.xml file.1.4 NGINX LOAD BALANCER SERVICESThis section contains the following sub-sections:∙Installation and Setup∙Load Balancer Route Configurations1.4.1 Installation and Setup1.4.1.1 Download1. Download the tar file from /download/ Index list.2. Extract the tar file using tar -xvf command1.4.1.2 Installation1. You can choose installation location using --prefix=path parameter.2. You can find ./configure file in the extracted folder above. For installation follow the belowprocedure.3. Inside the extarcted folder, run the following commands one after other./configure --prefix=/scratch/nginx --with-http_ssl_modulemake4. You can find the nginx installed at /scratch/nginx.1.4.1.3 Start and Stop Procedure1. Inside the installed directory, we can find sbin folder. Run ./nginx file inside sbin folder tostart nginx.2. Write ./nginx -s stop command in order to stop nginx.1.4.1.4 Configuration:The configuration is done in the nginx.conf file inside the conf directory.1. For Load Balancing, create and upstream and place the URLs to be routed.upstream config{server 10.184.155.115:7004;server 10.184.148.116:7004;}upstream gateway{server 10.184.155.115:7005;Here there are two load balancers defined. Default load balancing technique: Round RobinThis block must be placed inside the http block.2. Configure the Server block. It is also placed inside the http block. The server block is used forrouting purposes.server {listen 8090;server_name _;location / {proxy_pass http://config;}location /api {rewrite /api/(.*) /$1 break;proxy_pass http://gateway;}error_page 500 502 503 504 /50x.html;location = /50x.html {Here 8090 acts as the listen port for nginx.The server_name property should be given if the requests are from a particular server. Here Server accepts requests from any server.The proxy_pass is used to route the request and the format of the request is defined in the location tag.The rewrite tag is used to manipulate the requests.NOTE: Make sure the firewall is open for other IPs to pass the request.1.4.2 Load Balancer Route ConfigurationsThe below configurations gives the route configurations for the load balancer:NOTE: The underlying syntax and semantics may vary from load balancer to load balancer.upstream config-service{server << IP Or Hostname of the PLATO ConfigurationService 1 >>:<< Port of the PLATO Configuration Service 1 >>;server << IP Or Hostname of the PLATO ConfigurationService 2 >>:<< Port of the PLATO Configuration Service 2 >>;server << IP Or Hostname of the PLATO ConfigurationService 3 >>:<< Port of the PLATO Configuration Service 3 >>;server << IP Or Hostname of the PLATO ConfigurationService N >>:<< Port of the PLATO Configuration Service N >>;}upstream api-gateway{server << IP Or Hostname of the PLATO API Gateway Service1 >>:<<Port of the PLATO API Gateway Service 1 >>;server << IP Or Hostname of the PLATO API Gateway Service2 >>:<<Port of the PLATO API Gateway Service 2 >>;server << IP Or Hostname of the PLATO API Gateway Service3 >>:<<Port of the PLATO API Gateway Service 3 >>;.upstream <<Context Root of the PLATO UI APP Shell>> {server << IP Or Hostname of the PLATO UI APP Shell 1 >>:<< Port of the PLATO Configuration Service 1 >>;server << IP Or Hostname of the PLATO UI APP Shell 2 >>:<< Port of the PLATO UI APP Shell 2 >>;server << IP Or Hostname of the PLATO UI APP Shell 3 >>:<< Port of the PLATO UI APP Shell 3 >>;..server << IP Or Hostname of the PLATO UI APP Shell N >>:<< Port of the PLATO UI APP Shell N >>;}server {listen << PORT OF THE LOAD BALANCER >>;server_name _;location /config-service {proxy_pass http://config-service;}location /api-gateway {proxy_pass http://api-gateway;}ANNEXURE-4[May] [2020]Version 14.4.0.0.0Oracle Financial Services Software LimitedOracle ParkOff Western Express HighwayGoregaon (East)Mumbai, Maharashtra 400 063IndiaWorldwide Inquiries:Phone: +91 22 6718 3000Fax: +91 22 6718 3001https:///industries/financial-services/index.htmlCopyright © [2018], [2020], Oracle and/or its affiliates. All rights reserved.Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate failsafe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.This software or hardware and documentation may provide access to or information on content, products and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.。

戴妃菜鸟受之以渔非鱼详解教程

戴妃菜鸟受之以渔非鱼详解教程[indent]一讲:android专有名词介绍不明白的进来1. 固件…………操作系统所谓的固件就是将操作系统固定在手机中的一个固定的位置(硬件上),平时不随意改动,活动的数据另外单独放一边。

这样做的目的在于保护内层的系统程序不受文件操作的影响,提高了稳定性。

但相对的,如果想要升级系统,就必然涉及对固件的读写更新工作。

谷歌的Android系统就被写入在了固件中,即使想要查看也要专门的软件和权限。

2. 刷固件…………安装(or 重装)操作系统正是因为固件固定的原因,在我们想要更新系统的时候。

就需要将原固件的文件删掉,将新的文件拷进去。

于是就有了刷固件这么一回事。

就像Windows安装系统一样,把安装盘放进去就可以直接安装。

A系统毕竟还没满一岁(从开始用算),还没有什么直接安装系统的软件。

(以后肯定有!)所以让我们自己动手安装吧。

3. ROM(包)…………系统的安装盘这个东西就是A系统的打包。

我们刷机的时候就是将这个东西刷进固件的。

当然,由于A系统的开源性质,我们可以自由的改动这个包。

涉及高端知识。

回避这个问题。

像经常提到的RC XX,G2 Rom,还有x.x.x的之类的东西,都是指的包的版本。

就是被改动成各式各样的包。

4. 固件版本由于是谷歌公司在专门开发这个系统,官方放出的话必然是所有G友手机升级的风向标。

固件版本就是官方制定的基础系统,所有的改包都会从官方的包开始改。

所以官方的一次升级必然会影响整个手机系统的使用情况。

就像现在大家都在用XP,微软放出了一个补丁包,于是大家都去升级了。

目前RC33的固件版本是1.4。

(有G友指出这个版本是1.1。

没有仔细研究)但Cupcake和G2ROM都是1.5的固件版本,有了很大的更新。

5. ROOTRoot是一个你使用系统的权限,是最高的,有了root权限就可以更改内部系统的文件了。

为了防止软件更改系统文件(病毒?),A系统隐藏了root权限,也就是一般情况下不能修改系统文件。

综合英语教程(第三版)5电子教案unit3part2


5 The men who had worked on haciendas knew of these matters. We heard snatches of firsthand reports from them but mostly we learned from Don Catarino, Jose, Don Cleofas, and the muleteers who passed through Jalco. Whoever had been there came back cursing it. The riding boss was the Devil on horseback; in the company store every centavo you earned was taken back by a clerk who kept numbers in a book that proved you always owed him something. If a peon left the hacienda before his contract was over and his debts were paid, he became a fugitive. He either returned to his pueblo, his compadres and his milpa in some far-off place in the mountains, or he scratched for a living, lost in the forest.
Suggested points
ቤተ መጻሕፍቲ ባይዱ
Comprehension questions
• When making a living on the mountains, the boys learned to work for themselves or for their families. When working on a hacienda they worked for someone else and were ruthlessly exploited.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CLEO通常用Sanny Builder 3(一下简称SB)来制作,当然,用ViceBuilder(简 称VB)也是可以的,不过VB只能制作VC的CLEO,而SB可以制作GTA3,GTA VC,GTA SA(目前GTA4和GTA4 LCS VCS还没有CLEO)的CLEO,总的来说, 还是SB好用
在说CLEO的工作原理之前,我们得说说MIAN.scm的工作原理。 大家都知道,计算机的内存(RAO)是分区的。而在载入游戏 或开始新游戏时被载入到内存0x821280处,这个区域的大小为 225512字节,所以必须保证主要部分小于这个大小。 而CLEO线程和普通的线程稍有不同,CLEO线程的代码会载入 到堆上分配的空间中。安装了CLEO以后,在载入SCM时会搜索 CLEO\下的所有*.cs,*.s,*.cm文件,并载入到游戏中。CLEO 的线程结构比普通的线程结构要多出几个变量,其中偏移0x98 的变量存放了CLEO代码在内存中的位置。
0222: set_player $PLAYER_CHAR health_to 100 \\把$PLAYER_CHAR的血变成100
Jump @GA_0
\\跳到GA_0

严格来讲,这个CLEO并没有让主角血无限,而只是每毫秒刷新一次
CLEO是应用于单机游戏《侠盗猎车手》的一款插件,它使修 改游戏剧情变为可能
Q:既然可以直接修改游戏的剧情文件(main.scm),那为什么还要弄 cleo呢? A:修改剧情文件后要重新开始游戏,旧的存档无法使用 剧情文件大(2.26MB),而cleo小(通常小于5KB),存放和使用 方便 CLEO提供了修改内存功能,而修改剧情文件却无法做到
这里举一个很简单的例子,这个CLEO的作用是让主角血无限
{$CLEO . CS } :GA_0 Wait 0 \\这是要SB把东西编译成*.CS文件的语句 \\这是一个标签 \\等待时间0毫秒
If
\\如果
Player.Defined($PLAYER_CHAR) \\ $PLAYER_CHAR(这里指玩家)能被操控 jf @GA_0 \\如果不满足,就跳到GA_0
相关文档
最新文档