|
新问题,劳请高手帮我解答一下!看问题先!
楼主可以看下《加密与解密第三版》 P174页的那个算法介绍。 问下 01267578331 是不是少了一位。 这个应该是对称算法。 发这个帖子之前,请楼主搜索下论坛,你会发现这种问题每月都会有一两个的。别人早已作出回答。 |
|
ReadProcessMemory读取失败
那就不清楚了。 另: char addr[5]; int i; i= sizeof(addr[5]); 结果i=1 所以楼主sizeof(addr)这个最好改正下。 我第一次见这样用,以前都是sizeof(byte/word/dword/Uint64) if(ReadProcessMemory(hProcess,(LPCVOID)0x1005340,&addr,sizeof(addr),&nbWritten )) printf("读取成功\n");... 红色标记没用。你确定每次加载都加载到0x1005340? 对这个不太懂。说错勿怪。 |
|
ReadProcessMemory读取失败
定义一个局部变量 nbWritten DD 0 后面调用 if(ReadProcessMemory(hProcess,(LPCVOID)0x1005340,&addr,sizeof(addr),&nbWritten )) printf("读取成功\n"); 你尝试下。 |
|
ReadProcessMemory读取失败
if(ReadProcessMemory(hProcess,(LPCVOID)0x1005340,&addr,sizeof(addr),0)) printf("读取成功\n"); 刚查看了下 BOOL ReadProcessMemory( HANDLE hProcess, PVOID pvAddressRemote, PVOID pvBufferLocal, DWORD dwSize, PDWORD pdwNumBytesRead) 楼主注意观察第5个参数。 你用 0 意思是让系统把读取的数据个数(这里是1)赋值到 内存地址为0的地方 |
|
IAT加密中遇到的诡异问题
回S大,写 mov al,byte ptr [Nmuber] 的时候我已经考虑到你说的问题了,我最终版本的时候肯定是 只读取 内存数据 到寄存器或寄存器 操作,然后只对 寄存器和堆栈 操作而不再改变内存了。 我之所以在30楼没这样说,是不想改变我第一种方法的本意。呵呵,不过还是感谢提醒 补充: ThreadA: 执行完 mov al,byte ptr [Nmuber] 时 仔细想下,如果这种几率发生了,那也不一定会出错;还要看那个[API]的内容是不是假值,万一再次撞上了,那就出错了。 另:我为什么不太想用堆栈方式也是因为我要弄个64位加壳软件版本,64位PE文件的运行过程中,改变堆栈 相对32位而言 是个相当容易出错的操作(特别是调用系统API的时候)---->64位程序调用系统API我还没有完全搞清楚,所以想详尽了解32位IAT加密的所有能引发BUG问题。 目前这些都是基本的IAT加密代码,更YD的方式我也会,可惜堆栈我要谨慎使用。真正有用的转换执行代码尽量用 寄存器赋值的方式搞。 |
|
[求助]IAT加密诡异出错问题,实在想不出原因了
已经解决,感谢S大等 耐心帮我等菜鸟分析问题 的Cracker. |
|
IAT加密中遇到的诡异问题
万分感谢S大。明白了点,确实.......... 怪不得多是图形界面的程序出现错误。 附带我程序中遇到的另一个问题也得到解答,S大果然强大。佩服! 附,我的解决思路----针对第一种方法: 原方案: xor [api],xxxxxxxx nop nop nop nop push api xor [api],xxxxxxxx ret api <——存储地址 新的方案: push ebx xor eax,eax mov al,byte ptr [Nmuber] inc byte ptr [Nmuber] imul eax,4h mov ebx,[api0] mov [api0+eax],ebx pop ebx xor [api0+eax],xxxxxxxx push [api0+eax] xor [api0+eax],xxxxxxxx cmp byte ptr[Number],8h jnz Over mov byte ptr[Number],1h Over: ret Number<----计数器,初值为 01 api0 <——存储地址api0 : yyyyyyyy DB 20h dup(?) 这个方案有问题吗,请S大再次指教。 按照上面的,改写代码后,测试了下.上面的代码是可以解决关于CPUZ的IAT加密BUG的。 鞠躬,送分,结贴。 |
|
[求助]求助,大侠,有没有以命令方式运行的加壳软件,用在程序中调用!
有,我在写的一个垃圾加壳软件就有这个功能。貌似比较简单,这部分代码别人帮我搞的。 |
|
IAT加密中遇到的诡异问题
感谢S大,有Kx人啊! Thread 同步问题,对这个我很是不懂(就在大学课本上了解点),我最开始写的时候,中间4个nop是没有的。执行时间相当短了。 如果是这个问题,那第三种方法为什么就不会 中途被另一个 Thread 跑进来了 再次感谢, “同步”确实比“Virtualalloc所申请内存出问题了”更有说服力。 PS:由于是新手,不追求加壳强度有多大,想先把所有出问题的地方弄明白,以后才不会更浪费时间来找这些BUG。 |
|
现在貌似VM无敌了吧,脱壳已经无意义了
看的我绝望,现在搞破解是脑力活又是体力活,一直做下去,身体估计顶不住。 |
|
|
|
|
|
谁能帮我找到这个密码啊
显示“错误:没有检测到加密狗”。用OD跟踪,一堆看不懂的API函数调用,要用IDA看吧,可惜IDA我不会用。 这个文件有加壳,这个壳用到“加密狗技术(该技术我不懂,随口一说,勿怪)”?跟ASP等壳很不一样,感觉这个壳重点是“防盗版”,起到 注册码 的作用。 PS:怀疑楼主说的话有不实的地方,请详细解释一下。 |
|
请问:怎么看出4084C0h这个地址,在.data区块中?附.data信息
刚看见,晕了,比33.33%那个牛B许多。然后论坛ID起的也忒那个点,莫非现在还在玩传奇? |
|
请问:怎么看出4084C0h这个地址,在.data区块中?附.data信息
32位EXE文件基地址95%以上的情况下是400000,除非编译的时候指定基地址。 可以看下可选映像头的ImageBase和BaseOfCode就完全可以确定是不是400000。 |
|
|
|
IAT加密中遇到的诡异问题
我在弄代码,马上放出壳源代码,加壳前的EXE文件。由于《解密与解密第三版》第16章的加壳源码有1个错误1个BUG,我已经把IAT加密代码添加完成,正在确认哪里出现问题,稍等。 |
|
IAT加密中遇到的诡异问题
写入内存后,用VirtualProtect修改其属性为只读试试? 这样肯定不行,因为我申请的内存空间里面有数据有代码还要修改自身(或读取自身),所以属性必须设置为可读可写可执行,就是READWRITE. |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值