|
|
|
[下载]x64dbg Plugins 20200110带测试说明
感谢整理!请问楼主,EasyLabelView退出异常怎么处理? |
|
[下载] AheadLib修改 支持x64支持类/命名空间
yeyeshun 不好意思,论坛的登陆机制有问题,显示登陆状态其实没有登陆,我是今天发现应该收到短消息的然而没提示于是点进去看,才发现一直是未登录状态。 这个我用代码暂时无法精确判断出来,手动加入一个空类的定义吧: ...加了空类后,可以编译成功。但生成的DLL输出函数名中有一个与原DLL不一样。不知什么原因 原函数名为:?getLogDirectory@logging@ecg@@YA?AVQDir@@XZ 新生成的DLL函数为:?getLogDirectory@logging@ecg@@YA?AVQDir@12@XZ
最后于 2018-7-15 23:29
被csjwaman编辑
,原因:
|
|
[下载] AheadLib修改 支持x64支持类/命名空间
yeyeshun 是x64的是吗?需要把与cpp一起生成的一个obj文件添加到你的工程里一起编译x64编译时貌似多出一个类,无法正常编译。请楼主再看看! |
|
[原创][2011.01 更新SDI版本]2010的留念 [开源] 发个最近写的Pe工具~
感谢楼主提供好工具和源码。现就基于对话框的程序功能上作一完善: 1.添加了拖拽功能,只需将PE文件直接拖到窗口即可加载,方便操作; 2.添加了编辑框鼠标滚动功能; 3.添加了选定PE头后编辑框自动跟随功能; 4.修复了拉动滚动条超过0x8000行就显示错误地址的BUG。 |
|
[下载] AheadLib修改 支持x64支持类/命名空间
完善了一下: //if (pInh->OptionalHeader.FileAlignment == pInh->OptionalHeader.SectionAlignment) //判断文件块对齐与节对齐是否相同 if (pIsh->PointerToRawData == 0|| (pIsh)->SizeOfRawData == 0) //判断>PointerToRawData 和 SizeOfRawData 是否为0 这样可能兼容更多加了壳的DLL。 |
|
[下载] AheadLib修改 支持x64支持类/命名空间
yeyeshun 看到了,效果非常牛逼。那么会不会对其他正常的东西产生影响?比如一些变量什么的对函数功能不会产生影响。如果原函数本身不能处理变量,那么这个函数也无法处理。 |
|
[下载] AheadLib修改 支持x64支持类/命名空间
yeyeshun 加了这个判断之后是否对于加壳dll有效?基于什么原理?能不能把函数修改前后,分别对加壳dll生成的文件发来看一下,因为我对这方面的东西也不是特别清楚,如果对照生成结果的话,或许能更容易理解。我就是用VC6编译的。 |
|
[下载] AheadLib修改 支持x64支持类/命名空间
yeyeshun 涉及到编译器版本我就无能为力了。不过vc6确实太老了,很多东西都不一样的了。似乎std库和MFC库的一些实现上都有很大的改变。加了壳一般对齐粒度会相同,区段中物理地址和数据长度会被清零,但内存地址和内存数据长度一般不能清零。
最后于 2018-3-5 15:21
被csjwaman编辑
,原因:
|
|
[下载] AheadLib修改 支持x64支持类/命名空间
我编译了一下,貌似没有问题呀 |
|
[下载] AheadLib修改 支持x64支持类/命名空间
yeyeshun 这个主要是这么个用途,变量是必须直接转发的,否则中转dll的变量在一个地址,原始dll的变量在一个地址,运行期间肯定会出问题的。所以必须加上一个判断是否变量的函数。但是方法也许不是很好,现在的判断是要 ...将这个函数修改了一下,不知这样是否正确,请楼主指教: BOOL WINAPI CAheadLib::IsFunction(const PIMAGE_NT_HEADERS pInh, DWORD dwRva) //判断函数 { INT i; PIMAGE_SECTION_HEADER pIsh; pIsh = (PIMAGE_SECTION_HEADER)((PBYTE)pInh + sizeof(IMAGE_NT_HEADERS)); if (pInh->OptionalHeader.FileAlignment == pInh->OptionalHeader.SectionAlignment) //判断文件块对齐与节对齐是否相同 { for (i = 0; i < pInh->FileHeader.NumberOfSections; i++, pIsh++) { if (dwRva >= (pIsh->VirtualAddress)) { if (((pIsh)->VirtualAddress) + pIsh->Misc.VirtualSize > dwRva) { if ((pIsh->Characteristics & IMAGE_SCN_MEM_EXECUTE)) { return dwRva; } else { return 0; } } } } return 0; }else{ for (i = 0; i < pInh->FileHeader.NumberOfSections; i++, pIsh++) { if (dwRva >= (pIsh->VirtualAddress)) { if (((pIsh->VirtualAddress) + (pIsh->SizeOfRawData)) > dwRva) { if ((pIsh->Characteristics & IMAGE_SCN_MEM_EXECUTE)) { return dwRva - pIsh->VirtualAddress + pIsh->PointerToRawData; } else { return 0; } } } } return 0; } }
最后于 2018-3-4 10:49
被csjwaman编辑
,原因:
|
|
[下载] AheadLib修改 支持x64支持类/命名空间
yeyeshun 这个也是个人能力有限导致的bug,因为没有考虑到会有那么多形式的函数声明,遇到生成错误甚至程序崩溃基本都是类似的解析错误引起的,你们提交的样本都提供了很大的帮助,非常感谢!最后需要手动修复的部分,确实 ...貌似加上这个 IsFunction(pInh, pdwFunctions[i]) ? 0 : 1,反而会造成加壳DLL无法正常反编译。屏蔽后能正常反编译。 |
|
[下载] AheadLib修改 支持x64支持类/命名空间
yeyeshun csjwaman 新版貌似对这个DLL编译不了:( 尴尬了,一个低级错误。最近一直在搞64位dll的导出测试,结果32位的有一个WIN64宏范围不对,留 ...现在的版本还是不能“即时调用函数”,2月7日的反而可以,而且功能正常。 |
|
|
|
[下载] AheadLib修改 支持x64支持类/命名空间
yeyeshun 谬赞了,谢谢。 也非常感谢各位帮忙测试,如果是到后面我自己在使用过程中才测试出来,代码早就忘光了改起来就非常麻烦了,谢谢大家了!新版貌似对这个DLL编译不了:( |
|
[下载] AheadLib修改 支持x64支持类/命名空间
yeyeshun 这个说来话长。。中间修复的代码使用了更通用的一种方式去识别数据与函数,然后随便在本机找了一个AdbWinApi.dll能通过我就直接发布了。 今天重新下载了楼上附件的AdbWinApi.dll,发现 ...楼主的敬业精神值得敬佩,赞一个! |
|
[下载] AheadLib修改 支持x64支持类/命名空间
yeyeshun 你试试新版本吧,这个我之前的代码没处理好,这个虚函数表识别错误,新版本应该没有这个错误了新版仍然 ALCPP const `vftable'错误:() |
|
[下载] AheadLib修改 支持x64支持类/命名空间
貌似单引号错了: namespace AdbObjectHandle { ALCPP const `vftable' { __asm JMP pfn___7AdbObjectHandle__6B_; } } |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值