Developer forums (C::B DEVELOPMENT STRICTLY!) > Plugins development
oBFusCATed - gdbmi plugin query
AndrewCot:
Has anyone done any work or played with oBFusCATed gdbmi plugin in the last say 2 years? If you have does it compile against the latest C::B sources?
The existing source does not build due to C::B SDK a number of years ago (I think it may be 6 years, but I could be totally wrong). I have it building and loading, but not working. I have been looking at it on and off for the last 4 months.
ollydbg:
I haven't build his gdb-mi plugin recent years. But I did build and use it before.
Basic debugging feature should work OK.
AndrewCot:
I have forked the code and got it building and running with the C::B SVN code. There were a few changes due to SDK updates and a mod to the GDB breakpoint address decoding to support 64 bit address space.
The code is currently available from https://github.com/acotty/cb_gdbmi , but be aware that the plugin functionality has not changed so it is not complete.
AndrewCot:
Updated the logging and add extra logging, so the logging in the version from this afternoon (Oz time) is a heck of allot better.
How did the devs who cloned it go with playing with it? Please raise issues or PR's or add as an issue extra testes that I have not included in the readme.md file so I can make sure all of the tests pass before finishing working on the code.
BTW: Instead of cloning the repo you are better forking the repo and then cloning it.
This post is up for the last commit on 24MAR2022.
AndrewCot:
I have started fixing bugs I come across by using the small test source code below.
I can do the following:1. set breakpoints
2. run to the first breakpoint3. Continue to the next breakpoint4. step to the next line
5. watch cTest
6. Expand the cTest in the watch window. Fixed a bug that limited the size to 100 in the original code
7. cTest updates between breakpoints or stepping to the next line is working. Fixed a bug that would stop updates after the 9th item.
--- Code: ---#include <stdio.h>#include <cstring>
using namespace std;
int main()
{
char cTest[300];
memset(cTest, 0x00, 300);
// 00000000001111111111
// 01234567890123456789
strcat(cTest, "This is a char array");
strcat(cTest, "This is a char array");
strcat(cTest, "This is a char array");
strcat(cTest, "This is a char array");
strcat(cTest, "This is a char array");
strcat(cTest, "This is a char array");
strcat(cTest, "This is a char array");
strcat(cTest, "This is a char array");
strcat(cTest, "This is a char array");
strcat(cTest, "END END END END END ");
printf("Hello world!\n");
printf("Array: \n%s", cTest);
getchar();
return 0;
}
--- End code ---
I am slowly making progress. If you cloned the repo or download the source zip over the last few days then I would advise updating your code as the code works allot better now and will continue to improve, so check the git repo for changes every few days.
Navigation
[0] Message Index
[#] Next page
Go to full version